Repository navigation
fix(workflow): count a step's declared OUTPUT as delivery evidence - #2666
Conversation
The issue fast line's Triage node prints `OUTPUT pr: 2657 (verified)` and never names the pull request in prose, so stepArtifacts saw nothing, the #2583 stand failed the step after the PR had already merged, and the run died as `Missing OUTPUT state` with gate/enqueue/attest still queued. stepArtifacts now reads the step's own declared OUTPUT too: `pr`/`pull` takes its first integer, and `merged`/`merge-commit` counts with a 40-character sha. Other names and shapes stay fail-closed, and every other path still requires the `state` verdict. docs/subsystems/workflow.md records the widened evidence. Fixes #2658
|
Verdict: PASS at 0410da0 Ran at this tip: Review notes (tip Red first — hard requirement met. With Evidence shapes are tight (
Scope. Only the declared evidence shapes and the one CI at this tip. All check-runs green/skipped ( Tier: T3 ( |
Written-by: Dev
Fixes #2658
Owner: Dev
Reviewer: Reviewer
What changed
stepArtifacts()inplugins/workflow/src/graph.jsnow reads the step's own declared OUTPUT values as delivery evidence, beside the prose shapes it already accepted:pr/pull: the first integer in the value (2657 (verified)→ 2657); a value with no integer counts as nothing.merged/merge-commit: a 40-character hexadecimal commit sha counts as delivered.commitAdvancestill requires thestateverdict on every other path, and still fails a step that shows no delivery.plugins/workflow/src/service.jslets that newmergedevidence keep thestatestand;missingVerdictsis unchanged.docs/subsystems/workflow.mdrecords the widened evidence.Red first
Before the implementation change, the new test file was 0/5 passing:
$ cd plugins/workflow && DSH_HARNESS=<installed 0.2.1-rc.2 harness> TZ=UTC node --import ./test/resolve.mjs --test test/step-artifacts.test.js→
# tests 5/# pass 0/# fail 5; the i2656-shaped reply still settledcommitAdvanceatrun.status = failedandstepArtifactsreturned{pull:null,claimed:false}.Ran at this tip: 0410da0
→ 35 pass / 0 fail; 470 pass / 0 fail; 20 fragments well formed; 0 errors (warnings are pre-existing on
main).Not run
npm run verify: the brief allows one at a time and another inspection run holds it.build-client.mjs --checkandds-bot-patches check: nocore/file changed.node_modules;DSH_HARNESSpointed the tests at the installed 0.2.1-rc.2 harness.Out of scope
partialsettlement when a step is both failed and delivered.stepArtifactsevidence shapes.Checkpoint
{
"pr": 2666,
"claim": "Dev",
"issue": 2658,
"summary": "An issue fast-line step can now deliver its work as its own declared OUTPUT.
stepArtifactsreadspr/pullfor the first integer andmerged/merge-commitfor a 40-character sha, so a Triage reply likeOUTPUT pr: 2657 (verified)no longer fails after its PR merged. Other names and shapes stay fail-closed, and every other missing verdict still fails.","files": [
"plugins/workflow/src/graph.js",
"plugins/workflow/src/service.js",
"plugins/workflow/test/step-artifacts.test.js",
"docs/subsystems/workflow.md",
"changelog.d/2658-step-artifacts-output.fixed.md"
],
"checks": {
"ran": "cd plugins/workflow && DSH_HARNESS=/data/dsh/bot/workspace/d2607/repo/core/dev/harness TZ=UTC node --import ./test/resolve.mjs --test test/step-artifacts.test.js test/graph.test.js test/assign.test.js",
"result": "green",
"at": "0410da0d844df55cd781a3f145cfbfdc8dc77bae"
},
"next": "none — ready for review"
}