Repository navigation
docs: describe recall's real fusion; stop storing layer file counts (#562, #563) - #566
Merged
Merged
Conversation
…562, #563) #562. The docs, the recall tool description and the MCP prompt called the read path "6-signal WRRF" (vector, BM25, heat, Hopfield, HDC, SR). The code fuses five signals inside the database: vector, full-text (ts_rank_cd / FTS5), trigram, effective heat and recency. PostgreSQL combines them as a weighted sum of max-normalised scores (infrastructure/pg_schema.py, recall_memories()); SQLite uses rank-based WRRF without the trigram signal (infrastructure/sqlite_store_search.py). Hopfield and HDC run after fusion (core/pg_recall_stages.py). Corrected in docs/mcp-tools.md, docs/architecture.md, docs/api-reference.md, docs/data-flow.md (diagram and signal tables), README.md, the recall handler's description strings and mcp_prompts.py. ADR-013 keeps its original design text with a dated note, written in the canonical wiki page and mirrored by scripts/check_project_wiki.py --write. #563. docs/module-inventory.md stored four per-layer file counts that had drifted from the tree. A count in this page changes with every new module and no gate can hold it exactly without conflicting across parallel branches, so the page now gives the measurement command instead. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Owner
Author
|
ZETETIC-REVIEW: APPROVE Reviewed at 6ff06d9 against the acceptance criteria of #562 and #563.
|
This was referenced Sep 15, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two documentation defects, each measured against the code at a3b3a79.
Closes #562
Closes #563
#562. The docs, the
recalltool description and one MCP prompt described the read path as "6-signal WRRF" (vector, BM25, heat, Hopfield, HDC, SR). What the code does:recall_memories()(mcp_server/infrastructure/pg_schema.py:918-1138) fuses five signals inside PostgreSQL: pgvector cosine,ts_rank_cdfull-text (not BM25),pg_trgmtrigram,effective_heat()and recency. It combines them as a weighted sum of max-normalised scores (:1059-1085).mcp_server/infrastructure/sqlite_store_search.py:60-136).mcp_server/core/pg_recall_stages.py,mcp_server/core/recall_pipeline.py:99-128). Successor Representation is not on therecallpath:collect_signals(the only caller ofcompute_sr_scoresviacore/retrieval_signals.py) is not imported byhandlers/recall.py.core/query_router.pyis a deprecated shim (its own docstring, ADR-0234).Corrected in
docs/mcp-tools.md,docs/architecture.md,docs/api-reference.md,docs/data-flow.md(diagram and signal tables),README.md(one sentence), therecallhandler's description strings andmcp_server/mcp_prompts.py. ADR-013 keeps its original design text with a dated note; the note is written in the canonical pagewiki/adr/cortex/0013-zikkaron-thermodynamic-memory.mdand mirrored withscripts/check_project_wiki.py --write, sincedocs/adr/is a read-only mirror.The data-flow diagram also drops the "Query Enrichment / Doc2Query" box:
build_expanded_queryis only called fromrecall_helpers.compute_vector_fts, whichhandlers/recall.pydoes not import, so the box described a stage the tool does not run.#563.
docs/module-inventory.mdstored four per-layer file counts that had drifted. A count there changes with every new module, and an exact gate would conflict across parallel branches (the reasoncheck_doc_claims.pytreats the test count as a floor). The page now gives the measurement command instead of a number.Test plan
ruff check,ruff format --check(ruff 0.16.6): pass.python scripts/check_craftsmanship.py: OK.python scripts/check_doc_claims.py: OK.python scripts/check_project_wiki.py: mirrors match.pytest tests_py/test_mcp_prompts.py tests_py/scripts tests_py/handlers/test_recall.py tests_py/handlers/test_tool_schema_parity.py tests_py/serveron PostgreSQL:1011 passed, 359 subtests passed.Coding-standards compliance
Documentation and description strings only; no behaviour change.
🤖 Generated with Claude Code