mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-29 23:24:32 -04:00
39d5249917
- R74–R83 ratified at gate 1 (the PhaseEnd_Phase33 candidates (a)–(j)), full text in DIGEST §3; DIGEST §0 notes the open sub-phase
- phase-ends/CURRENT_PHASE.md: milestone, effort map, the nine owner decisions, 16 tasks, the three audit ledgers (docs/ per-file
classification; tracked .run/ groups incl. the 172 tracked-but-ignored and the two fable_cd4 disassembly listings; the memory-store
classes), the 🛑 checkpoint, and the approved plan verbatim
- docs/phase34-seed.md: candidates (a)–(j) now R74–R83; Phase 33.5 runs before Phase 34 and touches no flip step
- harness task list built (16 rows, R28)
62 lines
7.7 KiB
Markdown
62 lines
7.7 KiB
Markdown
# Phase 34 — the flip and the Gen2 exit (the post-flip half of Phase 33, re-chartered 2026-09-07)
|
||
|
||
> **Why this phase exists.** Phase 33 planned the contract verification, the history rewrite, the publishing surface, the
|
||
> releases, the writing, and the public flip as one phase. Everything that does not depend on GitHub Support is done (see §2).
|
||
> The flip is gated on Support purging the old objects (ticket #4736982, filed 2026-09-07; `tools/public_rewrite/probe_github.sh`
|
||
> must print PASS first), which is calendar time nobody controls. The owner's decision (2026-09-07): **close Phase 33 now on what
|
||
> is done, put the flip-gated remainder into Phase 34 as the last Gen2 phase, and open Gen3 at Phase 35.** Phase 33 therefore
|
||
> closes at v1.32.0; Phase 34 closes at **v2.0.0 = Gen2 EXIT**. This file is the seed for Phase 34's plan-mode session (Tier 1,
|
||
> Max): it carries every task, every document the task uses, and the milestone, so nothing from Phase 33 is lost.
|
||
|
||
## 1. Tasks (in order; effort per task; the actor)
|
||
|
||
| # | Task | Actor | Effort | The document that carries it |
|
||
|---|---|---|---|---|
|
||
| 0 | **Daily probe** until PASS: `tools/public_rewrite/probe_github.sh` (S89 baseline 31 of 33 old hashes still ALIVE). Fallback if Support stalls past ~a week: delete and recreate the repository under the same name and push the same rewritten history (a new object network and a fresh Activity log; nothing else exists to lose). | Claude runs; Drew decides the fallback | Low | `docs/public-flip-runbook.md` §11 (the Activity-view leak, the ticket route, the fallback) |
|
||
| 1 | **C10 the flip:** Settings → General → Danger Zone → Change visibility → Public; then `gh api repos/Druthulu/BFM-decomp --jq .private` → `false`; `probe_github.sh --after-flip`; the Actions tab green; enable Settings → Features → Wikis (free plan: wikis need a public repo). | Drew | Max (decision) | runbook §11; checkpoint §0b |
|
||
| 2 | **E1 outward — the decomp.me preset:** the six steps (log in; scratch from `.run/decompme/drew_bundle/` → 100%; the preset-request issue on `decompme/decomp.me` in Drew's words; the manual search closing SETUP ledger row 14; report URLs). Regenerate the bundle with `tools/decompme_replica.sh` if `.run/` was pruned. | Drew | xHigh | `docs/decompme-preset.md` §5 |
|
||
| 3 | **E2 outward — the Archipelago note:** the GitHub issue on `AegeusEvander/Brave-Fencer-Musashi-AP-World` (or the Discord short form), in Drew's words; on reply, memory-map rows per its §5. | Drew | xHigh | `docs/outreach/archipelago.md` §4–§5 |
|
||
| 4 | **D3 outward — progress boards:** decomp.dev → log in → `decomp.dev/manage/new` → add the repo (reads the `SLUS_007.26_report` artifact `progress.yml` uploads); frogress: request slug `bfm` + key, then `FROGRESS_API_SECRET=… .venv/bin/python tools/frogress_upload.py --push`. | Drew | xHigh | SETUP P33 D1–D3 section; `tools/objdiff_report.py`, `tools/frogress_upload.py` |
|
||
| 5 | **F3 outward — the wiki:** Wiki tab → "Create the first page" → `tools/wiki_sync.sh --push` → check the sidebar links render. | Drew | Low | `tools/wiki_sync.sh`; `docs/wiki/`, `docs/how-to-ai-decomp/` |
|
||
| 6 | **Tool discoverability:** `gh repo edit Druthulu/xsig --add-topic decompilation --add-topic mips --add-topic playstation --add-topic psx --add-topic psyq --add-topic dedup --add-topic reverse-engineering -h https://github.com/Druthulu/BFM-decomp`; delete the fork `Druthulu/decomp-permuter` (the patch stays tracked in-tree); post the tools announcement in Drew's words. | Drew (or Claude on Drew's word) | Low | `docs/outreach/tools-announcement.md`; README "Tools from this project" |
|
||
| 7 | **C11 aftercare:** other clones `git fetch origin && git reset --hard origin/main && git reflog expire --expire=now --all && git gc --prune=now` (never `git pull`); `gh auth logout`; delete `.run/public_rewrite/` and `.run/objdiff/`; prune `.run/`; DIGEST §0/§1 and the decision-log entry for the flip. | Claude | xHigh | runbook §12 |
|
||
| 8 | **G2 — PhaseEnd_Phase34 v2.0.0 (Gen2 EXIT):** the PhaseEnd, `CURRENT_PHASE.md` → `phase-ends/logs/Phase34.md`, DIGEST §0/§2/§3 appended, the annotated `v2.0.0` tag; Drew pushes `main --tags`. Rule candidates (a)–(j) of Phase 33 were **ratified as R74–R83 at Phase 33.5 gate 1 (2026-09-07)**; any Phase 34 candidates are added here. | Claude, then Drew (gate 2, push) | Max, Tier 1 | this file; `phase-ends/PhaseEnd_Phase33.md` |
|
||
|
||
> **Phase 33.5 runs before this phase** (opened 2026-09-07; `phase-ends/CURRENT_PHASE.md`): docs consolidation into the wiki, the
|
||
> tracked-`.run/` prune, the memory reconciliation and the day-one decomp kit — v1.32.1. It changes no build input and no flip step;
|
||
> task 0's daily probe continues in parallel. Phase 34 opens from this file once 33.5 closes.
|
||
|
||
Every outward action is done by Drew or **explicitly recorded as pending** in the PhaseEnd (P9 — never claimed). Every outward
|
||
text is written by Drew the way a developer writes it (rule candidate (j); `docs/gen3-standards.md` §3).
|
||
|
||
## 2. What Phase 33 delivered (the record Phase 34 inherits — nothing here is redone)
|
||
|
||
Verification and instruments: `docs/verification.md` (the recorded contract run, 218 of 218), `tools/verify_contract.sh`, `make
|
||
sdk-dual`, `make disc-extract`, `tools/bootstrap.sh`, `tools/fetch_psyq.sh`, the ROM-free CI (`.github/workflows/no-rom.yml`,
|
||
`tools/audit_public.py`, `tools/compile_only.py`), `dumps/CHECKSUMS.sha1`, `config/ghidra/*.jsonl` + `ROSTER.md`
|
||
(`tools/ghidra_rebuild.sh --proof`). The history rewrite: `tools/public_rewrite/`, `docs/commit-map.tsv`,
|
||
`docs/public-flip-runbook.md`, the private archive `Druthulu/BFM-decomp-archive`, the force-pushed rewritten `main`. The
|
||
publishing surface: `README.md` (generated numbers, Special thanks, "Standards, and how the AI was used", "Tools from this
|
||
project"), `LICENSE`, `src/NOTICE.md`, `THIRD_PARTY.md`, `docs/progress.json` + `docs/badges/`, `tools/objdiff_report.py`,
|
||
`tools/frogress_upload.py`, `.github/workflows/progress.yml`, `tools/doc_links.py`. The releases: `docs/gcc-2.7.2-map/README.md`
|
||
+ `tools/gccmap_cites.py`; `tools/xsig/` + `github.com/Druthulu/xsig`; `docs/permuter-ils.md` + the tracked patch (offered
|
||
upstream, declined); `docs/matching-drafter-pipeline.md`; `docs/decompme-preset.md` + `tools/decompme_replica.sh`;
|
||
`docs/outreach/archipelago.md`; `docs/outreach/tools-announcement.md`. The writing: `docs/story.md` + `docs/story-timeline.md/.svg`
|
||
(`tools/timeline.py`), `docs/retrospective.md` (`tools/mine_hindsight.py`), `docs/wiki/` (13 pages) + `docs/how-to-ai-decomp/`
|
||
(13 chapters) + `tools/wiki_render.py` / `tools/wiki_sync.sh`. Gen3: `docs/gen3-handoff.md`, `docs/gen3-standards.md`. Memory
|
||
map: the S89 corrections (day-of-week, the patch-site functions, Q#13). Rules: R65–R73 ratified at gate 1; candidates (a)–(j)
|
||
recorded in the Phase 33 checkpoint and proposed at its close.
|
||
|
||
## 3. Milestone (gate 2 of Phase 34 — what Drew confirms; these are Phase 33's original items 2–4)
|
||
|
||
1. `gh api repos/Druthulu/BFM-decomp --jq .private` → `false`; `probe_github.sh` exit 0 (old hashes 404); `.github/workflows/
|
||
no-rom.yml` green on the public repo; the wiki live; the fresh-clone criterion met with the disc (B3's proof stands).
|
||
2. Every outward action done or recorded as pending: the decomp.me preset request, the Archipelago note, decomp.dev and
|
||
frogress, the wiki push, the xsig topics, the fork deletion, the tools post.
|
||
3. C11 done; `PhaseEnd_Phase34.md` v2.0.0 + DIGEST append + the `v2.0.0` tag pushed. **Gen2 EXIT.**
|
||
|
||
## 4. What comes after (not this phase)
|
||
|
||
Gen3 opens at Phase 35 in a fresh plan-mode session from `docs/gen3-handoff.md` and `docs/gen3-standards.md`: pins off, the
|
||
macro-body header into shared C files, struct unification, names with evidence, formatting — every step gated by the 218 hashes.
|