---
name: adapter-record-dir-hazard
description: NEVER rm adapters/<name>/ — Pointer-mode registry keeps its live record.toml THERE even when the manifest beside it is ancient; 2026-07-06 wipe unregistered claude-spt (recovered in ~2min via adapter add --release)
metadata: 
  node_type: memory
  type: feedback
  originSessionId: 92f4e8f1-7e75-4907-a410-923bc13d4448
---

**NEVER `rm -rf <SPT_HOME>/adapters/<name>/`.** 2026-07-06: operator asked to wipe what looked like an orphaned registration (`adapters/claude-spt/` — manifest.toml v0.1.0 from June 16, not shown in `adapter list` source_dirs). It was NOT an orphan: **Pointer-mode registrations store the live `record.toml` in `adapters/<name>/`**, pointing source_dir at the real payload home (`adapters/_github/<slug>/`). `adapter list` shows the POINTED-AT dir, never the record dir — so the record dir always looks unregistered. My update one minute earlier had freshly rewritten that record.toml (mtime was the tell, spotted post-rm). Deleting it UNREGISTERED claude-spt.

**Why:** registry record location ≠ payload location; staleness of bytes inside a dir says nothing about the dir being load-bearing.

**How to apply:** stale bytes inside a record dir get cleaned by RE-REGISTRATION, never rm. Before deleting anything under `<SPT_HOME>/adapters/`, check for `record.toml` + its mtime. Recovery if it happens: `spt adapter add --release SaberMage/claude-spt` recreates the record; the `_github` payload home (binary/manifest/strings/state incl. sid-rotation proofs) is untouched by the record loss; running livehosts keep their host-start-captured install_dir and never notice. Exposure = new spawns/resolutions during the unregistered window only.
