Label the destination on 33 fixture cases (V-659)
Twenty-eight existing query cases get a want_source and five new ones arrive with theirs. Every label is the destination that SHOULD claim the turn, which on the five new cases is not the one that did: they were observed failing on the box on 2026-08-07, so the fixture fails on the day it is written. Seven cases assert the SourceUnknown floor, and six of those are homelab operations. They cluster because SourceRecall, SourceNetwork and SourceAttention overlap on every question about the box: mavpoll writes its netdata and uptime-kuma observations into the fact store recall reads. Naming one destination there takes the other two off a turn that needs them. That is a finding about the enum, not a gap in the labelling. The fixture's grammar mirror had drifted. WorldQueryGrammars went into buildRouter with V-655 and never into baselineGrammars, so the fixture was scoring a grammar set the daemon does not run — the exact thing the comment above that function forbids. Adding it moved the destination number 9/33 to 12/33 and moved nothing else. Measured classifier+onnx: intent 73/96 (76.0%), was 69/91 (75.8%). Four of the five new cases pass and no existing case moved. Destination 12/33 (36.4%), and the split is the point. World is 5/5, because a stage 0 rule names it. Calendar is 2/6, because the possessive agenda rules deliberately do not. Recall is 0/15, because nothing anywhere names it yet. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013ptwopxyo3Z2kwFckHkLvN
This commit is contained in:
@@ -266,6 +266,11 @@ func baselineGrammars(acts router.ActMatcher) []router.Grammar {
|
||||
// Same order as buildRouter (voicewire.go). The fixture is only worth
|
||||
// anything while its grammar set is the daemon's grammar set.
|
||||
grammars = append(grammars, router.AgendaQueryGrammars()...)
|
||||
// After the agenda rules and before the feed and list rules, same as
|
||||
// voicewire.go: "что такое лента" is a definition question and the feed
|
||||
// rule would claim it on the noun alone (V-655). Missing here until V-659,
|
||||
// so the fixture was scoring a grammar set the daemon does not run.
|
||||
grammars = append(grammars, router.WorldQueryGrammars()...)
|
||||
grammars = append(grammars, router.FeedQueryGrammar())
|
||||
// The list side of the same exposure: a phrasing with no possessive in it
|
||||
// ("список дел") routed system and never reached queryTasks (Vikunja #467).
|
||||
|
||||
Reference in New Issue
Block a user