Repository navigation
feat(markdown-format): report end-of-turn lint findings by default without continuing the turn - #11756
Conversation
Lane-Activity: work-resolve-issue/resolve-issue
…op path With markdown_format_end_of_turn unset, the Stop row now runs the check on every turn end. hook-census.sh under strace puts the clean-tree path at 20 spawns (11 creations, 9 execs), and hyperfine at 45.6 ms mean against 25.3 ms with the option false, on WSL2. A ratchet holds the 20-spawn ceiling and the README states the figures (hook-budget Rule 1). Refs: #11502 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…urn path Refs: #11502 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
claude-security-review reviewed Security review: PR #11756 (markdown-format end-of-turn report on by default)I read every hunk of all 13 changed files. No changed file matches a Manifest items (
What I checked and found clean
Spend: none. The default Stop row adds about 20 local process spawns per turn end, which is local compute with no charge. No embedded instructions in the PR context. No settled threads were supplied. critical-findings: 0 |
|
claude-review reviewed Code review: PR #11756 (markdown-format end-of-turn report by default)I read all 13 changed files in What I checked
Closing issue #11502 acceptance criteria
Plugin manifest
Notes (not findings)
I ran no tests myself. The test results in the PR description are the author's and I have not verified them. |
|
Closes #11502
Summary
#11502 (part of #9154, gate G9) turns markdown-format's end-of-turn check from opt-in into a report by default. With
markdown_format_end_of_turnunset, Markdown lint findings in the uncommitted changes reach the user as a warning and the turn ends.truekeeps today's hand-back to Claude.falseruns no check. The issue lane built the change and stopped only for hook-budget Rule 1, because a Stop row that now runs on every turn end needs its spawn count and wall time measured under strace. This host run measured it and added the ratchet.Fix
c75f25c):markdown-format.sh --end-of-turn: unset →systemMessagewith the findings, exit 0;true→ exit 2, at most once per turn (stop_hook_active).hooks.json: the gate is now--run-if-unset-or-true.docs/contracts/hook-budgetandcheck-placementupdated..performance/ratchets.jsonholds the new default clean-tree path at 20 spawns (markdown-format-stop-end-of-turn-default-clean-spawns).plugins/markdown-format/README.mdstates the measured cost, replacing "not measured yet".Verification
scripts/hook-census.shunder strace, default path on a clean tree: 20 spawns (11 creations, 9 execs), reproduced twice. The option-off ratchet stays at 1.hyperfine -N, default against option off:scripts/check-affected.sh --testson the committed head: 14 passed, 2 skipped./plugin configuresavesfalsefor this boolean when a user edits another option, which would turn the report off for them. It needs an interactive Claude Code session, so it is not checked here.Related
🤖 Generated with Claude Code