Skip to content

chore: sync .claude extension template and clear markdownlint debt - #39

Merged
twistedmelonman merged 1 commit into
mainfrom
claude/chore-lint-debt-719a49fd
Sep 9, 2026
Merged

chore: sync .claude extension template and clear markdownlint debt#39
twistedmelonman merged 1 commit into
mainfrom
claude/chore-lint-debt-719a49fd

Conversation

@twistedmelonman

Copy link
Copy Markdown
Member

What was broken

This repo failed standards-check on shellcheck and markdownlint.

shellcheck — every finding was in
.claude/hooks/extensions/example.sh.disabled, a copied template that is
never executed
(the .disabled suffix stops the global hook sourcing it).
SC2155/SC2329/SC2312, already fixed upstream in smartwatermelon/dev-env#102.
Provenance verified, not assumed: this file's md5 matches dev-env at
404218c exactly — the revision immediately before that fix — so this is a
forward update to an already-reviewed file, not a local edit.

markdownlint — MD040 (an untagged fence around a directory tree, now text) and MD041 (LICENSE.md opened with the plain-text line MIT License, now an h1; the license text itself is untouched).

Verification

$ bash standards/run-standards.sh --repo <this repo>
RUNNER_EXIT=0   # zero ::error lines from all six linters

The same runner was run before the fix as a known-bad control and
reproduced these exact findings.

Why the whole repo, in one commit

standards-check scans the entire repo on each PR run, and
pre-merge-review.sh blocks on failing checks regardless of whether they are
required (smartwatermelon/dev-env#106). A partial fix would leave the check red
on its own PR and block the very commit that clears the debt.

Wider finding

Six fleet repos carry this identical stale template, and repo-template does
too — so every new repo is born failing standards-check. Root cause:
smartwatermelon/dev-env#62.

https://claude.ai/code/session_01UaPoEix1iED8ENCZCa12jy

Wave 3 of the standards-check rollout. This repo was red on shellcheck
and markdownlint.

shellcheck: every finding was in
.claude/hooks/extensions/example.sh.disabled, a copied template that is
never executed. SC2155/SC2329/SC2312, all already fixed upstream in
smartwatermelon/dev-env#102. The copy here is byte-identical to dev-env
at 404218c, the revision immediately before that fix, so this is a pure
forward update to an already-reviewed file rather than a local edit.
Provenance was verified by matching the file's md5 against dev-env's
history for that path.

markdownlint: MD040 (untagged fence around a directory tree, now `text`) and MD041
(LICENSE.md opened with the plain-text line "MIT License", now an h1 —
the license text itself is untouched).

Verified with the CI runner rather than the linter alone:
run-standards.sh --repo <this repo> now exits 0 with no errors from any
of the six linters.

The whole repo is cleared in one commit deliberately. standards-check
scans the entire repo on every PR, so a partial fix would leave the check
red on its own PR and pre-merge-review.sh would block the very commit
that clears the debt (smartwatermelon/dev-env#106).

Claude-Session: https://claude.ai/code/session_01UaPoEix1iED8ENCZCa12jy
@claude

claude Bot commented Sep 9, 2026

Copy link
Copy Markdown

Changes are limited to .claude/ boilerplate and LICENSE.md — no production paths touched. The example hook is a .disabled template that never executes unless manually renamed. Shell fixes (separate local/assignment, regex two-step workaround for grep's lack of lookahead, ENABLE_* env guards) are correct improvements with no regression risk.

VERDICT: PASS

@twistedmelonman
twistedmelonman merged commit 4b7692c into main Sep 9, 2026
5 checks passed
@twistedmelonman
twistedmelonman deleted the claude/chore-lint-debt-719a49fd branch September 9, 2026 19:56
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