Skip to content

merge queue: checking #1333 on main (facdeaf) - #1353

Closed
mergify[bot] wants to merge 6 commits into
mainfrom
mergify/merge-queue/7c7aea9815
Closed

mergify[bot] wants to merge 6 commits into
mainfrom
mergify/merge-queue/7c7aea9815

Conversation

@mergify

@mergify mergify Bot commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

🎉 This pull request has been checked successfully and will be merged soon. 🎉

#1333 is queued for merge on branch main (facdeaf).

This pull request has been created by Mergify to speculatively check the mergeability of #1333.
You don't need to do anything. Mergify will close this pull request automatically when it is complete.

Bisected from a failed batch:

Required conditions of queue rule admin-bypass for merge:

  • check-success = lint
  • check-success = test
  • check-success = validate

Required conditions to stay in the queue:

---
all_scopes: false
checking_base_sha: facdeaf88d32ff10e3b3ac7612fb8fb8205fb9c8
previous_check_retries: []
previous_failed_batches:
  - batch_pr_head_sha: 7f795f5a35ba6ab6f53a4523d28cfe0635f1692f
    batch_pr_number: 1351
    checked_pull_requests:
      - 1333
      - 1336
    draft_pr_head_sha: 7f795f5a35ba6ab6f53a4523d28cfe0635f1692f
    draft_pr_number: 1351
pull_requests:
  - number: 1333
    scopes: []
scopes: []
...

EdbertChan and others added 6 commits October 11, 2026 14:53
Review claim:
- An opt-in payload recorder in the runner plus a replay script can
  feed recorded hook-event payloads through installed hook commands
  and produce a verdict-equivalence report (stdout/context/block/exit)
  per detector.
Review lane: behavior
Safety invariant:
- Recording is off unless CATSTACK_HOOK_PAYLOAD_DIR is set; when on it
  never alters hook stdin/stdout/exit and caps each payload (default
  256KB) and total dir (default 2000 files, oldest evicted).
- Replay runs against a scratch metrics/state dir, never live
  settings or the live runs.jsonl.
Goal:
- Runner: when env var set, append the raw stdin payload to
  $CATSTACK_HOOK_PAYLOAD_DIR/<payload_hash>-<hook>.json before spawning
  the hook child, where <payload_hash> is sha256(stdin)[:12].
- scripts/test/replay_hook_payloads.py: for each recorded payload, run
  the hook command under a scratch env, capture stdout/stderr/exit/
  findings; emit an equivalence report JSON + table comparing two
  command sets (fleet vs dispatcher args taken as parameters).
Motivation:
- The catastrophic regression risk of the dispatcher is a detector
  that silently stops speaking; the only credible gate is
  byte-identical verdicts on real payloads.

Cherry-picked from origin/plan/hook-fleet-dispatcher-measure-the-herd-then-dispatch-it
(e356e8c), scoped to only this claim's files. Dropped this slice's
dependency on the separate metrics-event-uid claim (17ef151, not on
this branch): the payload recorder computes its own local hash instead
of reusing a published `event_uid` metrics-row field, and the README
wording and test imports were adjusted to match.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
… payload recorder in the runner plus a replay script can feed recorded hook-event payloads through installed hook commands and produce a verdict-equivalence report per detector.

Review lane: behavior
Safety invariant: Hook stdout and exit codes stay the same. This slice does not change the other four claims.
Files: engine/hooks/_runner/run.py, scripts/test/replay_hook_payloads.py
Change types: bugfix
Acceptance criteria: The branch contains only this claim, and the review step publishes one pull request.

Exit code: 0
Invoker-Finalize-Id: 61e213a0-a6cd-4950-ba23-0acc17742997
…-1bc38490 — Review claim: An opt-in payload recorder in the runner plus a replay script can feed recorded hook-event payloads through installed hook commands and produce a verdict-equivalence report per detector.

Review lane: behavior
Safety invariant: Hook stdout and exit codes stay the same. This slice does not change the other four claims.
Files: engine/hooks/_runner/run.py, scripts/test/replay_hook_payloads.py
Change types: bugfix
Acceptance criteria: The branch contains only this claim, and the review step publishes one pull request.
@mergify mergify Bot mentioned this pull request Oct 12, 2026
3 of 5 tasks
@mergify mergify Bot closed this Oct 12, 2026
@mergify
mergify Bot deleted the mergify/merge-queue/7c7aea9815 branch October 12, 2026 20:24
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