Skip to content

merge queue: checking #1332 + #1314 + #1309 together on main (2745ccd) - #1345

Closed
mergify[bot] wants to merge 14 commits into
mainfrom
mergify/merge-queue/2315602db1
Closed

mergify[bot] wants to merge 14 commits into
mainfrom
mergify/merge-queue/2315602db1

Conversation

@mergify

@mergify mergify Bot commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

🕵️ This combination of pull requests has timed out. Mergify will split this batch to understand which pull request is responsible for the checks timeout. 🕵️

#1332 + #1314 + #1309 are queued together for merge on branch main (2745ccd).

This pull request has been created by Mergify to check the mergeability of [#1332 + #1314 + #1309].
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: 2745ccd013b1c98144040c344fe9de84c47d29dd
previous_check_retries: []
previous_failed_batches: []
pull_requests:
  - number: 1332
    scopes: []
  - number: 1314
    scopes: []
  - number: 1309
    scopes: []
scopes: []
...

EdbertChan and others added 14 commits October 8, 2026 06:55
Agents kept narrating by-model health and patching charts before splitting volume, fill, resolve, and filter — lock that check into standing defaults.

Co-authored-by: Cursor <cursoragent@cursor.com>
Change-Id: I8efc336daf9878751865cf3c4bac4d55cd50733f
Phrase-judge rejected leads that named only the trigger phrase; state the split and the stop-first catch as the lesson, with the triggers as examples.

Co-authored-by: Cursor <cursoragent@cursor.com>
Change-Id: I7dad9e54f9d280bb4d8f41ac06662293e39c9e05
…mple phrasing.

Co-authored-by: Cursor <cursoragent@cursor.com>
Change-Id: Idebc0f0ba74e47864bf479446a8e27b0574cdcde
…lesson.

Co-authored-by: Cursor <cursoragent@cursor.com>
Change-Id: Iaa84683fcf5a66e8f70a0dbf99ebcf19acc1d7a7
The dashboard-health defaults name that audit flag in backticks; the
skill-existence check must treat it as a process token, not a skill path.

Co-authored-by: Cursor <cursoragent@cursor.com>
Change-Id: I1afa1d44a91d2886300ab5f17843b8e583dbda0c
Rule-scope rejected a lead that named automate-mandate mid thrash; keep
named flags only as examples after the same-type-catch rule.

Co-authored-by: Cursor <cursoragent@cursor.com>
Change-Id: Ieedc8823a35a6be02d6b392d5c704f1b817d7ea1
Co-authored-by: Cursor <cursoragent@cursor.com>
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.
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