Skip to content

Authenticate retained review transcripts without run-wide scratch quiescence - #743

Merged
Meta-Develop merged 1 commit into
mainfrom
codex/transcript-auth-race-20261023
Oct 22, 2026
Merged

Meta-Develop merged 1 commit into
mainfrom
codex/transcript-auth-race-20261023

Conversation

@Meta-Develop

Copy link
Copy Markdown
Owner

Summary

Parent review authenticated a completed child's retained review transcript through the run-wide
resume_binding, which requires no outstanding scratch anywhere in the run. Under Block coordination with
parallelism >= 2, an unrelated sibling's open invocation scratch could abort the correct assignment
(observed once in CI as semantic_block_claims_follow_actual_dispatch_order_with_overlap_scan_ahead).

This change adds a per-record authenticated read (ArtifactRunWriter::read_authenticated) used only by
read_authenticated_review_transcript. It still verifies record identity, length and SHA-256, own-path
scratch overlap and poison, owner-private path and inode identity, and writer-lock custody before and after
the read. Checkpoint, resume and finalize keep the full-run boundary.

Tests cover sibling-scratch reads, tamper/truncation/unregistered/live-scratch refusal, own versus sibling
poison, and private-mode/symlink/lock replacement. The scheduler fixture's hang caps go from 30 s to 120 s
(test-only; the ordering handshake and final asserts are unchanged).

Validation

  • Local (WSL): 10/10 exact targeted tests, cargo fmt --check, clippy, all-targets --no-run, release build.
  • Independent read-only review (Grok 4.7): ACCEPT, no findings.
  • Live mixed/Codex E2E was not run for this commit. It is blocked by Grok managed-account authentication
    (Not signed in, owner-only login) and by pre-existing worktree-creation timing on the WSL host, both shown
    to be outside this change's code path.

Parent review refused a completed transcript whenever a sibling assignment still held an invocation
scratch on the shared run writer, aborting correct concurrent Block runs. Authenticate the transcript's own
manifest record and bytes, keep the run-wide boundary check for checkpoint, finalize and resume, and add a
deterministic regression test.

Validation: local exact tests 10/10, fmt, clippy, all-targets --no-run, and
release build passed. Live mixed/Codex E2E NOT run for this commit (blocked:
Grok auth not signed in; host worktree-creation timing; see lane R48-ENV/R48-CTL).
@Meta-Develop
Meta-Develop merged commit 2e3596e into main Oct 22, 2026
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant