Repository navigation
Add check-heading-levels - #1373
Conversation
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FWgYrDiMYAnjPMHWVTPJfZ
…er (#1372) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FWgYrDiMYAnjPMHWVTPJfZ
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
🤖 Antigravity agent reportCross-harness review (Gemini 3.8 Flash (Medium) via Antigravity
|
Skip includes inside fenced divs, compare real paths for include cycles, require whitespace before closing hashes, read folded multi-line titles, cache file reads, and stop exempting moved heading lines. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FWgYrDiMYAnjPMHWVTPJfZ
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FWgYrDiMYAnjPMHWVTPJfZ
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
🤖 Antigravity agent reportCross-harness review (delta-focused, Gemini 3.8 Flash (Medium) via Antigravity
|
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FWgYrDiMYAnjPMHWVTPJfZ
|
Claude finished review — View run I read PR #1373 live just now. It is The prior verdict, Ready for merge on VerdictReady for merge Structured Review Data (JSON){
"schema_version": "1.1",
"reviewer": "claude",
"commit_sha": "466fbf0bbc3301f974b18dc9b59289036394cdaf",
"verdict": "CLEAN",
"findings": [],
"detailed_assessment": "Traced the rewritten moved-heading test by hand: the moved first heading at line 5 yields exactly one deep finding, which would vanish if the moved-line exemption returned; pytest was unavailable so it was not run.",
"holistic_assessment": "The only change since the last round is a test-only edit that makes the moved-heading case discriminate; production code, docs and workflow wiring are untouched, so the prior clean verdict stands."
}Stopping Point: Clean stopping point reached --- session done; UMS executed; no follow-up items pending Reviewed commit: 466fbf0 Reviewed commit: 466fbf0 |
🤖 Antigravity agent reportCross-harness review (delta-focused, Gemini 3.8 Flash (Medium) via Antigravity
|
2026-10-30 21:44 UTC |
Requested by Ezra · project thread
Closes #1372.
Adds
check-heading-levels, a diff-scoped, warn-only composite action and reusable workflow. On added heading lines it flags:includeshortcodes) is deeper than level 2;title:.Headings inside fenced divs (the
####titles of definition and exercise divs), code fences, comments and front matter do not count, and<!-- check-heading-levels: allow -->exempts a line. A page is a.qmdwith atitle:in its front matter, so include fragments take their level from the page that includes them.Run in whole-tree mode on 2026-10-30 it finds nothing in lds and psw, and in the other notes repos only headings that the open fix PRs address or that remain open decisions:
# Configuring Rinclude, and five###headings incount-regression.qmdthat skip level 2.##headings.data.qmdand pdsrandom-variables.qmd: title repeated as the first heading.Tests: 24 unit tests (rules, exemptions, include resolution, diff scoping, skip-not-fallback, defaults); a mutation of the skip rule makes three of them fail. A
heading-levelsjob in_selftest.ymlexercises the composite action's inputs.Also wired into the lists the repo requires for a new check:
README.md,CLAUDE.md,website/(permissions, versioning, workflows, reference page and sidebar),dependabot.yml, anexamples/stub and a changelog fragment. It exceeds the PR-size cap because a new check touches all of them.Generated by Claude Code