Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
c27198b
feat(lint): 1/8 — scan a _ROOTS tuple in the prose budget
uipreliga Sep 15, 2026
008a778
docs(tests): 2/8 — move the CE catalogue from notes/README.md to lint…
uipreliga Sep 15, 2026
785e5e4
docs(tests): 3/8 — move lint-rule defect stories into notes/lint-rule…
uipreliga Sep 15, 2026
35e21e8
docs(tests): 4/8 — move doc-surface rule rationale into notes/lint-ru…
uipreliga Sep 15, 2026
63afce3
docs(tests): 5/8 — move golden-sensor and bracket-clock rationale int…
uipreliga Sep 15, 2026
deae3c8
docs(tests): 6/8 — move plain test-module rationale into the subsyste…
uipreliga Sep 15, 2026
a50c981
fix(docs): wrap an over-long line in the CE063 docstring
uipreliga Sep 15, 2026
479f1a3
docs(tests): 7/8 — delete HISTORY prose from tests, fix dangling docs…
uipreliga Sep 15, 2026
4e1bebb
feat(lint): 8/8 — turn the prose budget gate on for tests/
uipreliga Sep 15, 2026
a9bb313
fix(lint): make the prose-only proof see added directives and reject …
uipreliga Sep 15, 2026
c821fd8
docs: record two prose-budget guard gaps the final review found
uipreliga Sep 15, 2026
a79e75b
fix(lint): include untracked files in the prose-only proof
uipreliga Sep 15, 2026
425b7ce
fix: code review fixes for tests-slim-prose
uipreliga Sep 15, 2026
b8700f2
fix(lint): point main's exempt-pair test at the repo root
uipreliga Sep 16, 2026
9bb48d2
docs(lint): slim the five essays main's reports split brought in
uipreliga Sep 16, 2026
1ad75ef
refactor(lint): delete CE023, which guards a package that no longer e…
uipreliga Sep 16, 2026
c4d91e1
feat(lint): cap the comment RUN, replacing the per-file comment budget
uipreliga Sep 16, 2026
73165be
feat(lint): keep the file-total comment budget as a backstop under th…
uipreliga Sep 16, 2026
ed1c01c
docs(lint): answer review — cut runs off the cap, drop lint-rules.md …
uipreliga Sep 16, 2026
d20d40e
fix(lint): fail the prose gate cleanly on a missing root, and name th…
uipreliga Sep 16, 2026
5cfec18
Merge branch 'main' into docs/slim-tests-prose
uipreliga Sep 16, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
docs: record two prose-budget guard gaps the final review found
Both are deferred with the reason: the Args-then-narrative placement case
needs an indentation-aware walk plus false-positive triage, and restricting
pointer targets to .claude/notes/ is a design decision, not a mechanical
guard. The two cheap gaps from the same review were closed in e71a16f0.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
  • Loading branch information
uipreliga and claude committed Sep 16, 2026
commit c821fd8e12a742f2fe6b07845909ba62ae0dbfc3
17 changes: 17 additions & 0 deletions .claude/harness-candidates.md
Original file line number Diff line number Diff line change
Expand Up @@ -975,3 +975,20 @@ re-derive from scratch.
`tests/test_harbor_packager.py:163` and `:187`,
`tests/lint/rules/ce064_turn_bracket_on_the_clock.py:40`. Caught in: tests
prose slimming, Phases 3 and 7.

- [ ] **Narrative after a docstring's `Args:`/`Returns:` block that follows a
`Rationale:` pointer.** `check_pointer_placement` accepts any tail that STARTS
with a trailing section, so pointer → `Args:` → an indented entry → a new
base-indented paragraph passes although the pointer is no longer the last prose
line. Guarding it means walking section blocks by indentation (the shape
`prose_words` already uses), plus false-positive triage over every src/ and
tests/ docstring that ends in a section — more than a quick add. Caught in:
tests prose slimming, final review (gpt-5.6-sol).

- [ ] **A `Rationale:` pointer whose target is not under `.claude/notes/`.**
`check_pointers` joins the captured path onto the repo root, so an absolute
path, a `..` segment or any other Markdown file resolves, while CLAUDE.md and
`.claude/notes/README.md` define the pointer as a repo-relative notes path. No
such pointer exists today. Deferred because restricting the target is a design
decision (a `docs/` guide heading is a plausible SSOT target) rather than a
mechanical guard. Caught in: tests prose slimming, final review (gpt-5.6-sol).