Grade every takedown design against the stated cause, and compare each revision with the previous design #974
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#974
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
Live takedown runs skip the grader:
LiveContextbuildsRunPlan.new(grade: false). The owner ruled on 2026-10-09 (handoffdocs/handoffs/2026-10-09-takedown-implement-path.md, rulings 5 and 6) that the AI grades live designs and that the owner does not rule on designs.Reproduce
n/a: feature ticket.
Approach
Jared ruled option C on 2026-10-10. ADR-0285 records the ruling. It amends ADR-0278 and ADR-0281.
## Approachor any optional ticket section as a baseline.GradeSide#levellogic (inferior to far_superior). Design 1 has no comparison.grade.jsonas the final design versus the ruling. The ruling is graded alone once and compared in Ruby. The eval metric and the rank readers do not change.Not in this ticket: a stop rule at diminishing returns (separate ticket). The ADR-source half of #970 stays on #970.
Required work:
RunPlanfor live runs withgrade: true— check: absentgrade: falseinplugins/os-sdlc/eval/ticket-takedown/lib/takedown/**/*.rbharness/cards/grader.mdand its schema so one call grades one design and takes the related-defect list — check:grep -n "X1" plugins/os-sdlc/eval/ticket-takedown/harness/cards/grader.mdfinds the id ruleTakedown::Model::Gradefor each levelGradeSide#level— check: unit test; design 1 has no comparison## Approachas a grade baseline — check: absentApproachin the grade code path underlib/takedown/grade.jsonunchanged — check: existing case-mode and rank-reader tests pass without editsbin/grade-calibrateuntil agreement is 0.8 or betterAcceptance criteria
## Approachsection, when the grader runs, then no grader prompt or level uses that section.grade.jsonholds the final design versus the ruling in the same shape as before.Owner sketch
Origin
docs/handoffs/2026-10-09-takedown-implement-path.md, and option C of 2026-10-10 (ADR-0285).docs/adr/0276-ticket-takedown-runs-one-pipeline-the-eval-harness-flow-is-the-production-pipeline-live-mode.md)plugins/os-sdlc/eval/ticket-takedown/,plugins/os-sdlc/maps/,plugins/os-sdlc/skills/implement/SKILL.mdRun the grader in live takedown against the researcher cause and the ticket approachto Grade every takedown design against the stated cause, and compare each revision with the previous designBuilt and merged to main at
086636ff(ADR-0285): every design is graded alone against the stated cause (absolute level 0-3); a revision is also compared with the design it revised; a blind design with the previous blind design. The researcher now states the cause. Case grade.json unchanged. Suites: takedown 475/0, os-sdlc 1513/0. Open before close: bin/grade-calibrate must pass 0.8 on the new card (case runs refuse until then), then one live run to check AC1.Step 6 built on main (
3bc6f306). Comparison rule (ADR-0286, amends ADR-0285 decision 4): a design after the first is a challenger, not a revision. Ruby compares it with the best previously graded design in the run (highest absolute rank; tie: the design that removes more related defects; further tie: the most recent). grade-.json comparison.against names that design. Reason: comparing with one predecessor restricts creativity; comparing with all adds cost and no information. Calibration passed: 0.94 agreement over 35 rows (threshold 0.8,bba7b76e). Suites: takedown 477/0, os-sdlc 1513/0. Only the live-run check for AC1 remains (planned as the #977 tracer).Resolution
Done: Every design is graded alone against the stated cause (ADR-0285); a later design is compared with the best previous design (ADR-0286); the reviser prompt and card now make each revision a challenger of the best design so far (
e94a252a).Evidence: Live run docs/takedown/194-20261010-093151 (.33, 15 steps, 0 failed): grade-design-1 class_removed rank 3; grade-revise-1 cause_removed rank 2, parity vs design-1; grade-revise-2 class_removed rank 3, parity vs design-1. Calibration 0.94 (
bba7b76e). rake test 480 runs 0 failures; os-sdlc suite 1513 runs 0 failures.Follow-ups: #978 stop rule at diminishing returns (uses the absolute levels); #980 and #981 cover the unchecked researcher cause.