Bundles state that lives OUTSIDE the xenia-rs repo so a fresh clone on
another machine can be brought up to identical configuration via
migration/setup.sh:
- claude-memory/ ~/.claude/projects/-home-fabi-RE-Project-Sylpheed/memory/
(103 files, 1.1 MB - MEMORY.md + every
project_xenia_rs_*.md from audits
addis_signext through audit-058)
- project-root/dot-claude/ <project-root>/.claude/settings.json
(Stop hook + permissions)
- project-root/ppc-manual/ <project-root>/ppc-manual/
(PowerPC reference docs, 397 files, 3.7 MB)
- project-root/run-canary.sh <project-root>/run-canary.sh
- README.md Human-readable setup checklist
- setup.sh Idempotent installer (also reclones
xenia-canary at pinned HEAD 6de80dffe)
- MANIFEST.md Per-file mapping + per-file-not-bundled
restoration recipe
Excluded from bundle (not shippable via git):
- Sylpheed ISO (7.8 GB; copyright; manual copy required)
- sylpheed.db (395 MB; regenerable from XEX via analysis tooling)
- target/ build artifacts (rebuild on target)
- audit-runs probe firehoses (.log/.stdout/.stderr ~11 GB; rerun if needed)
- audit-runs memory dumps (.bin ~4.5 GB; rerun audit-026/027/029 if needed)
- xenia-canary checkout (setup.sh reclones from
git.mc02.dev/fabi/Xenia-Canary.git at HEAD 6de80dffe)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
117 lines
5.3 KiB
Markdown
117 lines
5.3 KiB
Markdown
# Cross-machine migration snapshot
|
|
|
|
This directory bundles the parts of the working state that live OUTSIDE
|
|
the `xenia-rs` git repo, so a fresh clone on another machine can be brought
|
|
up to the exact same configuration without manual file-shuffling.
|
|
|
|
It is paired with branch **`chore/portable-snapshot`**. If you're reading
|
|
this on a machine other than the original, you are on that branch.
|
|
|
|
## TL;DR — how to set up a new machine
|
|
|
|
```bash
|
|
# 1. Clone into the canonical path (matches embedded paths in memory).
|
|
mkdir -p ~/'RE Project Sylpheed'
|
|
cd ~/'RE Project Sylpheed'
|
|
git clone https://git.mc02.dev/fabi/xenia-rs.git
|
|
cd xenia-rs
|
|
git checkout chore/portable-snapshot
|
|
|
|
# 2. Run the installer (idempotent; safe to re-run).
|
|
bash migration/setup.sh
|
|
|
|
# 3. Manual steps the script will remind you about:
|
|
# - Copy the Sylpheed ISO into the project root.
|
|
# - Regenerate sylpheed.db once (analysis tooling pulls XEX from the ISO).
|
|
# - Build canary Debug if you intend to run cross-runtime probes.
|
|
# - Switch back to master and continue from HEAD ac2f89a (or merge this
|
|
# branch into master if you want to keep the audit-runs/findings.md
|
|
# history; the branch is purely additive).
|
|
```
|
|
|
|
## What gets installed where
|
|
|
|
| Source under `migration/` | Target on new machine |
|
|
|---|---|
|
|
| `claude-memory/` (1.1 MB, 103 files) | `~/.claude/projects/-home-fabi-RE-Project-Sylpheed/memory/` |
|
|
| `project-root/dot-claude/settings.json` | `<project-root>/.claude/settings.json` |
|
|
| `project-root/ppc-manual/` (3.7 MB) | `<project-root>/ppc-manual/` |
|
|
| `project-root/run-canary.sh` | `<project-root>/run-canary.sh` |
|
|
|
|
Where `<project-root>` is the parent directory of this xenia-rs clone
|
|
(i.e. `~/'RE Project Sylpheed'/` if you followed the TL;DR layout).
|
|
|
|
## What is NOT bundled and why
|
|
|
|
| Thing | Why excluded | How to restore on new machine |
|
|
|---|---|---|
|
|
| Sylpheed ISO (~7.8 GB) | Size + copyright; cannot ship via git | Copy manually from the original machine to `<project-root>/Project Sylpheed - Arc of Deception (USA, Europe) (En,Ja).iso` |
|
|
| `sylpheed.db` (~395 MB) | Reproducible from XEX + analysis tooling; permanent git bloat | After cargo build, regenerate. See *Regenerating sylpheed.db* below |
|
|
| `xenia-canary` repo | Separate git project with own remote | `cd <project-root> && git clone https://git.mc02.dev/fabi/Xenia-Canary.git xenia-canary && cd xenia-canary && git checkout 6de80dffe`. (`setup.sh` does this automatically if the directory is missing.) |
|
|
| `target/` build artifacts | Reproducible via `cargo build` | `cargo build --release` |
|
|
| Probe `.log`/`.stdout`/`.stderr` raw dumps (~11 GB) | Already gitignored; only summaries committed | Not needed; rerun the relevant audit if you want fresh logs |
|
|
| Memory-dump `.bin` files (~4.5 GB) | Captured by audits 026/027/029; gitignored | Re-run those audits if needed |
|
|
|
|
## Regenerating sylpheed.db
|
|
|
|
After `cargo build --release` succeeds and the ISO is in place:
|
|
|
|
```bash
|
|
cd ~/'RE Project Sylpheed/xenia-rs'
|
|
# The analyzer binary scans the XEX inside the ISO and writes sylpheed.db
|
|
# next to it. (Exact subcommand to be confirmed against current main.rs:
|
|
# look near `--analyze` or `analyze` subcommand.)
|
|
cargo run --release --bin xenia-rs -- analyze \
|
|
"../Project Sylpheed - Arc of Deception (USA, Europe) (En,Ja).iso"
|
|
```
|
|
|
|
The output is `sylpheed.db` (~395 MB) and is gitignored.
|
|
|
|
If the analyzer subcommand has changed, the source of truth is the
|
|
post-M1-M12-overhaul analysis crates under
|
|
`crates/xenia-analysis/` + `crates/xenia-app/src/main.rs`. Check `--help`
|
|
for the current invocation.
|
|
|
|
## Picking up where the previous session left off
|
|
|
|
The most recent audit chain (050-058) is summarized in
|
|
`~/.claude/projects/-home-fabi-RE-Project-Sylpheed/memory/MEMORY.md`
|
|
(restored by `setup.sh`). Specifically:
|
|
|
|
- Master HEAD `ac2f89a` — post-AUDIT-054 VFS layout fix.
|
|
- Plateau: `swaps=1 / draws=0`.
|
|
- Last unfinished audit: **AUDIT-059**. Recommended next step is in
|
|
`project_xenia_rs_audit_058_sub825070F0_activation_2026_05_10.md` —
|
|
pivot to unblocking the AUDIT-049 main-thread wedge (handle 0x12A4),
|
|
not chasing the static caller ladder of sub_825070F0 further.
|
|
|
|
To continue: instruct the agent on the new machine to "resume the
|
|
autonomous audit loop from AUDIT-059 per the memory file's
|
|
recommendations." The agent should read MEMORY.md first to load
|
|
context, then dispatch the next audit.
|
|
|
|
## Branch policy
|
|
|
|
`chore/portable-snapshot` is purely additive over master:
|
|
- Commit 1: `audit-findings.md` backfill (1943 lines of audit history)
|
|
- Commit 2: `audit-runs/` summary artifacts (~284 files, ~52 MB)
|
|
- Commit 3: this `migration/` directory + `.gitignore` `*.bin` exclusion
|
|
|
|
None of the commits touch crate source code. Merging into master is safe
|
|
once you're satisfied the new machine works. The branch can also be kept
|
|
as a stable snapshot anchor if you prefer keeping master purely "code".
|
|
|
|
## Verifying integrity post-setup
|
|
|
|
```bash
|
|
# After setup.sh:
|
|
ls "$HOME/.claude/projects/-home-fabi-RE-Project-Sylpheed/memory/" | wc -l # should be ~103
|
|
cat "$HOME/.claude/projects/-home-fabi-RE-Project-Sylpheed/memory/MEMORY.md" | head -5
|
|
cat "<project-root>/.claude/settings.json" | head -10
|
|
ls "<project-root>/ppc-manual/" # alu/ branch/ fpu/ etc.
|
|
ls "<project-root>/xenia-canary" # should exist after setup.sh
|
|
git -C "<project-root>/xenia-canary" rev-parse HEAD # 6de80dffe
|
|
```
|
|
|
|
If any of those checks fail, rerun `setup.sh` from inside `migration/`.
|