Repository navigation
docs(audit): which model identity facts a local run records (#734, slice 1) - #905
Conversation
…ice 1) Inventory of the embedding and reranker identity facts Cortex records and where each is exposed. The embedding revision is pinned but no embedding file is hashed; the reranker sha256 is recorded but never compared with an expected value; no surface reports the embedding device or load state; and the benchmark manifest records the pinned embedding_model_revision even when the run served fallback embeddings (probe in the document). Refs #734 Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_018kyZYt64oiUt3uW4itfq5F
…y-inventory # Conflicts: # CHANGELOG.md
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Claude finished @cdeust's task in 1m 48s —— View job Review of PR #905 (review 1 of 3)
No blockers. The doc's claims match the code. No secrets are in the diff, and no CI test, craftsmanship rule or doc-claims gate reads these files. Three small notes don't need action before merge:
I didn't run pytest: no code changed and none of the existing tests read these files. Verdict: approve |
Review 1 of 3: PR #905 (docs(audit): model identity inventory, #734 slice 1)Five reviews ran: code quality, performance, test coverage, documentation accuracy and security. I checked every factual claim in Blockers: none. Notes, no action before merge
Verdict: approve |
|
Les trois notes de la revue 1 sont exactes : je les ai vérifiées dans le code. Je ne pousse rien pour elles, conformément à ADR-1119, qui réserve les pushs aux bloquants. Elles seront corrigées dans le document par la tranche 2 de #734 :
Generated by Claude Code |
|
Le check Non vérifié : l'issue de la tentative 2. La branche est aussi en retard d'un commit sur Generated by Claude Code |
Summary
First slice of #734:
docs/audits/model-identity-inventory-2026-11-06.mdlists which embedding and reranker identity facts a local run records, where each is exposed (get_telemetry,cortex doctor, the SQLite memory stamp, the two benchmark manifests), and where a recorded value does not describe what the run served. No behaviour change.Refs #734 (slice 1 of 5; the issue stays open).
Root cause addressed by this slice: the acceptance asks for one effective manifest, and nobody had written down what the current fields actually mean. Findings, each with its code anchor in the document:
DEFAULT_MODEL_REVISION), but no embedding file is hashed anywhere inmcp_server/.model_sha256()) and recorded in both manifests, but never compared with an expected value; the valued3dd7b09…exists only in committed results.ModelState, nor the reranker's device or inference provider.write_manifest.embedding_revision()records the configured pin, not what was loaded: in the probe, the engine sits inPACKAGE_ABSENT, serves fallback vectors, and the manifest still records1110a243…. Neither manifest records the embedding mode.memories.embedding_model(SQLite only) stores the vector space (neural/fallback), not the model.Remaining slices (listed at the end of the document): record the mode and state actually served; one effective manifest shared by
cortex doctorand the benchmarks; verify provisioned models against a pinned identity; an offline receipt labelled with the mode.Type of change
Test plan
scripts/check_craftsmanship.py: OK.pytest tests_py/scripts -k "doc or changelog or readme": 231 passed, 1 skipped.pytest tests_py -k "changelog or docs_link or markdown or audit": 63 passed, 35 skipped.git diff --check: clean.get_embedding_engine(),embedding_revision()andreranker_fields()run in this container onmain79bd6c3, quoted in the document.Audit notes
LOADEDneural engine and a loaded FlashRank model (neithertorchnor the model files could be downloaded through this container's proxy), GPU devices, and the PostgreSQL store; those rows are read from the code.pytestsuite (environment installed fromuv.lockwithouttorchandsentence-transformers).Reviewer checklist
Generated by Claude Code