docs: mark the two step-2 items done

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
kami
2026-08-02 02:33:59 +04:00
parent 63a389a1f8
commit 99193ff1d1
+10 -8
View File
@@ -163,15 +163,17 @@ Medium priority, behind the four above.
### Polish. Present, incomplete.
**Strict JSON everywhere.** Six call sites already carry a grammar: the router,
both phraser paths, kiwix, `internal/memeval`, `internal/email/extract`. Two do
not: `cmd/mavend/capture.go` and `cmd/mavend/replier_llm.go`. Close those two and
the rule holds everywhere.
**Strict JSON everywhere.** Done 02-08-2026. The replier sends
`phraser.ResponseGrammar`. It is exported once so its two copies cannot drift.
The meeting summariser is wrapped and unwrapped in the daemon's Completer, so
`internal/capture` stays text-in/text-out. Every model call now carries a grammar.
**Evidence-first prompting.** The world snapshot, the embedder RAG hint and matched
notes all exist. What is missing is the discipline that the model verbalises
retrieved evidence rather than recalling. This is the direct fix for the Левитан
fabrication. High value.
**Evidence-first prompting.** Done 02-08-2026, in the evidence branch of
`PhraseQuery`. Sources arrive numbered, one per line. The system prompt no longer
calls them all "заметки" and no longer lets the model add anything of its own.
Blank sources now take the knowledge branch instead of asking for an answer from
an empty list. Not yet measured against a live model. Run `make eval-phrasing`,
and watch the case `query-notes-do-not-answer`.
**Progressive inference.** What exists is a fallback cascade, not escalation. On
error it drops to something weaker. It never escalates on ambiguity. The upgrade is