Skip to content

merge queue: checking #1360 on main (2f93d6c), stacked on 4 pull requests ahead - #1362

Closed
mergify[bot] wants to merge 12 commits into
mainfrom
mergify/merge-queue/1fc394e0bd
Closed

mergify[bot] wants to merge 12 commits into
mainfrom
mergify/merge-queue/1fc394e0bd

Conversation

@mergify

@mergify mergify Bot commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

⏳ The pull request #1360 is queued for merge and currently being checked. ⏳

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

Stacked behind 4 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 #1360.

Queued ahead of this batch:

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

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: eb165777f83e60613d576a0b2861c3dbb4e04a7b
previous_check_retries: []
previous_failed_batches: []
pull_requests:
  - number: 1360
    scopes: []
scopes: []
...

CI Bot and others added 12 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
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Change-Id: Ib18c9dab334aef5e6428f0eb4367d07c2c869b64
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Change-Id: I69aa5ab27060da00fd801ddf841b1058bc3bd0a7
@mergify mergify Bot mentioned this pull request Oct 12, 2026
2 tasks done
@mergify mergify Bot closed this Oct 12, 2026
@mergify
mergify Bot deleted the mergify/merge-queue/1fc394e0bd branch October 12, 2026 21:12
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