Files
Maven/docs/evals/2026-08-06-routing-trajectory.md
claude 661b5c1099 the audit write-ups, so every agent starts with them (V-638)
A repo-wide sweep on 06-08-2026 at 06c1cf2. Three docs, three tasks.

docs/plans/24-no-deadline-on-the-turn-path.md (V-638). Nothing between a
mavweb handler and llama-server can be cancelled, and one hop has a timeout.
Replier takes no context, the ipc client sets no conn deadline and checks ctx
once, and the ipc server dispatches under Background. Four commits, and the
pattern to copy is already in internal/voice/client.go:101.

docs/plans/25-the-two-boot-paths.md (V-639). The passkey-unlock path starts
seven workers outside the WaitGroup that shutdown waits on, shadows that
WaitGroup at main.go:529, and builds a daemonAPI with no nexus and no
getMCPServers. Latent, because db_key_env means the box boots unlocked.

docs/evals/2026-08-06-routing-trajectory.md (V-464). The deterministic path
and the cascade now score the same 69/91, and the cascade has not been
re-measured since V-626 and V-627. Either the model still earns its place or
it is costing 1.17s a turn for nothing. Dated, so it is not edited later.

Committed with --no-verify, on the owner's instruction of 06-08-2026. The
pre-commit hook refuses master and the alternative was three PRs for three
markdown files. Markdown is already exempt from the size cap for the same
reason: docs land as one batch.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 22:41:03 +04:00

3.4 KiB

The routing trajectory, and the number that is missing

06-08-2026. V-464. Not a new measurement. This collates the figures already recorded in docs/evals/ and CLAUDE.md, and names one measurement that has not been taken. Dated because the conclusion expires the moment the missing number is measured.

The question

126 of the 1023 commits between 03-07-2026 and 06-08-2026 touch internal/router. Is the routing between the core functions and his speech getting better?

The trajectory

RU routing fixture, classifier plus the ONNX embedder, no LLM arm in any of these runs.

date change fixture source
02-08-2026 classifier re-measured 68.8% of 77 CLAUDE.md
04-08-2026 V-498, rest-of-day and narrative rules 58/82, 70.7% CLAUDE.md
06-08-2026 V-626 baseline 64/91, 70.3% 2026-08-06-seeds-to-prompt-boundary.md
06-08-2026 V-626, seeds onto the prompt boundary 66/91, 72.5% same
06-08-2026 V-627, alarm verbs reach stage 0 69/91, 75.8% 2026-08-06-alarm-verbs-reach-stage-0.md
06-08-2026 V-633, Russian acts reach tools 69/91, unchanged 2026-08-06-russian-acts-reach-tools.md

The fixture grew from 77 to 82 to 91 cases across this window. So the percentages are comparable and the counts are not.

Accuracy moved late

It sat near 70% for a month. V-626 and V-627 landed the same day and took the deterministic path from 64/91 to 69/91. That is the first real accuracy movement since the stage-0 rules went in.

Most of the work was reach, not accuracy

Praxis went 0/12 to 11/12 and lifecycle 0/5 to 5/5 (V-516, 2026-08-05-praxis-reach.md). No Russian utterance could reach a tool before V-633. That one landed at 69/91 unchanged, because the fixture holds no case for it. Alarm verbs, ordinal selection, spoken corrections and the claimant ladder share the shape.

So the fixture undercounts the month. Things that were structurally unreachable now reach, and a fixture that never asked about them cannot show it. Judge reach against make eval-reach and the ecosystem fixture, not against the routing one.

The missing number

On 05-08-2026 the cascade with the resident model scored 69/91, 75.8% full, 80.2% intent-only, at p50 1.19s (2026-08-05-routing-resident-model.md).

On 06-08-2026 the classifier and stage 0 alone reached 69/91, 75.8% full, at p50 22.9ms.

Those are the same full-accuracy score. The cascade has not been re-measured since V-626 and V-627 landed. Both are stage-0 changes, and stage 0 runs inside the cascade, so the cascade should have gained from them too.

One of two things is true, and nothing on the box says which:

  • The cascade gained as well, the model still separates from the floor on intent-only, and it earns its place.
  • The deterministic floor has caught up on this fixture, and the resident model is costing 1.17 seconds a turn for nothing measurable.

Take that measurement before planning more routing work. It needs a second llama-server on a fixed host port, because the resident one binds --port 0 inside the container.

What this does not settle

Intent-only is the more honest comparison for the model arm. The model routes reminder and leaves the time to the daemon, which is what the contract asks. The 05-08 run puts it at 80.2% through the cascade and 61.5% for the model alone. There is no 06-08 intent-only figure for the deterministic path to set beside those.