Commit a4915d4
docs: promote stranded conventions to path-scoped rules and nested AGENTS.md (#3388)
No linked issue
## Summary
Applies the accepted findings of a full-repo
`/instruction-placement:audit` run (1,195 files swept, eight
adjudication lanes, independent fresh-context verification). The repo's
always-loaded instruction layer was nearly empty while several genuinely
normative contributor conventions lived only in docs Claude never loads;
this PR makes each reachable at its actual trigger point, as pointers so
the human-facing docs stay the single source of truth.
## Fix
One commit per accepted finding, in ranked order:
- IP-001 (`effa775a`): root `AGENTS.md` gains a four-line pointer to
README's "Validate a change" contract (zero suites is an error, never
"nothing to run").
- IP-002 (`173869be`): `.claude/rules/catalog-taxonomy.md`, scoped to
`.claude-plugin/marketplace.json` (1 tracked file), pointing at
`docs/CATALOG-TAXONOMY.md`.
- IP-003 (`3e78bcc4`): `.claude/rules/hook-budget.md`, scoped to
`plugins/*/hooks/**` (146 files), pointing at the hook-budget
convention's Rules section.
- IP-004 (`b056a6ef`): `.claude/rules/ruff-pin.md`, scoped to `**/*.py`
(100 files), pointing at the pinned-ruff wrapper contract in
`docs/CI-RUNNER-ROUTING.md`.
- IP-005..007 (`730f24e7`, `fa1a3856`, `1c6c37e1`): nested `AGENTS.md`
plus mandatory `CLAUDE.md` shim at
`plugins/machine-health/skills/audit/`, pointing at the human-only
README's layout, dual-invocation, and stateless-checks conventions.
The generated on-demand rules index in root `AGENTS.md` is regenerated
with each move so every deferred surface stays reachable from subagents.
## Verification
- Every `paths:` glob machine-validated (match counts above; no
zero-match, no bad brackets, within budget).
- Empirical load probes via the plugin's `verify-load.sh` (real CLI with
an `InstructionsLoaded` hook): the catalog-taxonomy rule fires on read
of `marketplace.json`, and the nested machine-health pair loads via shim
traversal; both VERDICT PASS.
- `render-index.sh check` reports IN-SYNC at every commit.
- `scripts/affected-tests.sh --explain`: all six changed files are
recorded no-suite classes (prose), zero suites owed.
- `markdownlint-cli2` clean over all changed files.
## Related
Findings artifact (statuses per finding, held-back Gate 0 items,
routed-out questions) lives under the instruction-placement plugin's
data directory, keyed to this project; not committed by design. N/A for
tracker links.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_01THL7Bu9RBnbob7xMeiXTBU
---
_Generated by [Claude
Code](https://claude.ai/code/session_01THL7Bu9RBnbob7xMeiXTBU)_
---------
Co-authored-by: Claude <noreply@anthropic.com>1 parent c70d886 commit a4915d4
8 files changed
Lines changed: 104 additions & 1 deletion
File tree
- .claude/rules
- plugins/machine-health
- .claude-plugin
- skills/audit
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
6 | 17 | | |
7 | 18 | | |
8 | 19 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
0 commit comments