Skip to content

feat(projections): add independently delivered graph and vector consumers - #62

Open
DivyamTalwar wants to merge 1 commit into
feat/jitmind-closure-c03-reviewed-20260929from
feat/jitmind-closure-c02-reviewed-20260929
Open

DivyamTalwar wants to merge 1 commit into
feat/jitmind-closure-c03-reviewed-20260929from
feat/jitmind-closure-c02-reviewed-20260929

Conversation

@DivyamTalwar

Copy link
Copy Markdown
Owner

Original-scope gap

Implements C02 / GAP-02, refs #51. Stacked on #61's authoritative history/all-event API. These are actual persistent vector and graph consumers, not another ID-only reference projection and not a dependency on another user product.

Implementation

  • Persist finite, model-identified vectors and perform cosine search with a trusted pluggable embedder. The built-in offline baseline is explicitly lexical feature hashing, not a learned semantic-model claim.
  • Persist graph entities, relation edges and per-fact supports; bounded traversal preserves another live fact's shared edge when one support is deleted.
  • Give each consumer separate event receipts, contiguous watermarks, selection identities, enabled state, rebuild behavior and lag diagnostics.
  • Enumerate source events independently of the reference consumer's delivered bit. Reconcile actual current authority before accepting effects and returning results.
  • Scope namespace/repository/snapshot selection before scoring and graph expansion; keep stale/expired/deleted evidence out of ordinary results.
  • Provide explicit coordinator, rebuild, disable, retention, backup/restore and typed capability/error APIs.

Independent-review fixes

The composed review identified TTL eligibility, corrected-validity handling, administrative generation races and an acquisition-budget mismatch. The final candidate applies current corrected fact validity plus independent expiry restrictions, fences selection/generation/enabled state inside delivery transactions, and avoids unbounded status hydration. A formerly incompatible fixture now preserves v2 ingestion rejection and tests legacy filtering separately.

The original deletion/revocation/receipt controls remain. docs/closure/C02-interfaces.md records the before/after findings, exact test scopes and remaining composition requirements.

Actual supervisor verification

Candidate 3f35c46ba91c6144aa283446299c61889394090c on parent 5dc8e4855d74042964fdbfa8074350d4ea372af3.

PYTHONPATH=$PWD python -m pytest -q -p no:cacheprovider
# 1132 passed, 0 failed, 0 skipped; 3 expected optional-provider warnings
python -m compileall -q jitmind tests
python -m pip check
python -m ruff check --no-cache --isolated --select E9,F <owned Python files>
git diff --check
# all passed

Source hashes were unchanged during the full assembled run. Actual SQLite, vector ranking, graph traversal, new history APIs, parser regressions and process/restart fixtures ran. Counts include inherited cases, not independent model-quality benchmarks.

Explicit boundaries

Structured relation assertions and embedding implementations are trusted host inputs; the offline tests make no live-provider calls. Administrative raw-store APIs are not request authentication. Managed restoration must honor the current retention ledger, and the final C01/C07/C09 composition remains separately reviewed. Resource limits are declared; no global filesystem transaction, all-backup erasure, semantic superiority or full production-release signoff is claimed.

See docs/projections.md for concrete setup and query examples. Review prerequisites first, retarget after merge and rerun CI. No automatic merge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant