feat(aos-eval): declare a voice test type, so register becomes gradeable #1370
No reviewers
Labels
No labels
burndown-2026-06
burndown-2026-08
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
coherence-core
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
qa-fixture
role/advocate
role/director
role/exec
role/frontend
role/gamedev
role/human
role/platform
role/qa
role/science
role/sysadmin
state
ambient
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/agentic-os!1370
Loading…
Reference in a new issue
No description provided.
Delete branch "aos/claude/ad84-voice"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Part of
coilyco-flight-deck/agent-compose#378item 4. Kai asked for voice rules in the eval pack and a voice dimension in the failure taxonomy, minus the graded run.Why this is a test type and not a taxonomy entry
The taxonomy is derived, not fixed.
aos_eval/taxonomy.pydoes axial coding over human critique prose and groups by "the axes the dataset already carries". So there is no list of failure modes to append "voice" to. The dimension has to arrive as an axis, and the axis is a test type.Profilealready exists so a deployment declares its own test types without the schema growing a branch. This uses that.fitrather thanbinarybecause voice is a judgement of degree, and the 100-word cap matchespersonalityfor the same reason.The deliberate downstream break
housecast/evalkit/matrix.py:20unpacks the profile by arity:with a comment that a fourth test type should "fail loudly here rather than being silently unranked". It now does. That is the intended handshake, and the housecast side lands next once the release train cuts a tag.
Worth flagging separately: housecast pins
aos-eval-v0.6.0while the train is atv0.9.0. Bumping it to pick this up also pulls three minors of other change, so that bump gets tested on its own rather than assumed.Verification
uv run pytest- 753 passed.pre-commit run --all-filesgreen.Boundary
Authored from the science seat. aos-eval is the grading half, and the science scope covers "your own runners, probes, graders, and aggregation anywhere else they live", so this is inside scope rather than a crossing.
Kai wants voice graded rather than eyeballed. The failure taxonomy is derived by axial coding rather than a fixed list, so a voice dimension is not a new category to add: it is an axis the dataset has to carry. That axis is a test type, and the profile is where a deployment declares its own. TestTypeSpec("voice", "fit", 100, ("attribute",)) Matches the personality spec, because voice is a fit judgement rather than a binary one and needs the same room to answer in. housecast's evalkit unpacks the profile's test types by arity, with a comment saying a fourth should fail loudly there rather than being silently unranked. It now does exactly that, which is the intended handshake rather than a break. Co-authored-by: Kai Siren <coilysiren@gmail.com> Co-authored-by: Claude <noreply@anthropic.com> Agent-Role: eval