Skip to content

fix(otto-279): role-refs not persona-names in tools/hygiene/audit-*.ts (9 hits)#3574

Merged
AceHack merged 2 commits into
mainfrom
fix/otto-279-role-refs-tools-hygiene-otto-cli-2026-05-15
May 15, 2026
Merged

fix(otto-279): role-refs not persona-names in tools/hygiene/audit-*.ts (9 hits)#3574
AceHack merged 2 commits into
mainfrom
fix/otto-279-role-refs-tools-hygiene-otto-cli-2026-05-15

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented May 15, 2026

Summary

Otto-279 cleanup batch #3 — 9 `Per Codex` hits in tools/hygiene/audit-*.ts code comments. Same fix pattern as PR #3570 (.claude/) + PR #3572 (docs/).

Files

File Hits Pattern
`tools/hygiene/audit-backlog-items.ts` 1 line 505
`tools/hygiene/audit-lost-files.ts` 4 lines 103, 145, 166, 313
`tools/hygiene/audit-promotion-ledger.ts` 1 line 551
`tools/hygiene/audit-trajectories.ts` 4 lines 204, 271, 363, 369 (3 audit-flagged + 1 line-wrap variant)

Fix pattern

`Per Codex 2026-05-06 review[ on PR #1702]: "..."` →
`Per [PR #1702 ]review 2026-05-06: "..."`

Drops persona/tool-name attribution; preserves PR-thread reference + temporal anchor for traceability.

Auditor verification

After fix: 0 `Per Codex` hits in tools/hygiene/audit-*.ts (re-scan via `bun tools/hygiene/audit-orphan-role-refs.ts`).

Out of scope (next-batch candidates)

  • `tools/github/poll-pr-gate-batch.test.ts:9` — `Per Aaron` (test comment)
  • `tools/peer-call/append-identity-receipt.ts:307` — `Per Copilot` (sibling class; Copilot is also tool-name-as-persona)
  • `src/Core/Maji.fs` + tests — orphan-ferry-refs (different fix pattern)

Test plan

  • 4 files, 20 line-edits (path-preserving)
  • Auditor re-run shows clean tools/hygiene/audit-* scope
  • CI green
  • Auto-merge arms

🤖 Generated with Claude Code

…s (9 hits)

Follow-up batch #3 to PR #3570 (.claude/ surfaces) and PR #3572 (docs/
surfaces). Same Otto-279 fix pattern applied to tools/hygiene/audit-*.ts
code comments.

Files:

- tools/hygiene/audit-backlog-items.ts:505 (1 hit)
- tools/hygiene/audit-lost-files.ts:103, 145, 166, 313 (4 hits)
- tools/hygiene/audit-promotion-ledger.ts:551 (1 hit)
- tools/hygiene/audit-trajectories.ts:204, 271, 363, 369 (4 hits — 3 flagged
  by audit + 1 line-wrapped variant audit didn't catch via regex)

Pattern: `Per Codex 2026-05-06 review[ on PR #1702]: "..."` →
`Per [PR #1702 ]review 2026-05-06: "..."`. Drops persona/tool name
attribution; preserves PR-thread reference + temporal anchor.

Per Otto-279 carve-out: "Per <Name> 2026-MM-DD" belongs on history
surfaces only. Code-comment review attributions in tools/* count as
code-surface, not history surface.

Auditor verification: `bun tools/hygiene/audit-orphan-role-refs.ts`
re-run shows 0 `Per Codex` hits in tools/hygiene/audit-*.ts after fix.

Remaining (next-batch candidates):

- tools/github/poll-pr-gate-batch.test.ts:9 `Per Aaron` (test comment)
- tools/peer-call/append-identity-receipt.ts:307 `Per Copilot` (sibling class — Copilot is also tool-name-as-persona)
- src/Core/Maji.fs + tests (orphan-ferry-refs — different fix pattern)

Composes with: PR #3570 (.claude/ batch), PR #3572 (docs/ batch),
tools/hygiene/audit-orphan-role-refs.ts (the detection tool),
Otto-279 carve-out.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 15, 2026 20:15
@AceHack AceHack enabled auto-merge (squash) May 15, 2026 20:15
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR continues the Otto-279 cleanup by removing persona/tool-name attribution (“Per Codex …”) from code comments in tools/hygiene/audit-*.ts, while preserving the original review/PR traceability anchor.

Changes:

  • Replaced “Per Codex 2026-05-06 …” comment attributions with “Per PR #1702 review 2026-05-06 …” across multiple hygiene audit scripts.
  • Kept the operational intent of the comments intact (surfacing gh/git failures rather than silently reporting “0” results).

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
tools/hygiene/audit-trajectories.ts Updates several “Per Codex …” comment attributions to PR-based references.
tools/hygiene/audit-promotion-ledger.ts Updates a “Per Codex …” attribution to a PR-based reference.
tools/hygiene/audit-lost-files.ts Updates four “Per Codex …” attributions; two of them now use an ambiguous “Per PR-review …” form.
tools/hygiene/audit-backlog-items.ts Updates a “Per Codex …” attribution to a PR-based reference.
Comments suppressed due to low confidence (1)

tools/hygiene/audit-lost-files.ts:169

  • This comment uses Per PR-review 2026-05-06, which is inconsistent with nearby attributions that include the actual PR number (Per PR #1702 review 2026-05-06). Consider including the PR number here too to preserve a precise source anchor.
  // Per PR-review 2026-05-06: orphan-branch detection wants the
  // OPEN-PR set ("which branches still have a live PR keeping them
  // attached"), not all-states. Closed/merged PRs do not block a
  // branch from being orphaned -- in fact, a closed-not-merged PR is

Comment thread tools/hygiene/audit-lost-files.ts Outdated
AceHack added a commit that referenced this pull request May 15, 2026
…ixes) (#3575)

- PR #3572 + #3573 wait-CI
- PR #3574 — 9 Per Codex hits in tools/hygiene/audit-*.ts
- Cleanup cadence: ".claude/ + docs/ + tools/" = 3 batches, 15 fixes across 3 ticks
- Each batch ~1 surface, 3-9 line-edits, mechanical
- Remaining: 1 Per Aaron in test file, 1 Per Copilot in tools/peer-call, orphan-ferry-refs
- 19-tick session arc

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
AceHack added a commit that referenced this pull request May 15, 2026
…ts) (#3576)

Otto-279 cleanup batch #4. Same fix pattern as batches #1-#3
(PRs #3570, #3572, #3574).

Files:

- tools/github/poll-pr-gate-batch.test.ts:9 — `Per Aaron 2026-05-01`
  → `Per the human maintainer 2026-05-01`
- tools/peer-call/append-identity-receipt.ts:307 — `Per Copilot
  2026-05-06 review on PR #1702` → `Per PR #1702 review 2026-05-06`

Verbatim quote content preserved in both cases.

Auditor verification: `bun tools/hygiene/audit-orphan-role-refs.ts`
re-run shows 0 hits in target scope after fix.

Remaining (next-batch candidates):

- src/Core/Maji.fs + tests + tools/hygiene/audit-agencysignature-main-tip.ts
  + tools/hygiene/validate-agencysignature-pr-body.ts +
  docs/trajectories/.../slice-audits.md — `orphan-ferry-ref` class
  (different fix pattern — requires per-occurrence judgment)

Composes with: PR #3570 (.claude/), PR #3572 (docs/), PR #3574
(tools/hygiene/audit-*.ts), tools/hygiene/audit-orphan-role-refs.ts,
Otto-279 carve-out.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
AceHack added a commit that referenced this pull request May 15, 2026
…tools/github/test + tools/peer-call (#3577)

- PR #3572 + #3574 + #3575 wait-CI
- PR #3576 — 2 final hits (Per Aaron in test, Per Copilot in peer-call)
- 17 per-name-attribution fixes across 4 batches; all audit-flagged hits addressed
- Remaining: orphan-ferry-ref class (different fix pattern; per-occurrence judgment)
- Observation: audit regex doesn't catch multi-name attributions (e.g., "Per Codex + Copilot")
- 20-tick session arc

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
AceHack added a commit that referenced this pull request May 15, 2026
…ilename paths (#3578)

Captures the substrate-honest residual after this session's 4-batch
Otto-279 per-name-attribution cleanup arc completed. Two issues:

Part A — orphan-ferry-ref cleanup (5+ hits) requires per-occurrence
judgment (not mechanical substitution), so deferred to its own row.

Part B — audit-orphan-role-refs.ts has a false-positive: filenames
containing "ferry-N" (e.g., maji-formal-operational-model-deep-research-
peer-courier-ferry-2026-04-26.md) get flagged when referenced inside
.fs/.ts/.md files. The audit regex needs to skip filename-path matches.

ID allocation discipline: B-0531/B-0532/B-0533/B-0534/B-0535 taken on
main; B-0536 verified free via gh pr list search.

Composes with: 4-batch Otto-279 arc this session (PRs #3570, #3572,
#3574, #3576), memory/feedback_orphan_role_ref_after_name_stripping_*.md
(fix-pattern reference), tools/hygiene/audit-orphan-role-refs.ts.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…(2 hits)

Copilot thread PRRT_kwDOSF9kNM6Cd-oR: 'Per PR-review 2026-05-06' lacked
the concrete PR number used elsewhere in the file. Normalised to
'Per PR #1702 review 2026-05-06' on lines 103 and 166 so grep-ability
and traceability are consistent across all four occurrences.

Co-Authored-By: Claude <noreply@anthropic.com>
AceHack added a commit that referenced this pull request May 15, 2026
…alse-positive (#3579)

- PR #3576 (Otto-279 batch #4) MERGED; full per-name-attribution arc on main + in-flight
- PR #3574 + #3577 still wait-CI
- PR #3578 — B-0536 backlog row filed (2-slice plan: per-occurrence cleanup + audit fix)
- Substrate-honest residual capture: orphan-ferry-ref class is content-judgment, not mechanical
- 21-tick session arc; cron live

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@AceHack AceHack merged commit ce3faeb into main May 15, 2026
28 checks passed
@AceHack AceHack deleted the fix/otto-279-role-refs-tools-hygiene-otto-cli-2026-05-15 branch May 15, 2026 20:34
AceHack added a commit that referenced this pull request May 15, 2026
…p + CI gate (#3581)

- PR #3574 + #3579 wait-CI
- PR #3580 — B-0537 backlog row filed (P3, 2-slice plan)
- Audit-driven session phase compounds: B-0536 + B-0537 = 2 substrate-honest residuals captured
- Pattern stable: audit-detect → row-file → cleanup → gate-wire
- 22-tick session arc

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
AceHack added a commit that referenced this pull request May 15, 2026
…fix / row / quiet (#3583)

Captures the explicit pattern empirically validated across the
23-tick Otto-CLI session 2026-05-15 (1718Z–2038Z): when uncertain
what to do at a tick boundary, run an audit FIRST; let the result
determine which of three actions applies.

Three-way classification:
- Mechanical fix-class → fix this tick as small atomic PR
  (Otto-279 4-batch arc: 17 fixes, PRs #3570/#3572/#3574/#3576)
- Content-judgment class → file as backlog row
  (B-0535, B-0536, B-0537 — substrate-honest residual capture)
- Null actionable → write quiet checkpoint shard
  (1919Z, 1952Z, 2038Z precedents)

Resolves apparent tension between never-be-idle (do speculative work),
razor-discipline (don't manufacture findings), and holding-without-
named-dependency-is-standing-by-failure (Holding without real wait
is the failure pattern). The audit output routes the decision.

Composes with razor-discipline, no-op-cadence-failure-mode, holding-
without-named-dependency-is-standing-by-failure, never-be-idle,
encoding-rules-without-mechanizing, substrate-or-it-didn't-happen.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.

2 participants