2.6 KiB
Architecture
GroundRecall is the grounded knowledge substrate in a larger stack:
GroundRecall: canonical knowledge ingestion, promotion, query, export, and future syncDidactopus: learner-facing workflows and educational toolingGenieHive: model and routing layer where runtime assistant/service resolution is needed
For governed model access, GroundRecall treats the GenieHive Foundation gateway profile as an external endpoint and policy boundary. GroundRecall does not own GenieHive credentials, request audit logs, provider routing, or budget state. See geniehive-foundation-gateway.md.
Core Design
The system is built around one canonical flow:
- ingest weakly structured sources
- normalize them into stable knowledge objects
- lint and queue them for review
- promote reviewed objects into a canonical store
- query and export promoted state
Core Objects
The canonical store is built from these object families:
SourceFragmentArtifactObservationClaimConceptRelationReviewCandidatePromotionRecordGroundRecallSnapshot
These objects are assistant-neutral. Assistant-specific formatting belongs at the adapter layer.
Package Surface
The main standalone package surface is:
groundrecall.ingestgroundrecall.lintgroundrecall.modelsgroundrecall.storegroundrecall.promotiongroundrecall.querygroundrecall.exportgroundrecall.assistant_exportgroundrecall.inspectgroundrecall.source_adapters.*groundrecall.assistants.*
There are also compatibility-style helper modules prefixed with groundrecall_ inside the package. Those exist because the standalone repo was extracted from an earlier monorepo layout.
Source Adapters
Adapters handle source-shape-specific discovery and mapping while the downstream pipeline stays generic.
Current adapter families include:
llmwikimarkdown_notestranscriptdidactopus_pack
Assistant Boundary
Assistant integration is intentionally outside the core store and query semantics.
The rule is:
- core
GroundRecallowns truth, provenance, lifecycle, and retrieval semantics - assistant adapters own presentation, bundle shaping, and tool-specific exports
Current adapters include:
codexclaude_code
Alpha Boundary
The current alpha is strong enough for:
- local import and promotion
- canonical query and export
- assistant-neutral bundles
- assistant-targeted bundle generation
It is not yet complete for:
- multi-node sync and merge
- re-import/update semantics
- richer review adjudication
- large-scale distributed corpus integration