Overall Health 6 dimensions
Configuration Health Scorecard
Overall Score
51
/100
Path Validity
54/100
HARD Gate Completeness
41/100
Contradiction Detection
52/100
CLAUDE.md Staleness
58/100
Coverage Gaps
52/100
Cross-Document Consistency
51/100
Critical & High Priority Actions must fix
Wrong file collision: Gumroad label routes to Shiner Songsterr file
Fix: Delete line-40 index entry entirely. The correct Gumroad gate already exists at line 8 pointing to
feedback_gumroad_publish_hard_gate.md.Wrong file collision: "chord progressions show Roman" label links to make-live/terminal file
Fix: Create
feedback_chord_progressions_roman.md for the Roman-numeral rule and re-link line 35. Confirm feedback_never_live_in_terminal.md appears only once (line 10).Three mutually exclusive TTS tools specified for video narration (XTTS, ElevenLabs, Lester)
Fix: Write a single authoritative decision tree: scope each voice to a pipeline context, clarify XTTS broken status vs. HARD GATE, add date-stamped winner. Delete superseded entries.
Anti-AI voice ruleset and its scope (chat prose, not just artifacts) have no MEMORY.md index entry
Fix: Add two linked entries: (1) master anti-AI ruleset file, (2) rule that voice bans apply to every chat reply. Include the 6-point self-check grep list.
Bash sandbox swallows GUI open calls on Jacks-iMac — causes gaslighting; not indexed
Fix: Add index entry:
[Sandbox swallows GUI open on Jacks-iMac] — always pass dangerouslyDisableSandbox: true for open/open -R/afplay/Chrome; do not reassert presence from sandboxed ls.Three CLAUDE.md paths broken by 2026-06-06 Desktop offload: workflow-inventory, midi-session-evaluation, bestseller_format.py
Fix: Update to:
~/New Desktop/_Archive/Misc Outputs/Other/workflow-inventory/, ~/New Desktop/_Archive/MIDI Projects/midi-session-evaluation/, and ~/Desktop/IF YOU CAN'T FIND SOMETHING ITS HERE/bestseller_format.py.CLAUDE.md has 9 stale ~/Desktop paths invalidated by the 2026-06-06 offload hard rule in MEMORY.md
Fix: Bulk-audit every ~/Desktop reference in CLAUDE.md; update Brandon-Vault, project-audit-dashboard, voice-models, Demucs pool, .env, slack_bridge paths to current locations.
10 stale ~/Desktop paths in MEMORY.md detail files (community-agentic-os, bible-commentary-index, BandBooks, MIDI-Sessions, yt-rick-beato, etc.)
Fix: Update each detail file to prefix
~/New Desktop/ or the correct canonical anchor path. See dimension breakdown for per-file corrections.11 HARD gate entries have completely empty descriptions — invisible to session scanning the index
Fix: Add a 10-20 word summary to each empty entry pulled from the first line of its backing file.
Four confirmed duplicate-rule collisions sharing backing files across different label pairs
Fix: Consolidate transcript/Reddit duplicate into one entry; split or anchor the dashboard/anti-AI collision; resolve the two "never wait" entries into one canonical file.
Exact duplicate: Two entries point to same Shiner Songsterr file — one with wrong "Gumroad" title
Fix: Delete line 40 (phantom duplicate with wrong title). Confirm line 8 Gumroad entry is intact.
Three index entries pointing to reference_community_agentic_os.md for three unrelated topics
Fix: Audit the file; split into separate topic files or remove off-topic entries and re-point them correctly.
validate_book.py Step 3.5 gate and anti-AI subhead tells are both absent from the index
Fix: Add entries for both. Book gate entry must name all G1-G6 sub-gates; subhead entry must list all banned "What X verb" and "How X verb" patterns.
ESV Bible translation mandate (replace all KJV, no carve-out) has no index entry despite being active on every Christian chapter
Fix: Add:
[HARD: Bible translation = ESV always, replace all KJV] with backing file covering devotional, OTT, commentary, and Gemini revision scope.Audio = VLC link only (no auto-pop, no Apple Music) and chat archive requires per-instance approval — both absent from index
Fix: Add two entries covering audio VLC rule (overrides force-open for audio paths) and per-instance chat archive approval (prior approval does not carry).
CLAUDE.md instructs free Opus spawning; MEMORY.md requires confirmation gate before any Opus 4.7 invocation
Fix: Add confirmation step to CLAUDE.md model routing: "confirm Opus 4.7 cost with user before spawning Agent" and reference
reference_opus_usage_gates_2026-05-25.CLAUDE.md video voice says XTTS; MEMORY.md says both XTTS clones are broken and ElevenLabs is current
Fix: Add "Voice for video" convention to CLAUDE.md pointing to ElevenLabs as primary; note XTTS must be status-checked before use; include Piper ban.
CLAUDE.md done-claim gate describes weaker version — omits "open artifact" alternative path and Stop hook enforcement
Fix: Update line 7: "either run session_fraud_check.py --hard-only OR open the artifact this turn; enforced by Stop hook done_claim_gate.py."
CLAUDE.md skill count claims "73+" but directory contains 144 SKILL.md-bearing skills
Fix: Update to "140+" or replace with self-updating reference: "see ~/.claude/skills/ for current count."
Dimension-by-Dimension Breakdown expandable findings
Path Validity
54/100
15+ stale ~/Desktop refs from the 2026-06-06 offload. 4 canonical anchors intact. _shared toolchain resolves. Two mislabeled index entries also found.
High community-agentic-os stale in MEMORY.md index
Both index entries reference ~/Desktop/community-agentic-os via reference_community_agentic_os.md. Directory moved to ~/New Desktop/community-agentic-os on 2026-06-06.
Fix: Update reference_community_agentic_os.md and both MEMORY.md labels to ~/New Desktop/community-agentic-os.
High bible-commentary-index stale in detail file
Two detail files reference ~/Desktop/bible-commentary-index. Real location: ~/New Desktop/bible-commentary-index (also in iCloud SVG).
Fix: Update both detail files to ~/New Desktop/bible-commentary-index.
High bickle-ihop-index stale in detail file
~/Desktop/bickle-ihop-index does not exist. Moved to ~/New Desktop/bickle-ihop-index.
Fix: Update detail file path to ~/New Desktop/bickle-ihop-index.
High composition-gate and older-than-therapy stale
Neither ~/Desktop/composition-gate nor ~/Desktop/older-than-therapy exists. Both moved to ~/New Desktop/ equivalents.
Fix: Update detail file to ~/New Desktop/composition-gate and ~/New Desktop/older-than-therapy.
High Drum_Rack_Plans and best-free-drum-pipeline stale
~/Desktop/Drum_Rack_Plans moved to ~/New Desktop/Drum_Rack_Plans. ~/Desktop/best-free-drum-pipeline moved to ~/New Desktop/_Archive/Drum Projects (Shipped)/best-free-drum-pipeline.
Fix: Update detail file with both new paths.
High MIDI-Sessions Shiner Run7 pack stale
~/Desktop/MIDI-Sessions Shiner/ does not contain Run7 pack files. Correct path: ~/New Desktop/MIDI-Sessions Shiner/Run7-Shiner-AltRock-Pack.
Fix: Update to ~/New Desktop/MIDI-Sessions Shiner/Run7-Shiner-AltRock-Pack.
High midi-self-teaching (5 refs) stale
~/Desktop/midi-self-teaching does not exist. Moved to ~/New Desktop/_Archive/MIDI Projects/midi-self-teaching. Five path references in the detail file.
Fix: Update all five refs in the detail file to the new path.
High yt-rick-beato stale
~/Desktop/yt-rick-beato does not exist. Directory confirmed at ~/New Desktop/yt-rick-beato.
Fix: Update reference_yt_corpora_catchall.md Rick Beato section to ~/New Desktop/yt-rick-beato/transcripts/.
High yt-chiron-intuition stale
~/Desktop/yt-chiron-intuition and ~/Desktop/_Archive both absent. Real path: ~/New Desktop/_Archive/Misc Outputs/yt-chiron-intuition.
Fix: Update both detail files to ~/New Desktop/_Archive/Misc Outputs/yt-chiron-intuition/.
High BandBooks top-level Desktop path stale
~/Desktop/BandBooks/ does not exist as a top-level dir. Correct path is under the canonical anchor: ~/Desktop/IF YOU CAN'T FIND SOMETHING ITS HERE/BandBooks/.
Fix: Update both paths to ~/Desktop/IF YOU CAN'T FIND SOMETHING ITS HERE/BandBooks/HoorayForEarth/ and .../Zappa-OverNite/.
Medium midi-session-evaluation buried under canonical anchor
~/Desktop/midi-session-evaluation is not a direct Desktop subfolder. Correct path: ~/Desktop/IF YOU CAN'T FIND SOMETHING ITS HERE/midi-session-evaluation/ (also copy at ~/New Desktop/_Archive).
Fix: Update CLAUDE.md line 78 and feedback_ott_no_master_gospel_scene.md to correct paths.
Medium workflow-inventory moved to New Desktop archive
~/Desktop/workflow-inventory does not exist. Moved to ~/New Desktop/_Archive/Misc Outputs/Other/workflow-inventory.
Fix: Update CLAUDE.md table row to the new path or note it is superseded by Brandon-Vault.
Medium Mislabeled index: Gumroad label on Shiner file
Line 40 label says "HARD GATE: Gumroad publish" but the linked file is feedback_shiner_songsterr_private_hard_gate.md. A session following this entry reads Songsterr rules when it needs Gumroad rules.
Fix: Correct label to Shiner Songsterr content, or delete the duplicate (Gumroad rule already correct at line 8).
Medium Misleading label: XTTS voice gate on video legibility file
Label says "HARD GATE: voice = Lester or Brandon (XTTS)" but feedback_video_legibility_audio_sync.md covers text legibility, element overlap, and audio-text sync — no mention of XTTS.
Fix: Correct label to "[HARD GATE: video text legibility + audio sync]".
Low Duplicate index entries pointing to same detail files
Four index entries collapse into two detail files (two pairs). Wastes index budget and creates ambiguity.
Fix: Deduplicate — keep one canonical label per file; remove redundant entries.
HARD Gate Completeness & Integrity
41/100
47 HARD entries; 26/47 (55%) have truncated, stub, or empty descriptions. 5 backing files reused across 2+ labels. One confirmed wrong-file collision. Line budget 10 lines from cap.
Critical Wrong file: Gumroad label routes to Shiner file
Label describes Gumroad publish protocol; linked file is feedback_shiner_songsterr_private_hard_gate.md. A session resolving Gumroad behavior reads Songsterr rules instead.
Fix: Delete line-40 entry. Gumroad gate is correct at line 8 with the right file.
Critical Wrong file: Roman-numeral label routes to make-live file
Label says "chord progressions always show Roman" but linked file is feedback_never_live_in_terminal.md. The chord-display rule has no authoritative backing file.
Fix: Create feedback_chord_progressions_roman.md, re-link line 35. Ensure feedback_never_live_in_terminal.md appears only once (line 10).
High Duplicate: transcript/Reddit 90% rule — same file, two entries
Two entries cite identical file with nearly identical mid-sentence truncated descriptions. Neither is self-contained.
Fix: Consolidate into one complete entry covering both Reddit-corpus and transcript-corpus variants.
High Duplicate: dashboard NBA buttons vs anti-AI corpus — same file
Two different label subjects share the same backing file with identical truncated visible text. Cannot distinguish rules from index alone.
Fix: Add anchors or split file; write distinct complete descriptions for each entry.
High Duplicate: two "never wait" gates with different files
Two autonomy gates under slightly different labels pointing to different files. Second entry missing colon — breaks grep-based parsing. No description explains how they differ.
Fix: Clarify distinct vs. redundant. If redundant, delete one. Add missing colon to restore "HARD GATE:" prefix consistency.
High Duplicate: feedback_never_live_in_terminal.md indexed twice
Same file backs the make-live gate AND the mislabeled chord entry. Even excluding the wrong-file problem, one file indexed twice signals unresolved editing error.
Fix: Fix wrong-file on chord entry; ensure terminal file appears only at line 10.
High Duplicate: feedback_no_idle_stop_hard_gate.md backs two entries
"No idle stop" entry is completely empty. "Response format" entry has a stop-gate description — label drift. May need a new backing file for one.
Fix: Determine if "response format = restate each ask" belongs in feedback_response_format_ask_mapping.md; re-link if so. Write real description for the idle-stop entry.
High 11 entries with empty descriptions
Entirely empty or bare-dash descriptions. Index function fails — sessions reading only the index line get no actionable rule.
Fix: Pull a 10-20 word summary from the first line of each backing file and add to the index entry.
Medium 10 entries with mid-sentence truncated descriptions
Descriptions end mid-sentence with no punctuation — editing artifacts from paste-and-wrap. Not intentionally brief summaries.
Fix: Complete each description to a natural boundary. Each must end at a period or complete noun phrase.
Medium 5 entries with stub (1-2 word) descriptions
"Piper", "legible", "pop" identify the topic but state no constraint. Unusable without opening the backing file.
Fix: Expand to minimum viable rule statement, e.g. "Never use Piper TTS for any output" rather than just "Piper".
Medium Label bracket text cut mid-phrase on 3+ entries
Labels end mid-phrase inside brackets (e.g. "runs on every", "/enable +", "restate each ask +"). Breaks keyword search and readability.
Fix: Complete each label to a full searchable phrase — e.g. "anti-AI corpus runs on every [text-gen skill]".
Low Prefix inconsistency: "HARD GATE" without colon
One entry uses "HARD GATE" with no colon, breaking the consistent HARD GATE: / HARD: prefix pattern. Automated grep misses it.
Fix: Rename to [HARD GATE: never wait on user] to restore prefix consistency.
Low Line budget: 10 lines from hard cap
Deduplication and wrong-file fixes above will recover 4-6 lines, buying headroom for future legitimate gates.
Fix: Perform deduplication first. Fill recovered space with complete descriptions for stub entries rather than new entries.
Contradiction & Conflict Detection
52/100
189 entries analyzed. 1 critical voice-tool contradiction breaks every video output. 3 high-severity issues. 5 medium issues. Phantom duplicate on line 40 is also a path/label collision.
Critical Three mutually exclusive TTS tools for video narration
Line 2: Use ElevenLabs (Brandon clone rejected, Lester broken/glitchy). Line 51: HARD GATE mandating Lester or Brandon XTTS. Line 60: Chiron committed to Lester. No pipeline scoping, no date-stamped winner.
Fix: Write single authoritative decision tree with pipeline scope, XTTS broken-status clarification, and date stamp. Delete superseded entries.
High Exact duplicate: both entries cite Shiner Songsterr file; line 40 has wrong title
Line 40 title says "Gumroad publish" but body text confirms Shiner Songsterr content — title-body mismatch plus duplicate of line 38. Gumroad rule correctly covered at line 8.
Fix: Delete line 40. Verify line 8 Gumroad entry is intact.
High Mislabeled entry: line 35 title says chord-Roman, file is make-live rule
Display title says chord progressions show Roman; backing file is feedback_never_live_in_terminal.md covering CLI vs. Desktop. Chord-display rule has no authoritative backing. Make-live rule doubled (line 10 already correct).
Fix: Create feedback_chord_progressions_roman.md; correct line 35 link. Verify line 10 fully covers make-live rule.
High Same file backs two 90%-source entries with different scope titles
One title scopes to "Reddit-corpus ebooks"; the other to "transcript-corpus outputs" broadly. Both point to feedback_transcript_paraphrase_90_hard_gate.md — can't determine which scope applies when.
Fix: Audit file for one vs. two rules. If two, split into separate files. If one, delete the less accurate title entry.
Medium Four variants of "keep working autonomously" — redundant drift
"never stop if work + no decisions", "no idle stop", "never wait", "never wait on user" — all encode the same directive. Subtle title differences suggest unintended scope drift.
Fix: Consolidate into one canonical entry with one backing file covering all four edge cases. Archive the other three.
Medium Two entries citing feedback_never_live_in_terminal.md — maintenance trap
Any patch to the make-live rule appears to also update the chord-display rule. Two rules claiming the same file is a maintenance trap.
Fix: Separate into two backing files (same fix as the HIGH mislabeling issue above).
Medium Two entries citing reference_best_free_drum_pipeline_stack.md with different topic titles
One title: "stem separation standard: audio-separator". Other: "Best free drum pipeline stack". Both point to same file — pure duplicates.
Fix: Delete one entry. Keep the title matching the file's primary subject.
Medium Three unrelated topics all pointing to reference_community_agentic_os.md
Community Agentic OS + yt_trans, book-to-video + XTTS, and Melody/counterpoint all cite the same file. Either a monolith or two wrong pointers.
Fix: Audit file — if three distinct sections exist, split into three files. If primarily community OS, remove/re-point the off-topic entries.
Low Daemon hardening note implicitly references ~/Desktop .env as prior location
Line 50 notes TCC blocks ~/Desktop .env, which could be read as legitimizing ~/Desktop as a config location despite the never-write-Desktop hard rule.
Fix: Add clarification that ~/Desktop .env is a legacy path that must not be recreated; ~/.config/drwu/secrets.env is canonical going forward.
Low "Systematic key errors" vs "intentional opposite detection" on BELIEVEYOUME cards
Line 29 says old cards have systematic key errors. Line 32 says dual chord-detection views are intentional. Can't determine if errors are bugs to fix or expected artifacts.
Fix: Clarify whether systematic errors are separate from the intentional dual-policy. State explicitly which cards need regeneration vs. accepted as-is.
CLAUDE.md Staleness & Accuracy
58/100
Five staleness categories. The Desktop offload left 8+ broken paths. Skill count is 2x wrong. Voice model listing incomplete. Hook spec diverges slightly from CLAUDE.md description.
Critical workflow-inventory path stale — Desktop offload
CLAUDE.md still points to ~/Desktop/workflow-inventory/. Moved to ~/New Desktop/_Archive/Misc Outputs/Other/workflow-inventory.
Fix: Update table entry to new path or remove if superseded by Brandon-Vault.
Critical midi-session-evaluation path stale — Desktop offload
MIDI feedback loop baseline path in CLAUDE.md points to ~/Desktop/midi-session-evaluation/. Moved to ~/New Desktop/_Archive/MIDI Projects/midi-session-evaluation/.
Fix: Update to /Users/drwu/New Desktop/_Archive/MIDI Projects/midi-session-evaluation/hardfail-corpus-baseline.md.
Critical bestseller_format.py path wrong — never was at bare Desktop root
CLAUDE.md says ~/Desktop/bestseller_format.py. The file is at ~/Desktop/IF YOU CAN'T FIND SOMETHING ITS HERE/bestseller_format.py — a canonical anchor path.
Fix: Update to /Users/drwu/Desktop/IF YOU CAN'T FIND SOMETHING ITS HERE/bestseller_format.py.
High Skill count claims "73+" but directory has 144
The count was accurate when written but has drifted as skills were added through mid-2026. More than double the stated figure.
Fix: Update to "140+" or use self-updating reference: "see ~/.claude/skills/ for current count".
High IF YOU CAN'T FIND SOMETHING ITS HERE not marked as canonical anchor survivor
This canonical anchor did NOT move in the Desktop offload but CLAUDE.md gives no indication it is an exception. A reader would not know this path is safe.
Fix: Add parenthetical: "(canonical anchor — stays on Desktop)" to the table row.
High Missing directive: Desktop output routing rule absent from CLAUDE.md
Hook injects [PATHS] block banning ~/Desktop writes and routing to ~/Projects/_outputs/<skill>/. No corresponding rule in CLAUDE.md. Bypass mode or direct API would have no guidance.
Fix: Add tooling note covering output routing, Desktop ban, and canonical exceptions.
Medium Brandon-Vault row missing "canonical anchor" annotation
Brandon-Vault is a confirmed Desktop anchor that intentionally survived the offload. CLAUDE.md does not distinguish this, which conflicts with the "never write ~/Desktop" hard rule.
Fix: Annotate table row with "(canonical anchor, survives Desktop offload)".
Medium Three-phase plan section partially mismatched with hook behavior
Hook prepends "write a prompt to" before the three-phase directive and also carries the one-chapter/one-song gate inline — neither mentioned in CLAUDE.md. Minor divergence, not a contradiction.
Fix: Update HARD RULE section to note the hook's "write a prompt to" prefix and the one-chapter/one-song gate.
Medium Syncthing notice uses stale past-tense snapshot date
"as of 2026-05-19 its config still had ... unpaused" — a historical problem report now fully resolved. May imply the config still exists.
Fix: Trim to: "Syncthing is permanently banned (binary removed). Nothing auto-syncs."
Low Voice-models directory listing incomplete — 8+ files, only 2 named
At least eight prompt files now exist (chiron, eyephim, kate, m3ksmith, reader_template, tarot_writer, and others). Technically accurate but could cause a session to miss available voice models.
Fix: Update to "music_writer_voice_prompt.md, corey_russell_voice_prompt.md, and 6+ others" or point to directory.
Low project-audit-dashboard scripts path valid but confirm --pop flag
slack_inbox.py exists at the stated path. slack_listen.py, slack_send.py all confirmed. Not broken — documentation hygiene only.
Fix: No immediate change required. Confirm --pop flag still works if Slack bridge is reactivated.
Coverage Gaps — Missing Memory Entries
52/100
140 entries indexed from 324 backing files — 162 files absent. 5 operationally dangerous omission clusters: voice rules, sandbox behavior, book quality gates, ESV mandate, audio/archive rules.
Critical Anti-AI voice ruleset + "applies to my chat prose" — both absent
The master ruleset and the explicit rule that it applies to every chat reply are not in the index. Backing file notes this is "the rule Brandon is most frustrated about Claude forgetting." Without the index entry, a fresh session defaults to em-dashes, ellipsis, antithesis, and AI-flavored transitions.
Fix: Add two linked entries. Entry 2 must include the 6-point self-check grep list (—, ..., "actually", "rather than", ", not ", contrastive but/yet/though/however).
Critical Bash sandbox swallows GUI open on Jacks-iMac — gaslighting risk
Every open/open -R/Finder/Preview/Chrome/afplay call via Bash while sandboxed returns success text but produces no visible GUI action. Documented 2026-05-20 incident. pandoc also stalls. Completely absent from index.
Fix: Add index entry mandating dangerouslyDisableSandbox: true for all gui-launch commands. Include instruction not to reassert file presence from sandboxed ls when user reports seeing nothing.
High validate_book.py Step 3.5 gate absent from index
Mandatory gate in book-publish-pipeline — no DOCX/EPUB/Gumroad/KDP ships on non-zero exit. Prior books shipped broken before this gate was added. Without the index entry, a new session will skip Step 3.5.
Fix: Add entry naming all G1-G6 sub-gates and the --override-with-reason requirement.
High Anti-AI subhead tells absent from index
"The most expensive AI tells because they appear in the table of contents" — yet absent from index. Banned patterns: "What X names/does/shares", "How X works/lands", X-not-Y antithesis in title, "Where X lives/dies".
Fix: Add entry listing all banned patterns and the fix (declarative noun phrase). Note that subheads propagate into TOC, multiplying the cost.
High ESV Bible translation mandate absent — active on every Christian chapter
Every Scripture quote must use ESV; all KJV in source material must be switched with no carve-out. Source material (IHOP transcripts, Paul Keith Davis PDFs, Priebe manuscript) frequently quotes KJV. Without this entry, a new session clones the source's KJV and ships it.
Fix: Add: [HARD: Bible translation = ESV always, replace all KJV] covering devotional, OTT, commentary, and Gemini revision scope.
High Audio = VLC link only (no auto-pop, no Apple Music) absent
Created 2026-06-01, post-dates last MEMORY.md trim, never indexed. Apple Music is explicitly banned (imports, queues, scrobbles, autoplays). Overrides the general force-open-links convention for audio paths.
Fix: Add entry: any .wav/.mp3/.m4a etc. gets a file:// hyperlink + open -a VLC command. Never bare open, afplay, or Apple Music. Ask before playback.
High Chat archive requires explicit per-instance approval — absent
mcp__ccd_session_mgmt__archive_session is described as "fast and silent." One stray invocation can hide a session whose handoff doc has not been written. Prior approval never carries. One question per artifact.
Fix: Add: [HARD GATE: chat archive = explicit per-instance approval] — never bundle multiple archive actions into one approval; prior approval does not carry.
Cross-Document Consistency
51/100
8 substantive conflicts between CLAUDE.md and post-update MEMORY.md entries. Desktop migration, model routing, video voice, and done-claim gate are the most operationally dangerous mismatches.
Critical Desktop migration: CLAUDE.md has 9 stale ~/Desktop paths contradicting MEMORY.md hard rule
MEMORY.md hard rule (2026-06-06): "never write ~/Desktop; output to ~/Projects/_outputs/<skill>/". CLAUDE.md hardcodes ~/Desktop across Brandon-Vault, project-audit-dashboard, workflow-inventory, Demucs pool, midi-session-evaluation, bestseller_format.py, voice-models, .env, slack_bridge. Every one routes to the wrong location.
Fix: Bulk-audit and update all ~/Desktop references in CLAUDE.md. Demucs pool and midi-session-evaluation baseline are execution-critical — update first.
High Opus confirmation gate missing from CLAUDE.md model routing
CLAUDE.md instructs free Opus spawning on hero-pass requests. MEMORY.md feedback_opus_47_check requires pausing and asking user before any model: "opus" invocation. Silent budget spend without gate.
Fix: Add confirmation requirement to CLAUDE.md model routing line. Reference reference_opus_usage_gates_2026-05-25.
High Video voice: CLAUDE.md implies XTTS available; MEMORY.md says both clones broken
MEMORY.md line 2 states Brandon clone rejected and Lester broken/glitchy — ElevenLabs is the correct voice. CLAUDE.md has no guidance on this conflict. Piper ban also absent from CLAUDE.md.
Fix: Add "Voice for video" convention to CLAUDE.md: ElevenLabs is primary; XTTS status must be checked before use; Piper is banned. Also reconcile the two conflicting MEMORY.md entries.
High Done-claim gate in CLAUDE.md describes weaker version of the rule
CLAUDE.md only specifies running session_fraud_check.py. Newer MEMORY.md gate adds "open the artifact this turn" as a second path AND notes enforcement by Stop hook done_claim_gate.py.
Fix: Update CLAUDE.md: "either run session_fraud_check.py --hard-only OR open the artifact this turn; enforced by Stop hook done_claim_gate.py."
High bestseller_format.py path stale in both dimensions — execution dependency
Cross-doc: MEMORY.md path rule bans ~/Desktop writes; CLAUDE.md lists ~/Desktop/bestseller_format.py which is wrong twice (Desktop ban + wrong root path). Any skill resolving it will fail silently.
Fix: Verify current location (likely ~/Desktop/IF YOU CAN'T FIND SOMETHING ITS HERE/bestseller_format.py) and update CLAUDE.md.
High Voice ruleset path stale — standing dependency for all text-gen work
CLAUDE.md points to ~/Desktop/project-audit-dashboard/voice-models/music_writer_voice_prompt.md. Desktop migration rule invalidates this path. Without it, Claude falls back to default AI voice patterns banned by the anti-AI gate.
Fix: Locate current authoritative path post-migration and update CLAUDE.md. Resolve the "still live here" vs. Desktop ban contradiction.
Medium Haiku described as routine; MEMORY.md says "falls up stairs often"
CLAUDE.md presents Haiku as a valid first rung with no caveats. MEMORY.md routing calibration: "Drop to Haiku only for trivially simple one-shot queries — not multi-step, not file-reading."
Fix: Add parenthetical: "Haiku only for trivial one-shot queries — not multi-step or file-reading tasks (see feedback_model_routing_calibration)."
Medium Todoist .env path stale — TCC blocks ~/Desktop .env for launchd
CLAUDE.md instructs adding TODOIST_TOKEN to ~/Desktop/project-audit-dashboard/.env. Daemon hardening memory entry says TCC blocks launchd from reading ~/Desktop .env; canonical location is ~/.config/drwu/secrets.env.
Fix: Update CLAUDE.md: "add TODOIST_TOKEN to ~/.config/drwu/secrets.env (launchd) and optionally ~/Desktop/project-audit-dashboard/.env (interactive use)."
Medium Slack bridge script paths stale — ~/Desktop reference post-migration
Remote-chat-updates section specifies scripts under ~/Desktop/project-audit-dashboard/. Desktop migration invalidates these paths. Mid-session --pop command will fail.
Fix: Update to current post-migration locations, likely ~/New Desktop/project-audit-dashboard/scripts/slack_bridge/.
Low MIDI session evaluation baseline path stale
MIDI feedback loop section references /Users/drwu/Desktop/midi-session-evaluation/hardfail-corpus-baseline.md. Desktop migration flags this as stale. Used by sweep_all.py — wrong path produces silent regression.
Fix: Verify and update. Likely ~/New Desktop/midi-session-evaluation/hardfail-corpus-baseline.md.
Low Syncthing warning uses stale date anchor — sounds historical not permanent
"as of 2026-05-19 its config still had..." reads as a historical snapshot. The ban is permanent but the date anchor creates ambiguity.
Fix: Remove date anchor. Rewrite: "Syncthing is banned entirely — confirmed unpaused on anatomy-jams, midi-shiner, midi-failure, project-audit-dashboard, and scripts at last check. Do not re-enable."
Suggested New MEMORY.md Entries 5 entries
Critical
Anti-AI Voice Ruleset — Master + Chat Prose Scope
Two linked entries covering the master ruleset and its scope over every chat reply
- [HARD: anti-AI voice ruleset — master](feedback_anti_ai_voice_ruleset.md) — zero em-dash, zero ellipsis, no correctio, no antithesis, no paradox-reframe; drama-stack ban; anti-caricature cadence; stock-Claude content ban; reader-specific banned-phrase lists in each V2 iCloud prompt
- [HARD: voice rules apply to MY chat prose, not just artifacts](feedback_voice_rules_apply_to_my_prose.md) — every response I write obeys the full voice ruleset; run the 6-point self-check before sending (grep for —, ..., "actually", "rather than", ", not ", contrastive but/yet/though/however)
Backing file draft (feedback_voice_rules_apply_to_my_prose.md)
Standing rule, 2026-05-14, reaffirmed 2026-05-28. The anti-AI bans (em-dash, ellipsis, correctio, antithesis, paradox, contrast words) and the bestseller-doctrine cadence rules (4-7 sentence paragraphs, no triple-beat, no aphoristic closure, accumulating sentences) apply to every chat response, not only to book chapters or script files. Before sending any substantive response: (a) grep the draft for — and ...; (b) grep for "actually," "in fact," "to be precise"; (c) grep for ", not " and "rather than" in contrastive position; (d) grep for "but," "yet," "though," "however" used contrastively. Fix before sending. No exceptions for short replies.
Critical
Bash Sandbox Swallows GUI Open on Jacks-iMac
Every open/Finder/afplay/Chrome call via Bash while sandboxed is a silent no-op
- [Sandbox swallows GUI open on Jacks-iMac](reference_sandbox_swallows_gui_open.md) — open / open -R / Finder / Preview / Chrome / afplay via Bash tool are silent no-ops while sandboxed; always pass dangerouslyDisableSandbox: true for any gui-launch; do not re-assert file presence from a sandboxed ls when user says they see nothing
Backing file draft (reference_sandbox_swallows_gui_open.md)
Jacks-iMac only. The Claude Code Bash sandbox intercepts OS-level gui-launch calls and returns a success exit code without routing to the display session. Symptoms: Claude says "I opened the file" and user sees nothing; Claude says "open -R revealed it in Finder" and Finder never activated. Fix: add dangerouslyDisableSandbox: true to every Bash call whose command contains open, open -R, afplay, ffplay, vlc, or chrome. Confirmed 2026-05-20. pandoc also stalls under the same sandbox (reference_pandoc_stall_jacks_imac.md). When user reports "I see nothing" after an open command: do not repeat the open — first re-run the ls/stat with dangerouslyDisableSandbox: true to confirm file exists on real disk, then open with sandbox disabled.
High
Book Quality Gates: validate_book.py Step 3.5 + Anti-AI Subhead Tells
Two high-frequency book rules absent from the index
- [HARD GATE: book-publish-pipeline must pass validate_book.py Step 3.5](feedback_book_validation_mandatory.md) — no DOCX/EPUB/Gumroad/KDP ships on non-zero exit; gates: G1 voice rules, G2 evidence appendix, G3 numeric-claim traceability, G4 power-chord clarifier, G5 sensory caps, G6 cover+copyright; --override-with-reason only with user permission
- [HARD: anti-AI subhead tells — name content, never gesture at it](feedback_anti_ai_subhead_tells.md) — banned: "What X names/does/shares/means/needs/wants/lands/says", "How X works/lands/shows up", X-not-Y antithesis in title, "Where X lives/dies/sleeps"; fix: declarative noun phrase; subheads propagate into TOC so cost is multiplied
Backing file note (feedback_anti_ai_subhead_tells.md)
Established 2026-05-31 during Older Than Therapy chapter-1 work. Banned subhead patterns: any "What X [verb]" where the verb is relational (names, shares, needs, wants, teaches, means, is about); any "How X [hand-wave verb]" (works, lands, shows up, arrives); X-not-Y or X-but-Y antithesis inside chapter title or section head; "Where X lives/dies/sleeps/arrives" slogan shapes. Fix: bare noun phrase ("The Substrate"), numbered message ("Message One: Trauma Responses Under the Behavior"), concrete action with concrete object. Check all ^#+ lines before saving any chapter.
High
ESV Bible Translation Mandate — Replace All KJV, No Carve-Out
Active on every Christian chapter, devotional, commentary, and Gemini revision prompt
- [HARD: Bible translation = ESV always, replace all KJV](feedback_bible_translation_esv.md) — every Scripture quote in every book/chapter/devotional uses ESV; switch ALL KJV to ESV even when KJV is explicitly cited in the source; no "unless noted" carve-out; applies to Gemini revision prompts too
Backing file draft (feedback_bible_translation_esv.md)
Standing rule. Default translation for all Scripture quotes in book drafts, revision prompts, theology notes, front matter, and citations is ESV. When source material says (KJV), replace both the quote and the citation label with ESV. The only permissible exception: a brief KJV quotation followed immediately by the ESV reading passage when the session is doing formal exegesis of the KJV phrasing specifically — but the reading passage itself must still be ESV. Secondary translations allowed in descending order when a verse reads better: NASB, then NKJV. Never default to NIV or NKJV without ESV as the first pass. Applies to: christian-devotional-rewrite skill, 150-chapter devotional series, Older Than Therapy chapters, any bible-commentary-index output, any scripture-highlighting pass.
High
Audio = VLC Link Only + Chat Archive Requires Per-Instance Approval
Two standing rules with documented failure histories, both absent from index
- [HARD: audio = VLC link only, no auto-pop](feedback_audio_vlc_no_popups.md) — any .wav/.mp3/.m4a/.flac/.aiff/.ogg path gets a file:// hyperlink + open -a VLC command; never bare open, never afplay, never Apple Music; overrides force-open-links convention for audio paths; same for folders containing audio
- [HARD GATE: chat archive = explicit per-instance approval](feedback_chats_require_explicit_approval.md) — never archive/move/delete any session .jsonl, iCloud handoff .md, or Slack inbox .json without a fresh yes from Brandon in the current turn; prior approval does not carry; one question per artifact; never bundle multiple archive actions into one approval
Backing file note (feedback_audio_vlc_no_popups.md)
Standing rule, 2026-06-01. When any response mentions an audio file path: provide (a) the absolute path as plain text, (b) a clickable file:// hyperlink, (c) the command open -a VLC "/abs/path" as copy-paste. Do NOT run open, afplay, ffplay, or open -a Music without explicit instruction. Apple Music is banned: it imports, queues, scrobbles, and autoplays. For non-audio paths (HTML, PDF, MIDI, MD), the prior force-open-links rules still apply. This rule fires even if the user appears to want playback — ask first.