# OID archive relocation

Large historical OID payloads were relocated on 2026-07-22 using the selected **move + local stub, no symlink** policy.

- Archive root: `/home/frank14f/optane/DynamisLab-backups/OID_analysis-archive-20260722/`
- Payload root: `/home/frank14f/optane/DynamisLab-backups/OID_analysis-archive-20260722/payload/`
- Local manifest: `RELOCATION_MANIFEST.json`
- Manifest SHA-256: `0f4a7c25b0e76ec60a9c2229260917444d2420fccf101b091a5aa0b2f34a32aa`
- Verified payload: 250 files, 6,240,991,692 bytes

The relocation manifest contains each source-relative path, byte size, mtime, and SHA-256. The destination was independently rehashed before publication. The local manifest is sufficient to inspect provenance without mounting Optane.

## Restore

From the repository root, first verify the manifest and perform a checksum-only dry run:

```bash
sha256sum -c /home/frank14f/optane/DynamisLab-backups/OID_analysis-archive-20260722/source_manifest.sha256
rsync -a --checksum --dry-run /home/frank14f/optane/DynamisLab-backups/OID_analysis-archive-20260722/payload/ ./
```

After reviewing the dry-run output, restore with the same command without `--dry-run`. Never restore over newly generated files; use a clean checkout or review every conflict.

## Local evidence retained

- `../provenance/contradictions/steady_reanalysis.json`: small contradiction evidence consumed by the active audit.
- `../provenance/parents/illusion_1.0L/`: Illusion parent checkpoint, trajectory, and manifest needed to close formal lineage.

The formal Kármán branch metadata records checkpoint bundle SHA-256 `2c98a02d6309b597f1aeb927324c4ddd7d318a47ac345fcd70a4b2cd897d83b7`, but that bundle was not present in the development archive at relocation time. This is a fail-closed lineage limitation and must be resolved by creating a new independently initialized parent for subsequent realizations; the old formal run remains regression evidence only.

## Phase 0 active-runs relocation (2026-07-23)

The active OID runtime payloads were compacted under the same **copy, independently SHA-256 verify, then remove local payload; local stub; no symlink** convention.

- Archive root: `/home/frank14f/optane/DynamisLab-backups/OID_analysis-runs-phase0-20260723/`
- Payload root: `/home/frank14f/optane/DynamisLab-backups/OID_analysis-runs-phase0-20260723/payload/`
- Archive and local inventory: `RUNS_RELOCATION_MANIFEST.json`
- Inventory SHA-256: `97a7611a7788d473081fb0c5498fd868d927f055d70910e818a9007eb5e69e67`
- Verified archive: 202 files, 71,144,300,428 bytes
- Relocated local NPZ payloads: 94 files, 71,144,174,465 bytes
- Compact local `runs/` size after relocation: 151,691 logical file bytes (about 792 KiB allocated)
- Active evidence entry: `../runs/ACTIVE_EVIDENCE.json`
- Active evidence SHA-256 at publication: `1f381aef568e850a2d416a398e0301ad11b244ddc5a9199588a3b25f42a14d87`

The archive contains the complete pre-relocation `src/OID_analysis/runs` inventory, including the six corrected formal-three paired realizations, six parent bundles, invalid-telemetry quarantine, legacy formal runtime payloads, and rebuildable canonical/analysis payloads. The worktree retains compact branch, paired, parent, twin-gate, canonical, audit, quarantine, and analysis reports. `ACTIVE_EVIDENCE.json` is the single manifest-driven entry for the six trusted paired realizations and their archive-bound payload hashes.

### Formal COMPLETE status

No `COMPLETE.json` was created. This is intentional fail-closed behavior. The six `formal-three` realization directories have neither the original `RUNNING.json` state nor a canonical run-level `oid-formal-run/v2` manifest that binds all artifacts and the three-realization contract. Their branch, parent, paired-collection, twin-gate, and canonical-product hashes were verified before relocation, but retroactively inventing an immutable COMPLETE transition would not be faithful. They remain **verified existing lineage, not strict-loader COMPLETE runs**.

### Verify without restoring

From the repository root:

```bash
sha256sum src/OID_analysis/archive/RUNS_RELOCATION_MANIFEST.json
sha256sum /home/frank14f/optane/DynamisLab-backups/OID_analysis-runs-phase0-20260723/RUNS_RELOCATION_MANIFEST.json
cmp src/OID_analysis/archive/RUNS_RELOCATION_MANIFEST.json \
  /home/frank14f/optane/DynamisLab-backups/OID_analysis-runs-phase0-20260723/RUNS_RELOCATION_MANIFEST.json
```

Both SHA-256 commands must print `97a7611a7788d473081fb0c5498fd868d927f055d70910e818a9007eb5e69e67`, and `cmp` must produce no output.

### Restore selected or all runtime payloads

Always restore into an empty staging directory first; never overwrite the compact evidence tree or newly generated files.

```bash
mkdir -p /tmp/oid-runs-restore
rsync -a --checksum --dry-run \
  /home/frank14f/optane/DynamisLab-backups/OID_analysis-runs-phase0-20260723/payload/src/OID_analysis/runs/ \
  /tmp/oid-runs-restore/
rsync -a --checksum \
  /home/frank14f/optane/DynamisLab-backups/OID_analysis-runs-phase0-20260723/payload/src/OID_analysis/runs/ \
  /tmp/oid-runs-restore/
```

Verify staged files against `RUNS_RELOCATION_MANIFEST.json` before copying selected payloads back. Paths in the inventory are repository-relative. Review every destination conflict manually; do not use `--delete` and do not restore the archived compact JSON over current compact evidence.
