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:
MechaCat02
2026-05-10 21:38:38 +02:00
parent 8e709b0a24
commit e6d43a23ac
505 changed files with 86028 additions and 0 deletions

View File

@@ -0,0 +1,72 @@
{
"permissions": {
"allow": [
"Bash",
"Bash(cmake *)",
"Bash(apt-cache *)",
"Bash(cargo build *)",
"Bash(cargo clippy *)",
"Bash(cargo check *)"
],
"deny": [
"Bash(git push*)",
"Bash(git push -f*)",
"Bash(git commit --no-verify*)",
"Bash(git commit -n*)",
"Bash(git config --global*)",
"Bash(sudo)",
"Bash(sudo *)",
"Bash(su)",
"Bash(su *)",
"Bash(doas *)",
"Bash(curl *)",
"Bash(wget *)",
"Bash(ssh *)",
"Bash(scp *)",
"Bash(rsync *)",
"Bash(nc *)",
"Bash(ncat *)",
"Bash(telnet *)",
"Bash(ftp *)",
"Bash(sftp *)",
"Bash(ping *)",
"Bash(rm -rf /)",
"Bash(rm -rf /*)",
"Bash(rm -rf ~)",
"Bash(rm -rf ~/*)",
"Bash(rm -rf $HOME*)",
"Bash(rm -rf .)",
"Bash(rm -rf ..)",
"Bash(rm -rf *)",
"Bash(dd *)",
"Bash(mkfs*)",
"Bash(fdisk *)",
"Bash(parted *)",
"Bash(mount *)",
"Bash(umount *)",
"Bash(shutdown*)",
"Bash(reboot*)",
"Bash(poweroff*)",
"Bash(halt*)",
"Bash(systemctl *)",
"Bash(service *)",
"Bash(crontab *)",
"Bash(iptables *)",
"Bash(chmod -R 777 *)",
"Bash(chown -R *)"
]
},
"hooks": {
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "n=0; for name in xenia_canary xenia-rs; do pids=$(pgrep -x \"$name\" 2>/dev/null || true); if [ -n \"$pids\" ]; then cnt=$(echo \"$pids\" | wc -l); n=$((n + cnt)); kill $pids 2>/dev/null; sleep 0.2; kill -9 $pids 2>/dev/null || true; fi; done; if [ \"$n\" -gt 0 ]; then printf '{\"systemMessage\":\"Stop hook killed %d stale xenia process(es)\"}' \"$n\"; fi",
"timeout": 5
}
]
}
]
}
}