docs(rules): Option B disclosure for shadow-star-shorthand citation in m-acc rule (audit #4031 follow-up)#4036
Conversation
Surveys branch protection, CI gates, and pull request review rules for Zeta, civsim, and proposed repos to validate the Axis-3 repo split logic.
…n m-acc rule (audit #4031 follow-up) Peer-Otto-Desktop's #4033 covered 3 of 5 audit findings + correctly identified one mis-attribution (my #4031 audit said the classifier-caught-otto memo was cited in holding-without-named-dependency rule; it's actually in persistence-choice-architecture rule — peer's "stale audit anchor" catch was right). The shadow-star-shorthand-autocomplete-marker.md case was correctly SKIPPED by peer's #4033 because that rule already has good user-scope disclosure at line 78. BUT the same memory file is also cited inline in `m-acc-multi-oracle-end-user-moral-invariants.md` line 191 — a second citation site my original audit's `sort -u` dedup hid. Peer-Otto-Desktop didn't pick this up because they followed my audit list directly. Fix: add Option B disclosure inline, pointing cold-boot agents at the in-repo shadow-star-shorthand rule that names the shorthand definitively. Audit-method gap revealed: future audits should track ALL rule→file edges, not unique file paths. Filed for future-Otto consideration. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c56f7388b5
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| - [x] Divergence matrix complete | ||
| - [x] Candidate-split signals identified and documented | ||
| - [x] Output doc committed and referenced from B-0427 | ||
| - [x] B-0476 closed with PR link |
There was a problem hiding this comment.
Add the PR URL before checking closure criteria
This checklist item is marked complete, but the row does not include any PR link, so the Definition of done currently asserts traceability that isn't present. Because B-0427 and future audits depend on these backlog rows as the durable closure record, marking this as done without the URL can mislead downstream reviewers and automation about whether the closure evidence exists.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Pull request overview
This PR primarily adds an Option B disclosure for a user-scope-only memory citation in the m/acc rule, but it also includes additional backlog/research updates for B-0476 that are outside the stated PR scope.
Changes:
- Adds cold-boot fallback disclosure for the shadow-star shorthand citation in the m/acc rule.
- Adds a new B-0476 ruleset-divergence research document.
- Marks B-0476-related backlog checklist/status items as done and references B-0476 completion from B-0427.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
.claude/rules/m-acc-multi-oracle-end-user-moral-invariants.md |
Adds user-scope-only disclosure and in-repo fallback rule reference. |
docs/research/2026-05-14-github-ruleset-divergence-audit-b0476.md |
Adds ruleset-divergence audit research output. |
docs/backlog/P1/B-0476-github-ruleset-divergence-audit-2026-05-14.md |
Closes B-0476 and checks off start/definition-of-done items. |
docs/backlog/P1/B-0427-repo-split-third-orthogonal-axis-code-vs-english-formal-verification-aaron-2026-05-13.md |
Notes B-0476 completion in the parent row checklist. |
Comments suppressed due to low confidence (2)
docs/backlog/P1/B-0476-github-ruleset-divergence-audit-2026-05-14.md:119
- P1: Checking off “B-0476 closed with PR link” is inaccurate because this row file contains no PR link for the closure (
search_filefound noPR #entry), so future readers cannot trace which PR closed the row.
- [x] B-0476 closed with PR link
docs/backlog/P1/B-0476-github-ruleset-divergence-audit-2026-05-14.md:4
- P1: Changing this row to
status: closedwithout regeneratingdocs/BACKLOG.mdleaves the generated index stale; it still lists B-0476 as open (docs/BACKLOG.md:283). Please regenerate/update the index in the same PR.
status: closed
| id: B-0476 | ||
| priority: P1 | ||
| status: open | ||
| status: closed |
| - [ ] Walk `depends_on:` chain — B-0475 closed with output doc committed | ||
| - [ ] Prior-art search: any existing ruleset documentation in substrate? | ||
| - [x] B-0475 output doc reviewed (prior-art audit complete; no blocking conflicts) | ||
| - [x] Walk `depends_on:` chain — B-0475 closed with output doc committed |
| and proposed repos | ||
| 4. **Ruleset audit** — survey existing rulesets; document | ||
| divergences as candidate-split signals | ||
| divergences as candidate-split signals (Done via B-0476) |
| @@ -0,0 +1,67 @@ | |||
| # GitHub ruleset divergence audit — survey rulesets across repos; identify smell signals | |||
|
Closing — branch-base contamination (b/4036 inadvertently reverts peer-Otto's recent main updates to B-0427/B-0476/B-0509/install.ts). Re-landed via cherry-pick on fresh branch off current origin/main. See follow-up PR opened against memo/m-acc-shadow-star-disclosure-r2-2026-05-17. |
Pull request was closed
…bstrate surfaces (systemic, not rule-local) (#4041) Audit #4031 found 5 dangling rule→memory refs in .claude/rules/. Extending the audit to 4 other substrate surfaces revealed 29 total: 1 skill, 8 research, 17 backlog, 3 persona — 6× scaling. User-scope auto-load makes citations resolve transparently for Aaron's Otto-CLI; cold-boot agents on fresh checkouts (different machine, new contributor, CI agent) follow the citations and find nothing. Not P0 — system works for Aaron. But 29 vs 5 changes priority calculus. Filed as substrate-engineer candidate: `tools/hygiene/audit-dangling- memory-refs.ts` + CI integration would mechanize the discipline. Audit-method gap also documented: original audit's `sort -u` dedup hid multi-citation edges (caused #4036 to miss a citation site that #4038 r2 had to back-fill). Better audit form tracks file:line pairs, not deduplicated filenames. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Summary
Follow-up to PR #4033 (peer-Otto-Desktop's Option B for 3 of 5 audit findings from #4031).
Re-audit confirms peer's #4033 was correct on 4 of 5 cases (one was a mis-attribution in my original audit that peer correctly identified as "stale audit anchor"). The shadow-star-shorthand case was correctly SKIPPED for
shadow-star-shorthand-autocomplete-marker.mdbecause that rule already has good disclosure at line 78.Real remaining gap:
m-acc-multi-oracle-end-user-moral-invariants.mdline 191 citesfeedback_aaron_shadow_star_shorthand_*inline without disclosure. My original audit'ssort -udedup on filenames hid this second citation site.Fix: add inline Option B disclosure pointing cold-boot agents at the in-repo
shadow-star-shorthand-autocomplete-marker.mdrule that names the shorthand definitively.Audit-method gap noted
Future audits of rule→memory-file references should track ALL edges, not unique file paths via
sort -u. The dedup pattern loses multi-rule-citation visibility.Test plan
git ls-remote origin memo/m-acc-rule-... → c56f7388....claude/rules/m-acc-multi-oracle-end-user-moral-invariants.md🤖 Generated with Claude Code