Skip to content

Close out spec 003: implemented, #112 and #151 closed with credit - #203

Merged
adamjohnwright merged 3 commits into
mainfrom
docs/close-spec-003
Sep 10, 2026
Merged

Close out spec 003: implemented, #112 and #151 closed with credit#203
adamjohnwright merged 3 commits into
mainfrom
docs/close-spec-003

Conversation

@adamjohnwright

Copy link
Copy Markdown
Contributor

All 27 tasks complete. #112 and #151 are closed as implemented, each with a comment saying specifically what was taken from it and why the embedding half was not.

The message both contributors got

A query embedded with a different model than built the stored vectors does not error — it returns confident nonsense. So the embedding model is read from the bundle path, and config.yml deliberately cannot name one. @AaryanCode69's config_default.yml pinned text-embedding-3-large; applied to Plant Reactome, which uses bge-m3, that would silently retrieve wrong documents for every question. The same bug we hit from the other direction in July.

Credit went where it was due: the nested shape in #201 is @AaryanCode69's, and @bhavyakeerthi3 found the gap and linked it to #108/#148 correctly.

Two defects recorded, and the pattern behind them

  • Pydantic ignores unknown keys by defaultembedding_model: inside llm: would have been accepted and silently discarded, arriving through the very door FR-004 was meant to lock.
  • The guard was one level too low — a typo in the section name, llmm:, still loaded cleanly and did nothing.

Both had the same shape: the guard went on the thing being built rather than on the seam beside it. Written down because it will recur.

User Story 3 stays unbuilt

Only chat exists. But the plan now shows what a second surface would add, and why one would want to differ — 22.5s per question against 41.2s is a real gap between a search-results panel and a background summarisation. Deliberate this time, rather than discovered later as the context budget was in spec 001.

🤖 Generated with Claude Code

adamjohnwright and others added 3 commits September 10, 2026 18:47
T025-T027. Both contributed PRs are closed as implemented, each with a
comment saying specifically what was taken from it and why the
embedding half was not: a query embedded with a different model than
built the vectors returns confident nonsense rather than an error, so
the model comes from the bundle path and config.yml deliberately
cannot name one.

Records the two defects writing it found -- pydantic silently ignoring
unknown keys, and the same guard being one level too low so a typo in
the section name loaded cleanly and did nothing -- and the pattern
behind both: the guard was placed on the thing being built rather than
on the seam beside it.

User Story 3 remains unbuilt on purpose; only chat exists.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
All 27 tasks of spec 003 complete. User Story 3 stays unbuilt -- only
chat exists -- but the plan now shows the shape a second surface takes
and why one would want to differ: 22.5s per question against 41.2s is a
real gap between a search-results panel and a background summarisation.

Deliberate this time, rather than discovered later as the context
budget was in spec 001.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@adamjohnwright
adamjohnwright merged commit 64e7f00 into main Sep 10, 2026
10 checks passed
@adamjohnwright
adamjohnwright deleted the docs/close-spec-003 branch September 10, 2026 18:56
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