What happened
On the published staging-20260918-62cae85802f0 (dev 62cae8580), two questions in a person's own words about the crew's new rows reach pages that do not answer them:
$ codeaf manual "what does model family mean"
## A run's nodes on the roster ← adaptive-runs.md
$ codeaf manual "what does picked from learn mean"
## Auto, and who is actually choosing (this used to be called the lane) — … ← lanes.md
The answers exist — ## The crew — which models codeaf uses on my behalf, and /crew in internal/manual/chat/models-and-cost.md explains the model family row and 1093-crew-picked-from-row describes picked from table|catalog|learn — but no ## heading carries either phrase, so the retrieval never lands there and the chat improvises over the top of the page.
Two neighbours that do work, for contrast: what is the model pool → ## The Model Pool — what this machine reads from it, with codeaf pool; how do I add a custom openai compatible connection → ## Custom OpenAI-compatible API — a proxy, a gateway, or your own endpoint.
Replication
Deterministic (no model). codeaf manual "what does model family mean" and codeaf manual "what does picked from learn mean" on any build from 62cae8580; no key, no model. Or add the two questions as probes to internal/manual/chat_test.go and watch them fail to reach models-and-cost.
Where
internal/manual/chat/models-and-cost.md, the crew section — the model family paragraph and the picked from reading line have no heading of their own. internal/manual/chat_test.go has no probe for either phrase.
The fix
Per the manual law: fix the page, never the test. Two headings in the asker's vocabulary — one for the model family row (open or all, why the crew word reads custom after a flip, how to get it back) and one for picked from table, catalog or learn (what each rung means, what learned on a receipt means) — and a probe for each in chat_test.go so retrieval is pinned.
Acceptance
go test ./internal/manual/ with the two new probes green; codeaf manual "<either question>" prints the crew section.
What happened
On the published
staging-20260918-62cae85802f0(dev62cae8580), two questions in a person's own words about the crew's new rows reach pages that do not answer them:The answers exist —
## The crew — which models codeaf uses on my behalf, and /crewininternal/manual/chat/models-and-cost.mdexplains themodel familyrow and1093-crew-picked-from-rowdescribespicked from table|catalog|learn— but no##heading carries either phrase, so the retrieval never lands there and the chat improvises over the top of the page.Two neighbours that do work, for contrast:
what is the model pool→## The Model Pool — what this machine reads from it, with codeaf pool;how do I add a custom openai compatible connection→## Custom OpenAI-compatible API — a proxy, a gateway, or your own endpoint.Replication
Deterministic (no model).
codeaf manual "what does model family mean"andcodeaf manual "what does picked from learn mean"on any build from62cae8580; no key, no model. Or add the two questions as probes tointernal/manual/chat_test.goand watch them fail to reachmodels-and-cost.Where
internal/manual/chat/models-and-cost.md, the crew section — themodel familyparagraph and thepicked fromreading line have no heading of their own.internal/manual/chat_test.gohas no probe for either phrase.The fix
Per the manual law: fix the page, never the test. Two headings in the asker's vocabulary — one for the
model familyrow (openorall, why the crew word readscustomafter a flip, how to get it back) and one forpicked from table, catalog or learn(what each rung means, whatlearnedon a receipt means) — and a probe for each inchat_test.goso retrieval is pinned.Acceptance
go test ./internal/manual/with the two new probes green;codeaf manual "<either question>"prints the crew section.