Configuration audit

Five instruction layers, collapsed to one

On 2 August 2026 the account-level memory store and both project CLAUDE.md files were deleted, leaving the global preferences file as the sole standing-instruction source. This is the record of what was found, what was removed, and what stopped applying.

01Result

Four sources carried standing instructions. Three were deleted; one remains.

Removed
17,432
bytes, across 8 files
Retained
2,136
bytes, global CLAUDE.md
Reduction
89.1%
of instruction bytes
Layers
4 1
file-based sources
Standing-instruction bytes by source
Measured with wc -c immediately before deletion.
Removed Retained
Account memory
6 files
9,475
LIMS/CLAUDE.md
4,464
IPO/CLAUDE.md
3,493
Global CLAUDE.md
2,136
09,475 bytes
Table view — removal ledger
SourcePathFilesBytesStatus
Account memory~/.claude/memory/*.md69,475deleted
LIMS projectClaudehome/LIMS/CLAUDE.md14,464deleted
IPO projectClaudehome/IPO/CLAUDE.md13,493deleted
Global preferences~/.claude/CLAUDE.md12,136retained

02Conflicts found before removal

The pre-removal audit compared the harness safety rules, both CLAUDE.md files, the six memory files, and the Model Context Protocol (MCP) server instructions.

ConflictSourcesHow it resolved
Visualize MCP banned in prose, still loaded as a tool IPO/CLAUDE.md:5 vs. the server's own tool description The file won — the tool was never called. But the ban was prose, not enforcement.
“Never ask whether to publish” vs. the harness rule requiring permission to publish public content Global CLAUDE.md:35 vs. harness safety block The standing rule counts as durable authorisation for *.falconshire.com. It does not extend to email, purchases, or form submissions.
Deliver the file vs. never hand over a file IPO/CLAUDE.md:14 vs. global CLAUDE.md:37 Reconcilable — send the file and lead with the URL — but the wording read as a prohibition.
“Keep replies concise” vs. mandatory footer, tables, expanded acronyms, verified/inferred split IPO/CLAUDE.md:67 vs. global CLAUDE.md:18–24 Format rules won; replies could not structurally be short.

One further defect was verified rather than inferred: the requirement that a publish slug start with claude appeared in IPO/CLAUDE.md:29 and in the memory store, but not in the global file — so a publish attempted from any other folder would have been rejected at preflight. The global file also gives the publish path as a literal ellipsis, …/Claudehome/sites/publish.py, which is not runnable.

03What stopped applying

Tone, format, autonomy, rigour and the publish-and-verify loop were verbatim duplicates of the global file and survive. These eight rules were not in the global file and are now gone in every folder.

RuleWas atConsequence
Visualize MCP banIPO:5The mcp__visualize__* tools remain loaded, and their own description instructs that they be used.
Slug must start with claudeIPO:29publish.py rejects any other slug at preflight.
Full publish.py pathIPO:22Global has an ellipsis in place of the path.
.aws-static-site.json + out/index.html requiredIPO:28Preflight fails without both.
No bare ssh; route through sitectl.pyIPO:32Bare ssh is blocked by the permission classifier.
Output-medium routing — .xlsx / .docx / matplotlib PNG / Mermaid inside HTMLIPO:50–56No rule for non-web deliverables.
Chrome first for Shanghai Stock Exchange, Shenzhen, cninfo, HKEXIPO:42–44Back to retrying WebFetch on sites it cannot reach.
launch.json + preview_start for local-only viewingIPO:36–40No documented non-publish path.

LIMS/CLAUDE.md was not a preferences file. Its 94 lines were engineering documentation: the stack map and seven named invariants — quality-control thresholds as versioned data, no progression on a failed gate, analytics.py never returning protected health information, the agent never producing a number, chart palette slot order as the colour-blindness mechanism, unbroken sample lineage, and coordinated universal time (UTC) serialisation. The global preferences file cannot substitute for any of it.

README.md, REQUIREMENTS.md, docs/SOP_MAPPING.md and docs/VALIDATION.md survive in that project.

04Backup and restore

Eight files, 18,492 bytes, written before any deletion.

C:\Users\Administrator\.claude\backups\md-purge-2026-08-02-0525\
  CLAUDE.global.md                            2,136
  IPO\CLAUDE.md                               3,493
  LIMS\CLAUDE.md                              4,464
  memory\MEMORY.md                              756
  memory\autonomy-no-questions-finish-task.md  1,336
  memory\publish-web-deliverables.md           3,765
  memory\response-format-requirements.md       1,475
  memory\response-tone-and-style.md            1,068
  memory\rigor-verify-dont-guess.md            1,075

One backup file is not byte-verified. During the backup step a cp -a truncated the source IPO/CLAUDE.md to zero bytes at 05:25:35, before it was copied. That file was reconstructed in the backup from contents read at 05:23 in the same session — the 68 lines are correct, but unlike the others it could not be compared against the original, because the original no longer existed.

The other seven files were confirmed byte-identical with cmp before deletion.

05Open item

The memory directory is empty, but autoMemoryDirectory at ~/.claude/settings.json:3 still points at it, so new memory files can be written there in future sessions. Whether a setting exists to disable the feature outright is unverified — the claude.exe binary could not be located on this machine to check.