Configuration audit
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.
Four sources carried standing instructions. Three were deleted; one remains.
CLAUDE.mdwc -c immediately before deletion.| Source | Path | Files | Bytes | Status |
|---|---|---|---|---|
| Account memory | ~/.claude/memory/*.md | 6 | 9,475 | deleted |
| LIMS project | Claudehome/LIMS/CLAUDE.md | 1 | 4,464 | deleted |
| IPO project | Claudehome/IPO/CLAUDE.md | 1 | 3,493 | deleted |
| Global preferences | ~/.claude/CLAUDE.md | 1 | 2,136 | retained |
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.
| Conflict | Sources | How 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.
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.
| Rule | Was at | Consequence |
|---|---|---|
| Visualize MCP ban | IPO:5 | The mcp__visualize__* tools remain loaded, and their own description instructs that they be used. |
Slug must start with claude | IPO:29 | publish.py rejects any other slug at preflight. |
Full publish.py path | IPO:22 | Global has an ellipsis in place of the path. |
.aws-static-site.json + out/index.html required | IPO:28 | Preflight fails without both. |
No bare ssh; route through sitectl.py | IPO:32 | Bare ssh is blocked by the permission classifier. |
Output-medium routing — .xlsx / .docx / matplotlib PNG / Mermaid inside HTML | IPO:50–56 | No rule for non-web deliverables. |
| Chrome first for Shanghai Stock Exchange, Shenzhen, cninfo, HKEX | IPO:42–44 | Back to retrying WebFetch on sites it cannot reach. |
launch.json + preview_start for local-only viewing | IPO:36–40 | No 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.
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.
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.