Skip to content

merge queue: checking #786 on main (67ace70) - #939

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

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

Conversation

@mergify

@mergify mergify Bot commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

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

#786 is queued for merge on branch main (67ace70).

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

Required conditions to stay in the queue:

---
checking_base_sha: 67ace70d76fab9ce8102d42419562448d43c8bb5
previous_check_retries: []
previous_failed_batches: []
pull_requests:
  - number: 786
    scopes: []
scopes: []
...

EdbertChan and others added 6 commits September 24, 2026 19:08
The sentence that tells the reader to use the tag showed it as a bare token
naming no blocker. That is the shape diu-stop rejects, so quoting cat-mode's
own rule tripped the gate enforcing it. It now shows the same template
engine/CLAUDE.core.md already uses.

tests/test_cat_mode.py gains the structural catch: no tag anywhere in the
skill may name no blocker, and the skill must still show the tag at all, so
the fix cannot be "delete the example".

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Change-Id: If47021e83bdf3d8771ccbdb879001f6effc65a3c
The bare `{{CAT-UNVERIFIED}}` was fixed in SKILL.md, but the same sentence
lives twice on purpose: SKILL.md keeps the one-line form and references/
verify.md holds the full text the evidence gate leans on. verify.md still
showed the tag naming no blocker, so a reader sent to the reference copied
the shape diu-stop rejects.

verify.md now shows the same template. The structural catch walks every
markdown file in the skill instead of SKILL.md alone, and asserts the two
files that carry the rule are in the swept list, so an empty or mis-rooted
scan cannot report clean. The "still shows the tag at all" assertion now
covers both copies, so the fix cannot be deleting the example in either.

Fail-before / pass-after on
tests.test_cat_mode.TestEscapeHatchTemplateIsWellFormed: the extended scan
fails on verify.md's `['{{CAT-UNVERIFIED}}']` before the edit, and the full
91-test tests/test_cat_mode.py suite passes after.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The escape-hatch test explained why it pins SKILL.md and verify.md by
name in three `#` comment lines. Comments are banned in code here, and
CI's no-comments twin (scripts/ci/check_no_new_comments.py, the gate for
engine/hooks/no-comments) failed the PR on exactly those three lines.

The reason is worth keeping: a scan over an empty or mis-rooted list
reports clean and reads the same as a pass, so the two files that carry
the rule are asserted into the list before the sweep runs. Moving that
text into the method docstring keeps it where a reader and `unittest -v`
both see it, and the detector only looks for `#` and `//`.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@mergify mergify Bot closed this Sep 24, 2026
@mergify
mergify Bot deleted the mergify/merge-queue/dc0a8f8cfa branch September 24, 2026 11:45
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