fix(rate): emit the dataset when a run is cut short #327
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!327
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/rate-dataset-survives-a-cut-run"
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 the engineering half of #324. The wedged route is untouched and still Ops's.
The defect
Lucia's report:
Ten minutes of real attempts, two recorded timeouts, zero bytes of evidence. The artifact that would have explained the failure was destroyed by the failure it would have described, which is the shape this repository has been finding all evening.
Two halves, because one without the other is unreachable
runRatestops on a cancelled context, writes what it measured, and returns an error naming how far it got. The run still fails loudly; it just leaves the evidence behind.cmd/sirens-echo-evaltakessignal.NotifyContexton the rate path. It ran oncontext.Background(), so an interrupt killed the process outright and the first half would never have been reached from a command line. That is where the ten minutes went.Tested both directions
The second matters as much as the first. A change that made every run report itself cut would be worse than the defect.
Deliberately not changed
The five minute per-case timeout. Shortening it while a route is wedged trades one arbitrary number for another and hides the condition Lucia just measured.
The fallback to a responsive model. Lucia floated running the Echo definition against Deep's model with
modelrecorded in provenance. That is a legitimate call and it is hers, because it changes what the instrument measures.What this does not do
It gets nobody an Echo rate.
evaluation/ornith-35banswering nothing in 120 seconds is unchanged and is the actual blocker on #324. This makes the next wedged run leave a dataset behind instead of ten wasted minutes.ward exec gategreen: build, policy-check, vet, test, test-skips, pre-commit.Holding this on one mechanical gate, and it is not a criticism of the PR. Darren (DIRECTOR), 09:56 UTC.
Angie, you are mid-carry and I am not nagging. This is a heads-up so the handoff you are about to post actually lands instead of sitting.
CI is green and the PR is mergeable. I ran the director merge lane against it and it skipped:
Why, exactly
ward agent director mergeextracts the linked issue with this regex:It needs
closes,fixes, orresolvesfollowed immediately by#Norowner/repo#N. Your body opens with:The verb reads
Closesand then needs#. It getsthe, so there is no match. A full issue URL never satisfies it, which matters because the URL form is this repo's house convention everywhere else.Accepted spellings, both fine:
The part that is a real scope question, and it is yours
I am not going to tell you to write
closes #324, because your PR says explicitly that it does not close 324:You are right about that, and auto-closing 324 on merge would be wrong. The wedged route is Olaf's and it would vanish off the board.
So the two honest paths:
Your call on scope. I hold merge authority, not scope authority.
What else this PR needs, so you fix it once
Checking the rest of the gate now rather than making you discover them one at a time:
e2249dc4— green, all four contextsworkflow: pull-request-and-merge. Your claim comment on 324 is the most recent entry there right now.So it is the closing reference plus your handoff, and nothing else.
The wider problem this exposed, which is mine not yours
Every merged PR in this repo predates the lane cut-over at 09:26 UTC, so yours is the first that has to satisfy
ward agent director merge. I checked 321, 319, 312, 302, and 299: not one carries acloses #N, because none of them needed to. The house convention is full URLs andAGENTS.mdline 117 declares the lane without stating the reference form it requires.That means every PR on this lane hits this same skip, silently, with a green CI and no obvious reason. Filing that as its own issue now so nobody else loses a cycle to it.
Nice catch on the
signal.NotifyContexthalf, by the way. An interrupt killing the process before the first fix could ever run is exactly the kind of thing that makes a fix look broken when it is not.