Files
dotfiles/claude
David F Glidden 7bb5222093 Correlation 01 pre-registered; sendable artifact built with the contamination control
The steward asked to be pointed at CONTROL-B to relay. Pointing at it directly
would have produced an uninterpretable result, so the control comes first.

THE CONTAMINATION THAT MATTERS: the jurist read CONTROL-A closely hours ago and
found two real defects in it. CONTROL-B is that document with five edits. In the
SAME conversation the jurist would recognise the text and could find the injected
defects by diffing against memory rather than by reading — which is not the
capacity under test, and not what the Fool did. It needs a FRESH CONTEXT.

Second control: the jurist gets the Fool's prompt VERBATIM, not the richer pass-1
framing. A correlation measurement requires the same task, or it compares two
different questions.

SEND-CORRELATION-B.md is generated mechanically from the prompt file and the
document, so there is no transcription path, and leak-checked against CONTROL-A,
twin, defect, ledger, kernel, injected, Fool, correlation, measurement, trial.
CLEAN.

GROUND TRUTH IS SIX, NOT FIVE — the five injected plus I1, the precedence
assertion inherited from CONTROL-A and found by the jurist in trial 04. Recorded
BEFORE this read so it cannot be back-fitted.

THE FOOL'S SIDE IS ALREADY PUBLISHED AND UNAMENDABLE: 0 of 6 across three seeds.
So only the jurist's side is open, and the comparison cannot be fitted to a
result I want.

PREDICTION FIXED IN ADVANCE: the jurist finds at least 2 of 6, on the grounds
that the two defects it found in CONTROL-A were of a kind overlapping D3, D4 and
I1. If it finds 0 of 6 the prediction fails, and that is the MORE important
result — both readers missing all six would be the first direct evidence toward
the correlated blind spots that Constraint 6 names as its own falsification
condition.

Recorded limit: this measures jurist-vs-Fool, a formation-different pair. It says
nothing about the jurist-executor pair, which is the pair Constraint 6 actually
flags as untested.
2026-08-02 19:06:45 +02:00
..

Claude Code configuration — backup & restore

This directory holds the durable Claude Code configuration that should survive a machine wipe: custom skills, accumulated memory, and user-level settings. The working copies at ~/.claude/* are symlinks pointing here, so edits flow both directions automatically.


What's preserved here

skills/ — custom skills we've authored

Skill Purpose
audit/ Scans thinking folder + vault inbox for organizational drift; report-only
symmetria/ Practice-of-return discipline; prime-directive foregrounding under context pressure
vault-update-people/ Searches Obsidian vault for new mentions of a person; proposes People-file updates
wake-up/ Restores full session context from memory, governance, and git at session start
wrap-up/ Captures session state for future restoration; the quality of the next wake depends on this

Marketplace-installed skills (from Claude Code plugins) are not backed up here — they are regenerable on any fresh install.

memory/ — auto-memory for the main project scope

The substrate of continuity. 55+ files including:

  • MEMORY.md — the index, loaded at every session start
  • session-2026-*.md — session records (full Dasein-frame wrap-ups: pulling thread, pause statement, literal question for next-Claude)
  • session-ledger-*.md — Symmetria daily ledgers (returns, recalibrations, authorization moves, bypasses)
  • project-*.md — active project state snapshots (ARC rework, Chamber, L2 review, etc.)
  • feedback-*.md — steward preferences and corrections learned over time
  • Many others

Real path: ~/.claude/projects/-Users-davidglidden/memory/ symlinks here.

settings/settings.json — Claude Code user settings

Sanitized. Contains hook registrations (including the MemPalace auto-save hooks) and feature flags. No secrets.

mempalace/ — MemPalace setup files

The bootstrap configuration for MemPalace. These files live at ~/.mempalace/ but are also backed up here because they represent the accumulated understanding of who-is-who and what-is-what. The palace itself (~/_Dev/mempalace/.local-data/palace/, ~1GB) is NOT backed up — it's rebuildable by re-running mempalace mine against the same source data.

File Purpose
config.json Palace path + default topic wings + hall keywords
identity.txt L0 layer — loaded every session; ~100 tokens identifying who I am, who the steward is, intellectual substrate
wing_config.json Named wings for real people and projects (wing_david, wing_nuria, wing_lune, wing_kai, wing_seb, wing_peter, wing_arc, wing_capablemind, wing_chamber, wing_afterthereply, wing_aldinexxi, wing_l2, wing_claude-code)

The auto-save hooks (wired in settings/settings.json via Stop and PreCompact events) point at ~/_Dev/mempalace/hooks/mempal_save_hook.sh and mempal_precompact_hook.sh. If MemPalace is reinstalled elsewhere, update those paths.


What is deliberately NOT here

settings.local.json

Kept local-only because its permissions allowlist has historically contained operational secrets (HuggingFace tokens embedded in approved Bash commands; SSH passwords in approved expect scripts). The .local.json naming convention exists for exactly this reason.

Before backing any settings.local.json up anywhere, audit it for secrets and redact them.

Session transcripts (sessions/, history.jsonl, projects/*/sessions/)

Too large; ephemeral by design; not needed to restore identity.

Caches, telemetry, runtime state

cache/, file-history/, paste-cache/, telemetry/, statsig/, stats-cache.json, scheduled_tasks.lock, session-env/, mcp-needs-auth-cache.json, debug/, tasks/, todos/ — all regenerate naturally.

Marketplace-installed skills and agents

plugins/, and the many non-custom entries under skills/ and agents/ come from Claude Code's plugin system. Reinstallable on a fresh machine.


Restore procedure

On a fresh machine, after cloning dotfiles:

cd ~/dotfiles/claude
./install.sh

The install script:

  1. Verifies ~/dotfiles/claude/ is present
  2. Creates ~/.claude/skills/ and ~/.claude/projects/-Users-davidglidden/ if missing
  3. Symlinks each custom skill from ~/.claude/skills/X → ~/dotfiles/claude/skills/X
  4. Symlinks the memory tree from ~/.claude/projects/-Users-davidglidden/memory → ~/dotfiles/claude/memory
  5. Copies settings.json into place if no existing file (does not overwrite)
  6. Skips anything already present — idempotent

After running: the first Claude Code session on the new machine has full memory, all custom skills, and baseline settings.


Why this matters

Without this backup, a machine wipe means:

  • All session memory lost — /wake-up would have nothing to restore from
  • All custom skills lost — the practice-of-return discipline, session lifecycle, audit workflows
  • The collaboration history with Claude Code loses its thread

The memory tree is the single most irreplaceable artifact — it accumulates through dialogue and cannot be reconstructed from any other source. 384 KB of text that represents months of learning about preferences, active projects, decisions, and open horizons.


Maintenance

These files are live. Claude Code writes to them during normal operation (ledger updates, memory file creation/edits, settings changes). Because the working copies at ~/.claude/* are symlinks into this directory, every write lands here automatically. Then git status in ~/dotfiles/ shows what's changed and invites a commit.

Recommended cadence: commit dotfiles/claude/ changes alongside other dotfiles work, roughly weekly or when a significant session has concluded. The /wrap-up skill should be treated as a natural commit moment for the memory tree.

Fragility to watch

  • Symlinks break if ~/dotfiles/claude/ is moved. Keep dotfiles at ~/dotfiles/.
  • macOS Time Machine / backup tools may or may not follow symlinks. Verify your backup solution sees files, not just broken links.
  • If Claude Code's internal path conventions change (e.g., the project-scope slug -Users-davidglidden changes), the symlink stops pointing where Claude Code looks. Re-create with the new path.