7.8 KiB
GroundRecall Repo Bootstrap Checklist
This document turns the broader groundrecall-migration-plan.md into a practical checklist for creating a standalone GroundRecall repository.
The goal here is narrower than full feature completion. The goal is to get to a standalone repository that can be installed, run locally, and used for real llmwiki++-style work without requiring Didactopus as the primary shell.
Bootstrap Goal
Minimum viable standalone GroundRecall repo:
- installable as its own Python package
- exposes a first-class
groundrecallCLI - imports and normalizes knowledge sources
- promotes reviewed knowledge into a canonical store
- supports query and export over promoted state
- supports assistant-neutral exports plus adapter exports
- remains consumable by
Didactopusas a dependency or sibling package
This is enough for a local standalone alpha. It is not yet the full distributed team and corpus-scale vision.
What Already Exists
The current Didactopus codebase already contains most of the implementation spine:
didactopus.groundrecall.ingestdidactopus.groundrecall.source_adapters.*didactopus.groundrecall.modelsdidactopus.groundrecall.storedidactopus.groundrecall.promotiondidactopus.groundrecall.querydidactopus.groundrecall.exportdidactopus.groundrecall.assistant_exportdidactopus.groundrecall.assistants.*didactopus.groundrecall.inspectdidactopus.groundrecall.cli
This means the repo bootstrap is primarily a packaging and boundary exercise, not a greenfield implementation.
Target Repo Shape
Suggested standalone layout:
groundrecall/
pyproject.toml
README.md
LICENSE
src/
groundrecall/
__init__.py
cli.py
ingest.py
inspect.py
lint.py
models.py
store.py
promotion.py
query.py
export.py
assistant_export.py
review_queue.py
review_bridge.py
source_adapters/
assistants/
tests/
docs/
quickstart.md
llmwiki-import.md
deployment-modes.md
assistant-architecture.md
sync-roadmap.md
Notes:
review_bridge.pymay remain optional if the standalone repo only needs generic review artifacts.review_queue.pybelongs inGroundRecall; it is not a learner-only concern.review_bridge.pyis the most likely file to stay transitional if it depends too directly on Didactopus review objects.
Move / Keep / Bridge
Move into standalone GroundRecall
Move first:
didactopus.groundrecall.ingestdidactopus.groundrecall.inspectdidactopus.groundrecall.lintdidactopus.groundrecall.modelsdidactopus.groundrecall.storedidactopus.groundrecall.promotiondidactopus.groundrecall.querydidactopus.groundrecall.exportdidactopus.groundrecall.assistant_exportdidactopus.groundrecall.review_queuedidactopus.groundrecall.source_adapters.*didactopus.groundrecall.assistants.*didactopus.groundrecall.cli
Keep in Didactopus
These should not move:
- learner session and mentor/practice flows
- educational pack authoring and pack-specific UX
- mastery/evidence learner experiences
- provider demos that exist to support Didactopus learner workflows
Keep as temporary bridges
These may need a staged treatment:
groundrecall_review_bridgedidactopus_packsource adapter
Those are useful during transition, but they are cross-boundary integrations, not proof that GroundRecall must remain inside Didactopus.
Bootstrap Checklist
1. Create the new repo skeleton
Required:
- create a new repo root
- add
pyproject.toml - add
src/groundrecall/ - add
tests/ - add
docs/ - add a minimal
README.md - add
LICENSE
Definition of done:
pip install -e .workspython -m groundrecall.cli --helpworks
2. Move the package code
Required:
- copy the current
didactopus.groundrecall.*package intosrc/groundrecall/ - update relative imports as needed
- remove
didactopus-prefixed assumptions in docstrings and parser help text
Definition of done:
- module imports succeed under
groundrecall.* - no package file requires
didactopusimports except explicit transition bridges
3. Extract the tests
Required:
- move GroundRecall-focused tests into the new repo
- keep Didactopus integration tests in Didactopus
- add an end-to-end CLI smoke test that runs:
importpromotequeryexportinspect
Definition of done:
- the new repo has its own passing test suite
- Didactopus retains only integration tests that prove interoperability
4. Harden the standalone CLI
Required commands:
groundrecall importgroundrecall lintgroundrecall promotegroundrecall querygroundrecall exportgroundrecall inspect
Recommended additions:
groundrecall assistant-exportgroundrecall review-queue
Definition of done:
- the CLI help text is standalone and does not refer users back to
Didactopus
5. Publish a repo-local data layout
Pick and document a stable layout such as:
.groundrecall/
imports/
store/
exports/
events/
Required:
- make these paths configurable
- define sane defaults
- remove assumptions that the caller already knows the Didactopus workspace layout
Definition of done:
- a new user can run GroundRecall in an empty directory and get predictable local state
6. Document the standalone workflows
At minimum:
- quickstart
- migrate from
llmwiki - query and export patterns
- assistant adapter exports
- relationship to
Didactopus - relationship to
GenieHive
Definition of done:
- the README can orient a new user without requiring Didactopus-specific context
7. Leave compatibility shims in Didactopus
Required:
- keep thin wrappers at
didactopus.groundrecall_*ordidactopus.groundrecall.*integration paths as needed - make
Didactopusimport the extracted package where possible - clearly mark the wrappers as compatibility paths
Definition of done:
- existing Didactopus workflows do not break during the split
Alpha Completion Criteria
The standalone repo is alpha-ready when:
llmwikiimport worksmarkdown_notesimport works- at least one Didactopus-native adapter still works as an integration adapter
- canonical store creation and snapshot export work
- query works over promoted objects
- assistant-neutral export works
- at least two assistant adapters export usable bundles
This is the right threshold for “functional GroundRecall repo.”
Still Missing After Alpha
A standalone alpha is not yet the full target system. These remain post-bootstrap priorities:
- re-import and update semantics
- append-only event logs for multi-node merge
- shared/private scope support
- merge and sync conflict handling
- stronger claim extraction
- richer claim-level review and adjudication
- corpus-scale distributed coordination
Those features should be built in GroundRecall, but they do not need to block repo extraction.
Recommended Execution Order
Use this order:
- create the repo and package skeleton
- copy the current
groundrecallpackage and make imports pass - move tests and get the standalone suite green
- finalize CLI and README
- switch Didactopus integration points to consume the extracted package
- only then continue with sync/merge and corpus-scale features
This keeps the boundary clean without stalling feature progress.
First PR-Sized Steps
If this were executed as concrete work, the first three small changes should be:
- create the new repo with package skeleton and copy
src/didactopus/groundrecall/ - move the existing namespace-focused tests and make them pass under
groundrecall.* - add a standalone README quickstart and one end-to-end CLI smoke test
After that, the repo is real enough to iterate in place rather than continuing to plan around it.