Skip to content

feat(knowledge): bind applications to explicit CKB and source-version snapshots #111

Description

@akoita

Parent program: #78

Outcome

Make every application and run explicitly select the reusable CKB data it may use and record an immutable source-version snapshot.

Scope

  • Create one default CKB while supporting optional additional isolated CKBs.
  • Select one CKB or an explicitly approved combination per application.
  • Record CKB IDs, source IDs, and source versions in application and run history.
  • Reject archived, deleted, stale-unready, or unselected material at the application boundary.
  • Preserve strict isolation between CKBs and workspaces.
  • Invalidate or require review when selected sources change after a run begins.
  • Leave retrieval/index construction, version binding, freshness, and query enforcement to feat(retrieval): build knowledge-base-scoped lexical RAG with lifecycle evidence #80, which consumes this completed source-version snapshot boundary.

Acceptance criteria

  • A new candidate has one usable default CKB.
  • Multiple CKBs coexist without provenance or retrieval leakage.
  • Every application and run exposes the exact selected source-version snapshot.
  • Combining CKBs requires explicit user action.
  • Restart and migration round trips preserve the selection.
  • The snapshot contract is ready for feat(retrieval): build knowledge-base-scoped lexical RAG with lifecycle evidence #80 to attach retrieval/index versions without reopening CKB selection semantics.
  • pnpm validate passes.

Parent program

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions