Status: PASS / LIVE_CANDIDATE / MERGE_DISABLED / PRODUCTION_NO_GO
V3 closes the remaining authorization-policy gap between an independently observed
GitHub PR snapshot and a future MERGE_PR authorization.
Required observer:
R2_GITHUB_OBSERVER_V1
Observer receipt schema:
rumbo-r2-github-observer-receipt/v1
Pinned observer signing key id:
aaZsAh07RChcec-P6l_R-aGrMglZjIZP0xA0jZMClx8
Only the observer public P-256 verification key is embedded here. The observer private signing key is not present in the authorizer source.
Legacy V1 MERGE_PR issue and consume paths are retired with HTTP 410.
The new V3 path requires all of the following before a merge authorization can even be issued:
R2_ALLOW_MERGE_AUTHORIZATION=true;R2_GITHUB_OBSERVER_V1 receipt;R2_GITHUB_PR_SNAPSHOT_ONLY;production_go=false;OBSERVATION_PASS with zero blocking checks;native_enforcement.proven=true;merge_ready=true;evidence_sha256 equal to the observer receipt SHA-256.At consumption, the observer binding must remain identical and its observation age must remain <= 600 seconds.
Thus neither a stale observer result nor a valid result without native branch/ruleset enforcement can authorize merge.
TEST_ONLY remains available through V3 without observer authority.
A TEST_ONLY request carrying an observer merge receipt is rejected, preventing accidental authority mixing.
Successful V3 TEST_ONLY consumption emits a signed authorizer receipt using the existing authorizer ES256 custody key.
The global merge flag remains absent/false.
Therefore MERGE_PR currently fails with HTTP 423 before any merge authority can be
issued.
Product production remains false.
Branch evaluation:
01a04bc6-1812-72cf-bbbf-8bf50289ec48
Result: PASS.
Validated matrix:
Test receipt SHA-256:
ef6e154110336e9322cf089af4de37a0c124986e0df2d041ac7c7d2350cd624b
PASS:
evidence_sha256;production_go=false remains pervasive.This version makes a future merge authorization cryptographically dependent on fresh, independent GitHub observation plus proven native enforcement.
Because native private-repository enforcement is not currently available on the user's plan and the dedicated GitHub App credential is not yet bound, this new merge path cannot become live by accident.