ARCHITECTURE.md 7.3 now carries the new metering and notes that the G6
ttft guard became conservative redundancy. The changelog entry leads with
what downstream must act on: the worst-case call duration rises to
max_attempts * timeout_s, and any STALL_WINDOW_S that was inflated to work
around this can go back to the default.
GovernanceBackendError arrived with the M2 distributed backends but never
made it into the section 6.1 table, so it had no place in the taxonomy
callers actually read. That omission is why the README missed it too.
Records the reparenting, the new governance_backend_down reason, and why
SourceNotConfiguredError deliberately stays outside the reparented family:
a misconfigured source name must burn its failure budget and surface,
not retry forever in silence.
VT migration abandoned (v1.0 scope becomes two projects), Q1 resolved
to Gitea PyPI, Q6 resolved as judge exemption (unwired zero-consumer
eval scaffolding), migration docs annotated with implementation errata,
and the reference/ read-only rule clarified for the worktree workflow.
Classify empty completions as transient per human ruling (fixes flaky
real-gateway smoke and prevents caching empty responses), rename the
factory injection parameter gate to breaker per the frozen design,
rewrite the probe-entry cleanup without except BaseException, declare
python-dotenv explicitly, add a mid-backoff cancellation test, and
record all implementation errata in the design and architecture docs.
Correct the section 6.1 reason enum against actual CHS code, make
retry_after_s a non-optional float, add structured_data to LLMResponse
extensions, finalize the structured parameter type, document SSE
missing-done semantics and watchdog thinking-token liveness, add the
StructuredMW layer to the default onion order, and register
middleware/structured.py in the module map.
Per 2026-07-20 human decisions: multi-source switching/cooldown ships
with M1 (retry-loop signatures freeze there), both GovDoc and
Video-Tree must pass the M1 onboarding smoke test, and Redis
integration tests use the lab's remote Redis with isolated namespaces.
Define the five-step ladder (native-schema prevention, repair, shape
validation, bounded feedback re-ask, ResultInvalidError) as D14;
rewrite section 7.9 accordingly, give the structured parameter its
three-tier semantics in the chat() signature, and scope the bounded
re-ask outside transport retry and breaker counting.
Record tenacity vs self-built evaluation as D13 in ARCHITECTURE.md
(self-built wins: per-attempt orchestration, cancellation guarantees,
supply-chain discipline). Add research-wiki/ROADMAP.md expanding the
milestone table with ordering rationale and exit criteria.