chore: add migration/ bundle for cross-machine setup
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>
This commit is contained in:
116
migration/README.md
Normal file
116
migration/README.md
Normal file
@@ -0,0 +1,116 @@
|
||||
# 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/`.
|
||||
Reference in New Issue
Block a user