Fix eval reliability gate: count capped calls and empty notes, add tiebreak gap #1556
Labels
No labels
P0
P1
P2
P3
bug
category/code-change
category/cross-repo
category/eval-run
category/investigation
category/no-test-target
category/owner-ruling
category/prose-artifact
category/recurring-chore
category/structure
category/umbrella
crc-refactor
create
delete
enhancement
filed-by/agent
filed-by/user
frozen
lint-rule
needs-info
needs-triage
next
plugin/cc-architect
plugin/os
plugin/os-adr
plugin/os-aidd-lint
plugin/os-backlog
plugin/os-context
plugin/os-doc-hygiene
plugin/os-sdlc
plugin/os-vault
project/cc-os
ready-for-agent
ready-for-human
recurring
review
rule-proposal
update
waiting
wayfinder:grilling
wayfinder:map
wayfinder:map
wayfinder:research
wayfinder:task
wayfinder:task
wontfix
worklist/deviations
worklist/lint-rule
worklist/new-implement-build
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jared/cc-os#1556
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Problem
The graph-extraction eval reliability gate admits unreliable runs, and its speed tiebreak has no minimum gap. In the small-models round the gate gave the win to
qwen3.5:4boverqwen3.5:9bfor a 0.3 s/chunk speed difference. The user overruled the result.Observed
The gate in
plugins/os-vault/eval/graph-extraction/bin/score.rbpasses a run whenfailed_chunk_rate <= 0.05. The README says all six runs passed "because a capped chunk counts as done". The tiebreak picks the fastest run among runs within 0.03 F1 of the best, with no minimum speed gap.Evidence from
plugins/os-vault/eval/graph-extraction/results/small-models/README.md:qwen3.5:4bhad 8 cap hits and 6 notes with no nodes.qwen3.5:9bhad 0 cap hits and 2 notes with no nodes.qwen3.5:0.8bhad 15 cap hits and 36 notes with no nodes (4 nodes in total), and still passed the gate.qwen3.5:2bhad 17 cap hits and 23 notes with no nodes, and still passed the gate.Reproduce
n/a: design defect in the gate rule. Run
bin/score.rbon the small-models results and readwinner.Approach
Count notes with no nodes and capped calls in the reliability gate. Add a minimum speed gap to the tiebreak, so a small difference in s/chunk does not decide the winner.
Required work:
capinplugins/os-vault/eval/graph-extraction/bin/score.rbmin_gapinplugins/os-vault/eval/graph-extraction/bin/score.rbAcceptance criteria
bin/score.rbruns, then that run is absent fromreliability_gate_passed.bin/score.rbruns, then the speed tiebreak does not pick the winner.bin/score.rbruns, thenwinneris notqwen3.5:4bon the 0.3 s/chunk difference.Owner sketch
Origin
results/small-models/README.mdDecision sectionqwen3.5:9bbin/score.rblines 58-63)