Skip to content

feat(phase-54): Integration Truth — wire orchestrator and close silent no-ops - #32

Merged
RichardHightower merged 2 commits into
mainfrom
feature/phase-54-integration-truth
Aug 30, 2026
Merged

feat(phase-54): Integration Truth — wire orchestrator and close silent no-ops#32
RichardHightower merged 2 commits into
mainfrom
feature/phase-54-integration-truth

Conversation

@RichardHightower

Copy link
Copy Markdown
Contributor

Summary

Implements v3.1 Phase 54 (Integration Truth) from the Make It True spec (docs PR #31). No new capabilities — every public claim this phase covers is now executable.

Independent of #31 (docs-only). Do not confuse with the old unused gsd/phase-54-daily-markdown-export branch.

What this makes true

Plan Claim Now
54-01 Orchestrator wired into CLI / RouteQuery memory-service depends on memory-orchestrator; RouteQuery calls MemoryOrchestrator::query_ranked. CLI --rerank is forwarded. Real LLM reranker via Completer wrapping ApiSummarizer. CrossEncoderReranker hard-errors (NotImplemented).
54-02 BM25 outbox incremental indexing IndexEvent / UpdateToc index the event body (DocType::Event). Missing events warn! + BM25_SKIPPED_NOOP — never silent Ok while doing nothing.
54-03 Hybrid layer is hybrid CrateLayer::Hybrid fetches BM25 + vector and fuses with equal weights.
54-04 One RRF Canonical fuse / fuse_weighted in crates/memory-orchestrator/src/fusion.rs. HybridSearch RPC calls it. rg -l 'reciprocal|rrf' crates/fusion.rs only.
54-05 Honest daemon flags memory-daemon start --background exits non-zero with guidance. Default start is foreground. Indexes (BM25/vector/topics/completer) are attached via QueryIndexBundle.
54-06 Lock-poisoning policy recover_lock in memory-types (metric LOCK_POISON_RECOVERIES). Production sites in vector/hnsw/registry/usage recover instead of panicking.

Execution evidence

  • cargo tree -i memory-orchestratormemory-servicememory-daemon, memory-cli, e2e-tests
  • Unit: test_route_query_names_fusion_stage, test_llm_rerank_reorders_bm25_hits, test_hybrid_fusion_differs_from_either_input, test_process_index_event_makes_event_findable, recover_lock_recovers_from_poison
  • E2E: test_full_pipeline_ingest_toc_grip_route_query asserts explanation.fusion_stage == "rank_fusion"
  • cargo fmt --all -- --check green
  • cargo clippy --workspace --all-targets --all-features -- -D warnings green
  • cargo test --workspace --all-features --lib --bins green (0 failures)
  • RUSTDOCFLAGS=-D warnings cargo doc --no-deps --workspace --all-features green

Proto

RouteQueryRequest gains rerank_mode / expand_query. ExplainabilityPayload gains fusion_stage / rerank_mode. TeleportDocType::Event = 3.

Not in this PR

Phases 55–58 (performance truth, honest benchmarks, shop window, launch) stay sequential after this.

RouteQuery now runs MemoryOrchestrator (expand → fan-out → rank fusion →
rerank) so CLI and gRPC callers share the same pipeline. LLM rerank uses
a Completer wrapping ApiSummarizer; CrossEncoder hard-errors. CLI --rerank
is forwarded. cargo tree -i memory-orchestrator lists memory-service.

BM25 outbox IndexEvent/UpdateToc index event bodies (DocType::Event) with
warn + BM25_SKIPPED_NOOP on skip — no silent success. Hybrid fuses BM25
and vector via the one canonical fuse_weighted in fusion.rs.

--background exits non-zero. recover_lock replaces production lock
unwraps. Daemon start attaches BM25/vector/topics/completer indexes.
CI clippy on rustc 1.98 denies clippy::manual_slice_fill. Pre-existing
in memory-types; unblocks Phase 54 PR CI.
@RichardHightower
RichardHightower merged commit 4e0e66a into main Aug 30, 2026
17 of 18 checks passed
RichardHightower added a commit that referenced this pull request Aug 30, 2026
Docs-only spec for Phases 54-58. Implementation of Phase 54 is #32.
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.

2 participants