diff --git a/phase-ends/CURRENT_PHASE.md b/phase-ends/CURRENT_PHASE.md index 5a4f329c1..847c2a006 100644 --- a/phase-ends/CURRENT_PHASE.md +++ b/phase-ends/CURRENT_PHASE.md @@ -15,8 +15,9 @@ These post-generation decisions override the original (Fable-5) `PROJECT_CONTEXT 3. **All tools live under `tools/`** (incl. `tools/bin` for downloaded compilers, `tools/psyq*` for native PsyQ binaries). 4. **Plan mode every phase** (harness plan mode) before executing — Drew's standing preference. 5. **No `Co-Authored-By` trailer on commits** (overrides the harness default) — Drew's instruction 2026-06-11. +6. **Git workflow = WSL-commit / GitHub-Desktop-push (decided 2026-06-13).** The clone lives on ext4 in WSL (H2). Claude makes commits *in WSL* (local, auth-free — only name/email needed). The user reviews and **pushes/pulls with GitHub Desktop on Windows**, pointed at the repo over `\\wsl.localhost\Ubuntu-24.04\home\musashi\bfm-decomp`. So **no git credentials are configured in WSL** and **`git push` is never run from the WSL CLI** (it would prompt for auth that isn't set up) — pushing is GitHub Desktop's job. `core.filemode=false` is set in the clone to avoid cross-OS mode churn (supersedes the `core.filemode true` line in docs/SETUP.md §4.3 for this topology). `gh` is installed but unused for auth. -To formalize in `PhaseEnd_Phase1.md` under "Rules Added" (P10): the H1 relaxation, the all-in-WSL H2 restatement, tools-in-`tools/`, plan-mode-per-phase, no-commit-co-author. +To formalize in `PhaseEnd_Phase1.md` under "Rules Added" (P10): the H1 relaxation, the all-in-WSL H2 restatement, tools-in-`tools/`, plan-mode-per-phase, no-commit-co-author, and the WSL-commit/GitHub-Desktop-push workflow. --- @@ -47,11 +48,11 @@ To formalize in `PhaseEnd_Phase1.md` under "Rules Added" (P10): the H1 relaxatio - [x] User `musashi` created (uid 1000): passwordless sudo via `/etc/sudoers.d/90-musashi` (visudo-validated), set as default login user via `/etc/wsl.conf` `[user] default=musashi` - [x] Git identity set global: `user.name=Drew T`, `user.email=50529377+Druthulu@users.noreply.github.com`, `init.defaultBranch=main`; `gh` 2.45.0 + `unzip` 6.0 installed - [x] Claude Code 2.1.177 installed (native installer → `~/.local/bin/claude`; `~/.local/bin` appended to `~/.bashrc` PATH; `claude --version` resolves in a fresh interactive shell) -- [ ] **USER — interactive, in a WSL terminal (cannot be scripted):** run `claude` → sign into Anthropic; run `gh auth login` → sign into GitHub (device/paste flow, no GUI browser needed; also wires up git's credential helper for push/pull) +- [ ] **USER — interactive: run `claude` in a WSL terminal → sign into Anthropic** (OAuth code/paste flow). Git needs no WSL auth — push/pull is GitHub Desktop on Windows (see correction #6). -**B1. Establish the clone + sync (after sign-ins):** -- [ ] Seed `~/bfm-decomp` (ext4) from the **local Windows repo**, not origin: `git clone /mnt/z/Storage/git/BFM-decomp ~/bfm-decomp` (origin push-state is ambiguous; the local repo holds all section-A commits up to commit:0009). Then `git -C ~/bfm-decomp remote set-url origin https://github.com/Druthulu/BFM-decomp.git` and `git push -u origin main` from WSL. -- [ ] Make the dump available in `disks/` (one-shot copy onto ext4) +**B1. Establish the clone + sync:** +- [x] Seeded `~/bfm-decomp` (ext4, `/dev/sdd`) from the **local Windows repo** (`git clone /mnt/z/Storage/git/BFM-decomp ~/bfm-decomp`; HEAD up to date with this log). `origin` re-pointed to `https://github.com/Druthulu/BFM-decomp.git`; `core.filemode=false` set. **First push is via GitHub Desktop on Windows** (Add Local Repository → `\\wsl.localhost\Ubuntu-24.04\home\musashi\bfm-decomp` → Push), NOT `git push` from WSL. +- [ ] Make the dump available in `disks/` (one-shot copy onto ext4 — the dump is not in the repo) - [ ] Relaunch Claude Code inside WSL (in `~/bfm-decomp`); this Windows session ends - [ ] Install RE stack in WSL (JDK 21, Ghidra 12.1, ghidra_psx_ldr, GhidrAssistMCP); start MCP server @@ -62,9 +63,10 @@ To formalize in `PhaseEnd_Phase1.md` under "Rules Added" (P10): the H1 relaxatio - [ ] **MILESTONE:** MCP decompile of `0x80018730` ≈ LZSS decompressor; PsyQ version recorded → user confirm → `PhaseEnd_Phase1.md` ## Next task -**Section B — migrate to WSL (bootstrap done; sign-ins + clone next).** The WSL2 environment is up (Ubuntu-24.04, user `musashi`, Claude Code 2.1.177, `gh`, git identity — see B0). Remaining: the user signs into Anthropic (`claude`) and GitHub (`gh auth login`) in a WSL terminal; then seed `~/bfm-decomp` on ext4 from `/mnt/z/Storage/git/BFM-decomp` (B1), re-point origin to GitHub and push, copy the dump into `disks/`, relaunch Claude Code inside WSL, and install the RE stack per docs/SETUP.md §2. Resume from this log inside the WSL clone. +**Section B — migrate to WSL (bootstrap + clone done; sign-in + relaunch next).** The WSL2 environment is up and `~/bfm-decomp` is cloned on ext4 with `origin`→GitHub (B0/B1). Remaining: the user signs into Anthropic by running `claude` in a WSL terminal (git needs no WSL auth — GitHub Desktop on Windows pushes, correction #6); push the current commits once via GitHub Desktop; copy the dump into `disks/`; relaunch Claude Code inside `~/bfm-decomp`; then install the RE stack per docs/SETUP.md §2. Resume from this log inside the WSL clone. ## Blockers / needs-user -- **Interactive sign-ins (only the user can do these, in a WSL terminal):** `claude` (Anthropic OAuth) and `gh auth login` (GitHub). Both use code/paste flows — no GUI browser required. +- **Anthropic sign-in (only the user can do this):** run `claude` in a WSL terminal → sign in (OAuth code/paste flow). Git needs no WSL auth. +- **GitHub Desktop (Windows):** Add Local Repository → `\\wsl.localhost\Ubuntu-24.04\home\musashi\bfm-decomp` → Push to sync. If it warns "unsafe / dubious ownership," accept its one-click fix (Git-for-Windows `safe.directory`). - Confirm the GitHub repo `Druthulu/BFM-decomp` is set to **Private** before any push. - RE-stack install + EXE import (Section C) require driving Ghidra's WSLg GUI; do them from the in-WSL Claude session.