Source identity
| Field | Recorded value |
|---|---|
| Source type | project Library file |
| Original record | PANTHEON_DEVICE_RECOVERY_FIRST_CODEX_DIRECTIVE.md |
| Date | Aug 27, 2026 |
| Path or archive member | PANTHEON_DEVICE_RECOVERY_FIRST_CODEX_DIRECTIVE.md |
| Original SHA-256 | 6ebc4cd46f4dfa1d1f4b535f44f450b473c79c92e40d95c51d3646bca140fc71 |
| Reading-copy SHA-256 | 6ebc4cd46f4dfa1d1f4b535f44f450b473c79c92e40d95c51d3646bca140fc71 |
Every recorded occurrence
These 2 records contain identical original source bytes. Their paths and revisions remain part of the archive.
| Original record | Branch or archive | Revision / identifier | Original location |
|---|---|---|---|
| PANTHEON_DEVICE_RECOVERY_FIRST_CODEX_DIRECTIVE.md | Archive occurrence | libsrc-44447822a368 | PANTHEON_DEVICE_RECOVERY_FIRST_CODEX_DIRECTIVE.md |
| PANTHEON_DEVICE_RECOVERY_FIRST_CODEX_DIRECTIVE.md | {"sourceId": "libsrc-46464020f0cc", "member": "Joseph_Master_Recovery_2026-10-12/sources/PANTHEON_DEVICE_RECOVERY_FIRST_CODEX_DIRECTIVE.md"} | libsrc-6b6a74d65538 | archives/libsrc-46464020f0cc/Joseph_Master_Recovery_2026-10-12/sources/PANTHEON_DEVICE_RECOVERY_FIRST_CODEX_DIRECTIVE.md |
Recovered source transcript
Download complete source text ↓504 lines · 26.0 KB
# PANTHEON DEVICE RECOVERY FIRST — CODEX EXECUTION DIRECTIVE
## Controlling decision
This directive must be completed **before** the Pantheon operational-unification directive begins.
Set and enforce:
```text
PANTHEON_PHASE=DEVICE_RECOVERY
PANTHEON_DEVICE_REPAIR_LOCK=true
PANTHEON_ORCHESTRATION_ALLOWED=false
PANTHEON_INTEGRATION_ALLOWED=false
PANTHEON_DEVICE_FLEET_READY=false
NEW_AI_BUILD_ALLOWED=false
NEW_FEATURE_WORK_ALLOWED=false
M2_PANTHEON_RUNTIME_ALLOWED=false
DONOR_RUNTIME_ALLOWED=false
DESTRUCTIVE_DATA_LOSS_ALLOWED=false
UNVERIFIED_STORAGE_MUTATION_ALLOWED=false
```
The only active mission is to repair, stabilize, protect, and verify every Pantheon device and its existing local services. Do not combine the AIs, redesign Pantheon, ingest donors, add capabilities, or begin cross-device orchestration until the final fleet gate passes.
## Scope
### Core runtime devices that must pass
1. **MEGAMIND-AGI Windows**
2. **MEGAMIND Ubuntu WSL2**
3. **M4 Mac mini**
4. **M1 / VALKYRIE MacBook Pro**
5. **Bubbles Debian node**
### Operator device
6. **M2 MacBook Pro** — operator, audit, and evidence terminal only. It must remain unnecessary for Pantheon runtime operation.
### Historical remote devices
7. **IONOS-MediaMind**
8. **BATMAN**
IONOS-MediaMind and BATMAN must end in exactly one verified state:
- `REAUTHENTICATED_DORMANT_READY`
- `REAUTHENTICATED_ASSIGNED_ROLE`
- `RETIRED_NOT_PANTHEON`
- `BLOCKED_NO_LONGER_CONTROLLED`
They may not remain `UNKNOWN` while being counted as Pantheon devices.
The iPhone and iPad are not Pantheon compute/storage nodes and must remain excluded.
## Current issue ledger that this directive must resolve
### MEGAMIND Windows / WSL
- Windows C: is storage-exhausted with less than 1 GB free.
- The 926 GB `ext4.vhdx` contains the stopped WSL environment and candidate-authoritative ORACLE, graph, PostgreSQL/WAL, and generation-157 state.
- WSL is stopped.
- Windows port proxies point to a historical stopped WSL address and reset connections.
- Windows Tailnet identity was offline at the audit cut.
- ORACLE and graphd cannot be verified while WSL is unavailable.
### M1 / VALKYRIE
- Internal storage is critical at about 13–14 GB free.
- Live VALKYRIE, Endless, Atlas, embedding, and homeostasis services must not be damaged during cleanup.
- Endless Table has modified and untracked production files.
- Seferim PID files are stale.
- M1 intentionally has an embedding model only; it must not be falsely reported as a language generator.
### M4
- Pantheon/MEGAMIND/model/database launch agents are disabled.
- No local language/model backend is currently live.
- Core source trees are not independently versioned.
- Internal storage has limited headroom.
- The 6 TB `/Volumes/MEGAMIND` drive is mounted and must be verified as a reliable backup/runtime target.
- A separate 5 TB HFS disk is present but unmounted and unknown.
- Port `4222` is owned by Tailscale Funnel, not Pantheon NATS.
- Secret-bearing files exist and cannot be reused blindly.
### Bubbles
- Bubbles carries the most active NATS/corpus workload and must be treated as a critical node.
- `/home/user/mmk` is untracked inside an unrelated repository.
- `mmteach` is degraded.
- `mmloop` is passive rather than autonomously cycling.
- Current orchestration/certification can overstate success.
- Bubbles has wired and Wi-Fi addresses; the Pantheon route must have one explicit primary interface.
### M2
- Preserved Pantheon evidence and historical data are mostly unversioned.
- `megamind-irreplaceable-backup` has not been proved redundant by cross-storage hashes.
- M2 must not acquire a Pantheon runtime dependency.
## Global safety rules
1. **Protect unique state before repair.** The WSL VHD and its graph/WAL, M1 VALKYRIE/Endless state, Bubbles brain/corpora/indexes, M4 history/state, and M2 evidence are protected inputs.
2. **No blind deletion.** Delete only regenerable cache/log/temp material after recording the path, size, classification, and rollback or reproduction method.
3. **No WSL unregister before proof.** `wsl --unregister` is forbidden unless a complete export exists on independent storage, its hash and contents are verified, an isolated restore/import has passed, critical databases/graph records have been read back, and the rollback procedure has been tested.
4. **No disk erase or format.** Never initialize, erase, repartition, or reformat the unknown M4 5 TB disk.
5. **No ad-hoc VHD surgery.** Compaction, movement, repair, or import must use supported offline WSL/VHD procedures after verified backup.
6. **No operating-system upgrade as cleanup.** Do not update macOS, Windows, Debian, firmware, WSL, package sets, or kernels unless the current repair is impossible without it and the change has a tested rollback.
7. **No archived secret reuse.** Record required variable names only. Quarantine old values and rotate credentials before external services are enabled.
8. **Donor models stay off.** GPT-OSS, DeepSeek, Kimi, and other donor inference runtimes remain disabled.
9. **Wired LAN is primary.** Use the local wired network for Pantheon data traffic. Tailscale is the remote-management/failover path unless a measured reason requires otherwise.
10. **Do not confuse listeners with health.** A PID, port proxy, launch definition, stale PID file, or open port is not a healthy service.
11. **One change at a time.** Record before-state, exact action, after-state, test, rollback, and evidence before continuing.
12. **Never make M2 a dependency.** Recovery commands may be launched from M2, but all backups, manifests, service definitions, and required runtime state must exist independently of M2.
## Evidence and logging standard
Create one recovery run ID:
```text
PANTHEON_DEVICE_RECOVERY_<UTC_TIMESTAMP>
```
For every device, maintain:
```text
<run-id>/<device>/
before.json
storage-before.txt
network-before.txt
processes-before.txt
services-before.txt
protected-paths.json
backup-manifest.json
actions.log
verification.log
after.json
rollback.md
blockers.md
```
Store the authoritative recovery evidence in two independent locations when available:
- Bubbles: `/mnt/data/pantheon-recovery/<run-id>/`
- M4: `/Volumes/MEGAMIND/pantheon-recovery/<run-id>/`
M2 may hold a read-only convenience copy, never the only copy.
Do not write secrets into these artifacts.
## Fleet acceptance thresholds
These are Pantheon operational thresholds for this recovery, not generic hardware claims.
- System clocks agree within 2 seconds across the wired cluster.
- No duplicate LAN address or ambiguous hostname remains.
- Ten-minute wired packet-loss test between every core pair shows 0% loss under idle conditions.
- Every runtime device can be managed without M2 remaining powered on after services are configured.
- Every protected data store has at least one independent verified backup or application-consistent snapshot.
- Every running local service maps to a source commit, captured rescue commit, or preserved binary hash plus configuration hash.
- Every service manager definition survives a controlled reboot.
- No system volume remains in a critical free-space state.
- No current health endpoint reports success when a required dependency is absent.
Target minimum free-space gates:
- MEGAMIND Windows C: at least **100 GB and 10% free**.
- M1 internal: at least **40 GB and 15% free**.
- M4 internal: at least **40 GB and 15% free**.
- Bubbles root: at least **20% free**.
- Bubbles `/mnt/data`: retain at least **25% free** after recovery copies.
- M2 internal: retain at least **50 GB free**; no Pantheon runtime may be installed to use it.
If a target cannot be reached without deleting candidate-unique state, stop with a precise storage blocker rather than lowering the threshold silently.
# Execution order
## Phase D0 — Freeze and fresh read-only fleet baseline
1. Verify `MANIFEST.sha256` for the supplied Pantheon audit packet.
2. Stop all unrelated Codex tasks and new builds.
3. Do not start ORACLE, graphd, M4 models, named minds, donor workers, or new orchestration routes.
4. Collect fresh host identity, OS/build, uptime, CPU/RAM, disk inventory, filesystem state, free space, mount state, SMART/health where supported, power settings, time sync, DNS, routing, firewall, process ownership, listeners, service-manager state, and current backups from every accessible device.
5. Confirm the current wired and Tailnet addresses rather than trusting historical values.
6. Verify Bubbles `/mnt/data` and M4 `/Volumes/MEGAMIND` have enough real free capacity to serve as independent recovery targets.
7. Run non-destructive disk verification on those backup targets before copying authoritative state.
8. Produce a ranked blocker list. MEGAMIND capacity remains P0 unless fresh evidence disproves it.
**D0 gate:** all reachable devices inventoried; two backup targets measured; no state mutation; protected paths frozen.
## Phase D1 — Certify backup targets first
### Bubbles target certification
- Verify `/mnt/data` filesystem health, mount options, free space, inode availability, ownership, and sustained read/write checksum behavior in a temporary test directory.
- Verify the test directory can be removed without touching corpus/state paths.
- Confirm the recovery destination is excluded from corpus ingestion and automatic cleanup.
### M4 target certification
- Verify `/Volumes/MEGAMIND` identity, filesystem, capacity, mount stability, and non-destructive disk health.
- Run Apple-supported storage verification in the correct volume/container/device order when applicable.
- Test write, flush, unmount/remount if safe, readback, and checksum in a temporary recovery test directory.
- Confirm the volume automatically remounts after a controlled reboot or document the required mount service.
**D1 gate:** at least one target is certified for the complete WSL export and both targets are certified for critical-state backups. If neither target passes, stop with `BLOCKED_NO_SAFE_BACKUP_TARGET`.
## Phase D2 — MEGAMIND emergency recovery
### D2.1 Preserve WSL before capacity repair
1. Keep Ubuntu stopped.
2. Record WSL version/status, distro registration, VHD path, file size, Windows volume state, and current port-proxy rules.
3. Create a complete independent recovery copy using one supported route that does not stage another full copy on C::
- a direct WSL export to independent storage; or
- a stopped, byte-preserving copy of `ext4.vhdx` to independent storage.
4. Create a second critical-state preservation set for Windows-visible ORACLE/cluster source, service definitions, manifests, and other state accessible without starting WSL. After the complete-copy gate passes and WSL is started in maintenance mode, add application-consistent PostgreSQL logical dumps, WAL/archive metadata, graph state, ORACLE configuration, and package manifests.
5. Hash the complete recovery object and all critical-state artifacts.
6. Validate the complete recovery object by the strongest supported non-destructive method available:
- isolated WSL import/restore on suitable Windows-compatible local or external storage; or
- read-only VHD validation/mount plus filesystem and expected-path inspection; or
- another documented WSL/VHD integrity check that proves the object is complete and readable.
7. An isolated import/restore is preferred, but absence of a spare Windows-compatible disk must not force unsafe same-disk work. In that case record `RESTORE_TEST_DEFERRED_NEEDS_SPARE_WINDOWS_STORAGE`, retain the verified full copy, and do not unregister or replace the original distribution.
8. Read back expected ORACLE/graph/PostgreSQL/generation-157 paths from the validated copy when the chosen validation method permits it.
9. Do not unregister, replace, move, or compact the original distribution until the complete-copy and validation gates pass.
### D2.2 Recover Windows capacity
After D2.1 passes:
- Inventory C: usage by category.
- First remove or relocate only regenerable Windows temporary files, crash dumps, update residue, installer caches that Windows can safely recreate, and other explicitly non-authoritative material.
- Preserve logs required to diagnose the incident before rotation/removal.
- Measure the real used/free space inside the WSL filesystem.
- If the VHD contains reclaimable unused blocks, use a supported offline compact/move procedure only after the backup and restore gates pass.
- Prefer moving the WSL distribution to a dedicated local physical volume with sufficient headroom rather than returning it to a nearly full system disk.
- Never host the active WSL VHD on an unreliable or transient network share.
- Do not use `wsl --unregister` unless the verified export/import rollback gate above has passed.
### D2.3 Restore Windows and WSL host health
- Reach the Windows free-space gate.
- Verify Windows filesystem and physical-disk health.
- Restore Windows Tailnet connectivity with a current device identity.
- Start WSL in controlled maintenance mode.
- Verify WSL filesystem health, internal free space, DNS, time, networking, default user, systemd/service manager, and package-manager consistency.
- Verify PostgreSQL/WAL integrity before allowing graphd or ORACLE to write.
- Verify generation 157, 1,312 nodes, 515 edges, `brain.live_coverage`, and `brain.human_equivalence.status` from the preserved authoritative state.
- Keep scientific equivalence false and donor runtimes off.
- Replace the stale hard-coded port-proxy target with a supported stable routing method. Do not retain a proxy to historical WSL IP `172.31.126.135` unless that is freshly verified as current.
- Require endpoint dependency checks so Windows proxy listeners cannot report ORACLE healthy when WSL or ORACLE is down.
- Reboot Windows once and prove WSL, storage, network identity, routes, and local service readiness recover predictably.
**D2 acceptance:**
```text
MEGAMIND_WINDOWS=HEALTHY
MEGAMIND_WSL=HEALTHY
WINDOWS_C_FREE_BYTES>=100000000000
WSL_EXPORT_VERIFIED=true
WSL_RESTORE_TEST_PASSED=true
POSTGRES_WAL_INTEGRITY=PASS
GENERATION_157_VERIFIED=true
ORACLE_LOCAL_HEALTH=PASS
GRAPHD_LOCAL_HEALTH=PASS
DONOR_RUNTIME=OFF
```
Do not register ORACLE with Pantheon yet. This is local device/service recovery only.
## Phase D3 — M1 / VALKYRIE storage and state recovery
1. Quiesce each stateful service using its supported method; do not copy open SQLite/Badger state blindly.
2. Create application-consistent backups of:
- `/Users/beandaddy/valkyrie-data`
- `/Users/beandaddy/endless-table-server/data/endless.db` plus required WAL/SHM state
- `/Users/beandaddy/.seferim`
- service definitions and launch configuration
- `/Users/beandaddy/endless-table-server` source and dirty worktree
3. Hash and verify the backups on both certified targets where capacity permits.
4. Capture the dirty Endless worktree into a private rescue branch/commit without discarding tracked changes or untracked production files.
5. Capture binary and configuration hashes for VALKYRIE, Endless, Atlas, Ollama, and homeostasis.
6. Inventory internal storage by category.
7. Offload or remove only regenerable caches, duplicate installers, obsolete build products, rotated logs, and verified duplicate archives.
8. Do not move or delete live VALKYRIE, Endless, Seferim, Atlas, or embedding state merely to satisfy the threshold.
9. Remove stale `builder.pid`, `nexus.pid`, and `federation/bridge.pid` only after confirming no matching live process and recording the cleanup.
10. Verify internal filesystem health; if repair requires macOS Recovery, record the exact manual repair gate and do not pretend it passed.
11. Restore and test local services independently:
- VALKYRIE `brain_new`
- Endless Table
- Endless Pantheon local dependencies
- Atlas
- Ollama embedding model
- homeostasis
12. Keep M1 classified as embedding-only. Do not install a language generator merely to remove a `MISSING` label.
13. Reboot M1 and prove services, mounts, state counts, and Bubbles NATS connectivity return without state loss.
**D3 acceptance:**
```text
M1_STORAGE_FREE_GB>=40
M1_STORAGE_FREE_PERCENT>=15
VALKYRIE_STATE_BACKUP=VERIFIED
ENDLESS_SQLITE_BACKUP=VERIFIED
ENDLESS_SOURCE_RESCUE_COMMIT=CREATED
STALE_PIDS=RESOLVED
VALKYRIE_LOCAL_HEALTH=PASS
ENDLESS_LOCAL_HEALTH=PASS
ATLAS_LOCAL_HEALTH=PASS
EMBEDDING_RUNTIME=PASS
M1_REBOOT_TEST=PASS
```
## Phase D4 — M4 storage, source, network, and local runtime readiness
1. Verify the internal APFS storage and the mounted 6 TB `/Volumes/MEGAMIND` device.
2. Reach the M4 internal free-space gate by relocating only verified non-authoritative archives, caches, build products, model download residue, and duplicate externalized copies after hashes/provenance are recorded.
3. Inventory all Pantheon/MEGAMIND/MLX/Atlas/model/database source and state roots on internal storage and the 6 TB volume.
4. Compare internal and externalized source copies by path, timestamp, size, and hash where practical. Do not assume the externalized mirror is newer.
5. Create private rescue repositories or immutable source manifests for currently unversioned deployable trees. Do not rewrite original timestamps or discard divergent copies.
6. Inspect the separate 5 TB HFS disk read-only if the hardware and filesystem permit. Never erase, initialize, or reformat it. Record its identity, health, partitions, mount result, top-level inventory, and whether it contains unique Pantheon state.
7. If the 5 TB disk cannot be safely read, classify it `BLOCKED_DISK_NEEDS_MANUAL_INSPECTION`; do not call it empty or redundant.
8. Resolve port `4222` ownership:
- Bubbles remains the Pantheon NATS broker.
- M4 `:4222` must not be advertised as NATS while owned by Tailscale Funnel.
- Relocate or disable that Funnel mapping if it is not explicitly required, or reserve/document the conflict so no Pantheon configuration targets it.
9. Validate launchd definitions, ownership, working directories, dependencies, resource limits, logs, and restart behavior for existing approved local services.
10. Quarantine archived secret values and produce a variable-name-only configuration manifest.
11. Keep Pantheon, MEGAMIND, model, database, and generator launch agents disabled during device recovery. Validate their definitions, paths, permissions, dependencies, and logs without activating the AI stack.
12. Record whether an approved non-donor generator asset appears present, but defer generation startup and behavioral testing to the Pantheon orchestration directive.
13. Reboot M4 and verify internal/external mounts, source paths, launch definitions, and host readiness without any disabled AI service starting unexpectedly.
**D4 acceptance:**
```text
M4_STORAGE_FREE_GB>=40
M4_STORAGE_FREE_PERCENT>=15
M4_INTERNAL_DISK_HEALTH=PASS
M4_6TB_DISK_HEALTH=PASS
M4_5TB_DISK=INVENTORIED_READ_ONLY|BLOCKED_MANUAL_INSPECTION
M4_SOURCE_LINEAGE=CAPTURED
M4_PORT_4222_FALSE_NATS=RESOLVED
M4_LAUNCHD_VALIDATION=PASS
M4_AI_STACK_REMAINS_DISABLED=true
M4_GENERATOR_ASSET_STATUS=PRESENT_UNVERIFIED|MISSING|UNKNOWN
M4_REBOOT_TEST=PASS
```
A missing approved generator asset does not make the hardware unhealthy, but it must remain an explicit blocker for the later Pantheon integration phase.
## Phase D5 — Bubbles durability, source, network, and local service recovery
1. Verify root NVMe and `/mnt/data` filesystem/physical-disk health, free space, inodes, mount persistence, and log growth.
2. Back up and hash:
- `/home/user/mmk`
- `/home/user/brain-data`
- NATS configuration and persistent state
- service-manager definitions
- corpus manifests, index metadata, current harvester state, and irreplaceable small control files
3. Do not duplicate the entire corpus blindly when deterministic corpus manifests and restore instructions can prove reconstruction. Preserve candidate-unique indexes and state explicitly.
4. Create a clean private rescue repository for `/home/user/mmk` from the exact active tree. Record the unrelated parent repository/branch but do not leave `mmk` untracked.
5. Map every running Bubbles binary to the rescue commit or a preserved binary hash and configuration hash.
6. Make wired `192.168.1.132` the explicit Pantheon primary route. Keep Wi-Fi secondary only if it has a tested purpose and cannot cause asymmetric routing or duplicate service advertisement.
7. Verify NATS configuration, permissions, subjects, monitoring, persistence, restart behavior, and VALKYRIE client reconnection.
8. Diagnose and repair `mmteach` locally: backlog, file descriptors, event loop, dependencies, callers, health timeout, and service limits must be measured before restart.
9. Define `mmloop` honestly as `ON_DEMAND` or `EVENT_DRIVEN`; eliminate stale autonomous-health claims.
10. Fix local health semantics so `mmorch`, `mmcert`, or any gateway cannot report success from HTTP errors, empty output, query echo, or missing required dependency. Do not yet add cross-device ORACLE orchestration.
11. Add bounded log rotation and disk-growth alarms that cannot delete protected evidence or corpus state.
12. Reboot Bubbles and prove NATS, brain state, corpora, harvesters, and repaired local services recover in the correct order.
**D5 acceptance:**
```text
BUBBLES_ROOT_FREE_PERCENT>=20
BUBBLES_DATA_FREE_PERCENT>=25
BUBBLES_DISK_HEALTH=PASS
MMK_RESCUE_REPOSITORY=CREATED
BRAIN_DATA_BACKUP=VERIFIED
NATS_LOCAL_HEALTH=PASS
VALKYRIE_RECONNECT=PASS
MMTEACH_LOCAL_HEALTH=PASS
MMLOOP_MODE=ON_DEMAND|EVENT_DRIVEN
FALSE_SUCCESS_HEALTH=RESOLVED
BUBBLES_REBOOT_TEST=PASS
```
## Phase D6 — M2 operator/evidence protection without runtime
1. Confirm no Pantheon runtime process or launch agent exists on M2.
2. Hash and back up to both certified targets where practical:
- `/Users/josephanady/pantheon_pending_commit`
- `/Users/josephanady/megamind-irreplaceable-backup`
- `/Users/josephanady/.seferim`
- current device-recovery and architecture packets
3. Compare the 2.1 GB irreplaceable backup against other storage by hash/manifests and record what is truly unique.
4. Put preserved source/evidence into a private provenance-controlled repository or immutable manifest without changing original evidence copies.
5. Maintain at least 50 GB free using only ordinary non-Pantheon cleanup.
6. Test that M2 can be powered off while every core runtime device and local service remains healthy.
**D6 acceptance:**
```text
M2_PANTHEON_RUNTIME=false
M2_EVIDENCE_BACKUP=VERIFIED
M2_UNIQUE_STATE_CLASSIFIED=true
M2_FREE_GB>=50
M2_POWER_OFF_TEST=PASS
```
## Phase D7 — IONOS-MediaMind and BATMAN resolution
For each remote historical node:
1. Verify current ownership and authorization.
2. Replace expired authentication/Tailnet enrollment with new credentials; never reuse archived keys.
3. Verify hostname, OS, storage, filesystem health, free space, source/state, services, and network identity.
4. Do not start archived AI services during inventory.
5. Assign an explicit role only if unique capability/state and a current operational need are proved.
6. Otherwise mark it `RETIRED_NOT_PANTHEON` and remove it from live device counts and required routes without deleting historical evidence.
7. If the device is no longer controlled, mark `BLOCKED_NO_LONGER_CONTROLLED` and remove it from runtime requirements.
**D7 acceptance:** no remote node remains `UNKNOWN` or falsely counted as live.
## Phase D8 — Cross-device fleet verification, still without Pantheon orchestration
1. Verify hostnames, wired addresses, Tailnet addresses, DNS, time sync, and routing table on every core node.
2. Run ten-minute packet-loss and latency tests across every core pair on wired LAN.
3. Run bounded throughput tests without disrupting NATS, databases, or corpora.
4. Verify SSH/remote-management paths and least-privilege access.
5. Verify firewall rules expose only required management and local-service ports.
6. Restart each core node one at a time and prove the other nodes remain healthy.
7. Verify each node's local services return in dependency order.
8. Verify all recovery evidence exists on both Bubbles and M4 and is readable without M2.
9. Verify no donor runtime, new AI, or cross-device Pantheon orchestration was started.
10. Produce the final device matrix with `PASS`, `BLOCKED`, or `RETIRED` for every device and every issue from the original ledger.
## Final device-fleet gate
Set:
```text
PANTHEON_DEVICE_FLEET_READY=true
```
only when all of the following are true:
- MEGAMIND Windows and WSL pass D2.
- M1 passes D3.
- M4 passes D4, with generator assets merely inventoried and all AI activation deferred to the integration phase.
- Bubbles passes D5.
- M2 passes D6 and is not required.
- IONOS-MediaMind and BATMAN are resolved to verified active/dormant, retired, or no-longer-controlled states.
- All protected state has verified independent recovery evidence.
- Storage thresholds pass.
- Filesystem and disk health checks pass or an exact physical-service blocker is recorded.
- Wired/Tailnet identity and routing are unambiguous.
- Reboot and one-node-at-a-time recovery tests pass.
- Local service health is honest and dependency-aware.
- Donor runtimes remain off.
- No Pantheon cross-device orchestration has begun.
If any core device is blocked, leave:
```text
PANTHEON_DEVICE_FLEET_READY=false
PANTHEON_ORCHESTRATION_ALLOWED=false
```
and report the exact blocker, required physical resource or credential, preserved evidence, and safest next action.
## Required final report
At the end of every device phase, print:
```text
PHASE=D<number>
DEVICE=<device-or-fleet>
STATUS=PASS|FAIL|BLOCKED|RETIRED
ISSUES_FOUND=<exact list>
CHANGES=<exact reversible changes>
DATA_PROTECTED=<paths and backup IDs>
STORAGE_BEFORE=<bytes and percent>
STORAGE_AFTER=<bytes and percent>
HEALTH_TESTS=<results>
REBOOT_TEST=<result>
ROLLBACK=<tested rollback>
BLOCKERS=<none or exact blocker>
PANTHEON_DEVICE_FLEET_READY=false
PANTHEON_ORCHESTRATION_ALLOWED=false
```
After D8, produce:
- `PANTHEON_DEVICE_RECOVERY_RESULTS.json`
- `PANTHEON_DEVICE_FINAL_MATRIX.csv`
- `PANTHEON_DEVICE_PROTECTED_PATHS.json`
- `PANTHEON_DEVICE_BACKUP_MANIFEST.json`
- `PANTHEON_DEVICE_NETWORK_MAP.json`
- `PANTHEON_DEVICE_SERVICE_MANIFEST.json`
- `PANTHEON_DEVICE_SOURCE_LINEAGE.json`
- `PANTHEON_DEVICE_ROLLBACK_RUNBOOK.md`
- `PANTHEON_DEVICE_BLOCKERS.md`
Do not begin the Pantheon operational-unification directive until `PANTHEON_DEVICE_FLEET_READY=true` is supported by these artifacts and the measured results.