feat: add blast-radius safety cases - #95
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9e442eecdf
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const chain = events.verifyChain(file); | ||
| for (const event of events.readRun(projectRoot, runId)) { | ||
| if (!/^gate\.(?:pass|fail)$/.test(event.name)) continue; | ||
| const attrs = event.attrs && typeof event.attrs === 'object' ? event.attrs : {}; | ||
| if (attrs.verificationRecordId !== recordId) continue; | ||
| matches.push({ event, runId, chainValid: chain.valid === true }); |
There was a problem hiding this comment.
Serialize gate events before validating the chain
When parallel build slices run verification concurrently, events.emit can let multiple processes read the same previous line before appending, producing sibling events with the same prev hash. This new resolver then assigns the validity of the entire run chain to every matching record, so one collision makes otherwise successful evidence return invalid-event-chain; because subsequent events remain in that poisoned run, all later level 4 or 5 evidence can be rejected and Stage 2 remains blocked. Serialize gate-event appends, or otherwise make concurrent hash-chain writes atomic, before requiring chainValid here.
Useful? React with 👍 / 👎.
Summary
Validation
npm run release:checknpm run release:prepublication:checkRelease
After merge, tag
v6.2.0on the exact merged main commit. The tag-triggered publish workflow will publish bothgodpowersand@godpowers/mcpwith npm provenance.