fix: verify live GitHub bodies and prepare v1.3.4 - #392
Merged
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Wibias
marked this pull request as ready for review
August 28, 2026 23:31
Wibias
enabled auto-merge
August 28, 2026 23:31
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
1.3.4with the complete consumer-facing delta sincev1.3.3(fix: close off-mode trusted intent bypass #389, fix: fail closed on unresolved GraphQL mutation roots #390, fix: bind native approvals to the authorised head #391, and this fix)Runtime fix
Body-bearing social mutations now re-read the authoritative GitHub object after a successful write. Direct receipt IDs are used when available; otherwise collection fallback requires the exact idempotency marker, the authenticated GitHub actor, and the reply parent where applicable. The postcondition then requires the live body to match the exact intended markdown.
The router deliberately gives postcondition verification the unfiltered body-safe runner rather than the receipt-filtered runner, so malformed live bodies cannot disappear from verification through idempotency filtering.
TDD / regression evidence
The initial test-only head was RED on the intended missing-live-reread behavior.
During GREEN work, the retained forged-actor regression exposed two compatibility assumptions rather than a reason to weaken the new invariant:
readAuthenticatedActor()contract (gh api user --jq .login), andOn the production/release path, the canonical Node 24 repository checks and Node 22 compatibility pass with the strengthened forged-actor and live-body regressions.
Release 1.3.4
Base release:
v1.3.3/69884f3ea72e035c080547b076d907e077a33c3dThe release notes cover the complete consumer-facing delta since that tag:
authorityMode=offis planning-only for GitHub writes; model-callable workflow flags/helper invocation cannot mint trusted remote-mutation intent.package.json, README current-state/release notes, andCHANGELOG.mdare prepared for1.3.4.Tag creation, GitHub Release publication, release assets, npm publication, and merge of this PR are not part of this PR and remain separately authorized.