Skip to content

merge queue: checking #1358 on main (2f93d6c), stacked on #1332 and #1354 - #1365

Closed
mergify[bot] wants to merge 8 commits into
mainfrom
mergify/merge-queue/c8f1856fde
Closed

mergify[bot] wants to merge 8 commits into
mainfrom
mergify/merge-queue/c8f1856fde

Conversation

@mergify

@mergify mergify Bot commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

✨ Pull request #1354 ahead in the queue was removed (reason: checks failed). The pull request #1358 has been requeued. ✨

#1358 is queued for merge on branch main (2f93d6c).

Stacked behind 2 pull requests queued ahead of this batch, not part of it. These checks run on a tip that also carries their commits, so a failure here can come from them as much as from #1358.

Queued ahead of this batch:

This pull request has been created by Mergify to speculatively check the mergeability of #1358.
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 = test
  • check-success = lint
  • check-success = validate

Required conditions to stay in the queue:

---
all_scopes: false
checking_base_sha: 6bbefd4261db4eb8e7242524999fa9d82c2e3be5
previous_check_retries: []
previous_failed_batches:
  - batch_pr_head_sha: 696aae01f0aab8d341445057a983593a29328eb4
    batch_pr_number: 1361
    checked_pull_requests:
      - 1332
      - 1354
      - 1358
      - 1359
    draft_pr_head_sha: 696aae01f0aab8d341445057a983593a29328eb4
    draft_pr_number: 1361
pull_requests:
  - number: 1358
    scopes: []
scopes: []
...

CI Bot and others added 8 commits October 11, 2026 14:27
tests/test_install.py and engine/hooks/_runner/tests/test_wrap_installed.py
asserted one settings entry per hook, so every per-hook guarantee they check
failed once CATSTACK_HOOK_DISPATCHER (#1122) collapsed an event to a single
_runner/dispatch.py entry: 70 failures and 1 error on #1122's head, all in
these two files.

load_config() in tests/test_install.py now reads an installed config and
expands a collapsed event back into one entry per hook, resolving each hook's
registration the way dispatch.py itself does (dispatch.load_event_hooks: the
cursor registry, or the hook's own manifest for claude and codex). Each
assertion therefore sees the identical shape in both layouts and keeps
checking the same guarantee -- right event, right harness, Stop mirrored to
SubagentStop or opted out, dead entries pruned, non-catstack entries
untouched. test_wrap_installed.py's fixture pins the flag off, since it
asserts the settings bytes install writes rather than a hook's registration.

#1122's own test_default_is_off_and_byte_identical_to_no_flag_at_all now
compares the default install against an install that sets the flag to
whatever flags.py resolves as the default, and clears the key from its own
environment first, so the flag-on run of the full suite cannot leak into the
"default" side of the comparison.

The CATSTACK_HOOK_DISPATCHER default is left off. Flipping it on is gated on
both full-suite runs passing, and the source branch
plan/hook-backlog-1c-install-tests-accept-the-one-entry-per-event-layout-default-on-only-if-both-suites-pass
never changed engine/hooks/_flags/flags.py, so that gate was not met there
and this commit does not claim it.

Cherry-picked from 6330abf on that branch.
The branch's two other content commits (engine/hooks/_runner/doctor.py,
scripts/test/run_skill_scenarios.py) are unrelated to this claim and are
left behind.
…ew claim: tests.test_install and test_wrap_installed accept both install layouts (one entry per hook with CATSTACK_HOOK_DISPATCHER off, one dispatcher entry per event with it on), and the flag defaults to on only if bash scripts/test/run_all_tests.sh passes with the flag on and off.

Review lane: behavior
Safety invariant: If either suite run fails, the default stays off. Per-hook guarantees stay checked in the dispatcher layout.
Files: tests/test_install.py, tests/test_wrap_installed.py
Change types: test
Acceptance criteria: This workflow publishes one pull request for the install-layout claim only.

Exit code: 0
Invoker-Finalize-Id: f459f9c9-a623-4fd7-9708-21cc3ae4cbda
…s/g0.t0.a-a464d403f-4908b6a4 — Review claim: tests.test_install and test_wrap_installed accept both install layouts (one entry per hook with CATSTACK_HOOK_DISPATCHER off, one dispatcher entry per event with it on), and the flag defaults to on only if bash scripts/test/run_all_tests.sh passes with the flag on and off.

Review lane: behavior
Safety invariant: If either suite run fails, the default stays off. Per-hook guarantees stay checked in the dispatcher layout.
Files: tests/test_install.py, tests/test_wrap_installed.py
Change types: test
Acceptance criteria: This workflow publishes one pull request for the install-layout claim only.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Change-Id: Id0dec9283a11dc8cf7089f236efd154b5d84b090
…r readable output

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Change-Id: I3e4aace7fa476750c7f5c3f9e64f4ba39b39c8b4
@mergify mergify Bot closed this Oct 12, 2026
@mergify
mergify Bot deleted the mergify/merge-queue/c8f1856fde branch October 12, 2026 22:06
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