The bulk-output transport shares one scratch path across concurrent runs #223

Closed
opened 2026-08-18 20:49:53 +00:00 by john · 1 comment
Owner

Seven sites use a fixed ${TMPDIR:-/tmp} path with no mktemp and no && coupling the read-back to the write succeeding: references/triage-gate.md, references/review-triggers.md, workflows/progress.md.

Two concurrent runs collide. On triage-gate.md the file being collided over is the blocking risk_surface gates one-round re-arm cap, so one repository can answer another repositorys gate.

workflows/progress.md compounds it: the read-back has no parse guard and no envelope validation, so a truncated scratch file throws a raw stack and a stale {} prints successfully with every selected field undefined.

Per-run path, and couple the read to the write.

Seven sites use a fixed `${TMPDIR:-/tmp}` path with no mktemp and no `&&` coupling the read-back to the write succeeding: `references/triage-gate.md`, `references/review-triggers.md`, `workflows/progress.md`. Two concurrent runs collide. On `triage-gate.md` the file being collided over is the blocking `risk_surface` gates one-round re-arm cap, so one repository can answer another repositorys gate. `workflows/progress.md` compounds it: the read-back has no parse guard and no envelope validation, so a truncated scratch file throws a raw stack and a stale `{}` prints successfully with every selected field undefined. Per-run path, and couple the read to the write.
john added this to the v3.5.5 milestone 2026-08-18 20:49:53 +00:00
Author
Owner

Closed by v3.5.5 (SCR-01, verified against the shipped tree).

Closed by v3.5.5 (SCR-01, verified against the shipped tree).
john closed this issue 2026-08-19 20:59:55 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: crenshawdev/cadence-archived#223
No description provided.