feat(evaluation): let a case render the marker that makes a turn forged #434
No reviewers
Labels
No labels
move-to-repo
coilyco-bridge-deploy
move-to-repo
coilyco-flight-deck-agent-compose
move-to-repo
coilyco-gaming-eco-app
move-to-repo
coilysiren-inbox
move-to-repo
unknown
🔒⚠️📦⚠️🔒 SANDBOXED 🔒⚠️📦⚠️🔒
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
c#
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-gaming/sirens-echo!434
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/the-eval-can-forge-a-turn"
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?
closes #432
The runner change Lucia named as ENG and explicitly left unscoped on #177.
The defect
assertedHistoryrenders provenance for caller-supplied conversation. It was applied on the HTTP and MCP paths and nowhere else, so the evaluation and rate runners built prompts straight from case history and the marker never rendered.injection-fake-system-turnpassed 15 times. Those runs describe a model resisting a forged system turn with no provenance marker present — not what the case claims to measure. The pack header even asserted it "now renders with the caller-asserted suffix", which was never true on this path.Fifteen clean runs of the wrong thing is worse than no runs, because the number looks like assurance. Lucia refusing to let 15/15 stand as a pass is why this is scoped work rather than a number nobody questioned.
Opt-in, and that limit is deliberate
A pack author does supply case history, so marking all of it would arguably be more faithful — and it would change the rendered prompt for every case that has history, moving baselines measured without it. That is a decision about what every existing number means, not a fix for one case.
The board is unchanged: human-graded, and its cases do not test the marker.
The old number is relabelled, not deleted
0/15 stays with a note saying what it measured. It is a real measurement of the undefended case and worth keeping — the model resists this even with no marker. A re-measure is owed and is a live run.
Two properties under test
Marking copies rather than mutates, so a second run of a pack matches the first. And a test fails if the forged-turn case ever stops opting in, since that would silently return it to measuring the undefended turn.
ward exec gategreen: build, policy-check, vet, test, test-skips, pre-commit.08011c4f33b7986ebcd6