From 9e8a055e6c94ab54e365af8d4498b4d2c6edd965 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Tue, 8 Sep 2026 12:07:15 -0600 Subject: [PATCH] =?UTF-8?q?docs(phase-34):=20task=202=20=E2=80=94=20E1=20d?= =?UTF-8?q?one:=20scratch=20mIu4d=20at=20100%,=20preset=20request=20decomp?= =?UTF-8?q?me/decomp.me#2106,=20manual=20search=20closes=20ledger=20row=20?= =?UTF-8?q?14;=20preset=20creation=20pending?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .run/P34/outward/e1_issue_2106.txt | 1 + .run/P34/outward/e1_preset_issue_template.txt | 17 +++++++++++++++++ .run/P34/outward/e1_scratch_check.txt | 5 +++++ docs/SETUP.md | 13 ++++++++++--- phase-ends/CURRENT_PHASE.md | 15 +++++++++++++-- 5 files changed, 46 insertions(+), 5 deletions(-) create mode 100644 .run/P34/outward/e1_issue_2106.txt create mode 100644 .run/P34/outward/e1_preset_issue_template.txt create mode 100644 .run/P34/outward/e1_scratch_check.txt diff --git a/.run/P34/outward/e1_issue_2106.txt b/.run/P34/outward/e1_issue_2106.txt new file mode 100644 index 0000000000..a7919fa7ba --- /dev/null +++ b/.run/P34/outward/e1_issue_2106.txt @@ -0,0 +1 @@ +{"created_at":"2026-09-08T18:05:08Z","html_url":"https://github.com/decompme/decomp.me/issues/2106","labels":[],"number":2106,"state":"open","title":"[PRESET] Create Compiler Preset - Brave Fencer Musashi (SLUS-00726)","user":"Druthulu"} diff --git a/.run/P34/outward/e1_preset_issue_template.txt b/.run/P34/outward/e1_preset_issue_template.txt new file mode 100644 index 0000000000..107dfc9964 --- /dev/null +++ b/.run/P34/outward/e1_preset_issue_template.txt @@ -0,0 +1,17 @@ +--- +name: Create or update a compiler preset +about: Request a new compiler preset or a change to an existing one +title: "[PRESET] Create/Update Compiler Preset XXXXXXX" +labels: '' +assignees: '' + +--- + +I would like to create/update a compiler preset on decomp.me. + +- **Preset Name:** e.g. `Superfrog 64` +- **Preset ID (when updating):** e.g. `13` (see [Compiler Presets API](https://decomp.me/api/preset)) +- **Platform:** e.g. `n64` +- **Compiler ID:** e.g. `ido5.3` (see [Compilers API](https://decomp.me/api/compiler)) +- **Compiler Flags:** e.g. `-G0 -O1` +- **Libraries (if applicable):** e.g. `directx5.0` diff --git a/.run/P34/outward/e1_scratch_check.txt b/.run/P34/outward/e1_scratch_check.txt new file mode 100644 index 0000000000..c82e677a85 --- /dev/null +++ b/.run/P34/outward/e1_scratch_check.txt @@ -0,0 +1,5 @@ +scratch page -> 403 +scratch api -> 403 +bug_report.md +create-or-update-a-compiler-preset.md +feature_request.md diff --git a/docs/SETUP.md b/docs/SETUP.md index 03202eb71e..3eb2ca2cbd 100644 --- a/docs/SETUP.md +++ b/docs/SETUP.md @@ -529,6 +529,11 @@ Modern cpp preprocesses → **vintage cc1** compiles to asm → **maspsx** emula - **Do NOT use the SOTN preset** (`Castlevania: Symphony of the Night` / `gcc 2.6.3-psx` / `psyq_263_221`) — wrong era, guaranteed near-miss diffs. - decomp.me's API is Cloudflare-challenged (403 to scripts) — scratch searches/uploads needing the API must be done manually in a browser (the one-time manual BFM search is ledger row 14, closed by the E1 browser session). +- **Outcome (P34 task 2, 2026-09-08 — Drew's browser session):** the proving scratch (`func_80018F20`, + target = the `--gas` paste, **100% / score 0** on the first compile after the flags were entered); the preset request + **** ("[PRESET] Create Compiler Preset - Brave Fencer Musashi (SLUS-00726)", opened + 2026-09-08 18:05Z, state open); the manual search (row 14) found no other BFM scratch. **Pending on decomp.me's maintainers:** the + preset's creation — record its id / URL here when it appears (`https://decomp.me/api/preset`). ### §6.6 Matching a function (INCLUDE_ASM → C; the NON_MATCHING guard) — As-built Phase 6 @@ -1003,7 +1008,7 @@ A Track-1 match proves the dump is the canonical redump dump, which transitively | 11 | Canonical git remote URL (off-box push/pull backup) | **CLOSED (P33 C9, 2026-09-07):** `https://github.com/Druthulu/BFM-decomp.git`, public from C10; the pre-rewrite history in the private archive `Druthulu/BFM-decomp-archive` (§4.3) | | 12 | Per-libnum stamp detail (raw-track scan reported 16 hits vs 12 genuine in extracted EXE — extracted-EXE scan is ground truth, see §5.1) | **RESOLVED 2026-06-13** — DetectPsyQ at headless import recorded `PsyQ Version = 4.0.0` (§2.5 step 3) | | 13 | Overlay load addresses (resident 0x800CDF58 / location 0x80128508, EXE ptr table ~0x62620) | **JP-only — re-derive for US** (owned by docs/memory-map.md) | -| 14 | Greenfield claim: decomp.me scratch search is script-blocked (Cloudflare) | **Open until the E1 browser session (Drew, after the flip; `docs/decompme-preset.md` §5 step 4):** the one-time manual search for BFM scratches — record the result here. The preset itself is already PROVEN locally (2026-09-07, `tools/decompme_replica.sh` PASS through decomp.me's 0.13 + `86ccd7d8` toolchain). | +| 14 | Greenfield claim: decomp.me scratch search is script-blocked (Cloudflare) | **CLOSED 2026-09-08 (P34 task 2, Drew's E1 browser session):** manual search on decomp.me for `Musashi` → no results; `Brave Fencer` → no results; `SLUS-00726` → no results; `SLUS_007` → many scratches, all other titles sharing the SLUS_007xx prefix under other compilers — none is this game. The only BFM scratch is our own probe, (100% / score 0). The greenfield claim's last check is done. The preset was proven locally first (2026-09-07, `tools/decompme_replica.sh` PASS through decomp.me's 0.13 + `86ccd7d8` toolchain; 2026-09-08 step D: the paste itself round-trips). | ### `tools/gap_triage.py` — harvest pre-filter (added P31 S55) @@ -1200,8 +1205,10 @@ fills fast). Nothing is leaking — but the host does not get the memory back on an empty-body TU → the CONTROL fails first (rc 3, R56). `--upstream` 2026-09-07: `pins UNCHANGED`. Instrument lesson (R40): the first comparison read the padded `.text` and called the identical object DIFFERS. - `.gitignore`: `.run/P33/e1/` allowlisted for the verdict log only (the regenerated target `.s` is game disassembly — H1). -- Pending (Drew, after the flip — `docs/decompme-preset.md` §5): create the scratch, see 100%, file the preset-request issue - (text in §5), run the manual search, record the issue/preset URL + search result here and in ledger row 14. +- **Done 2026-09-08 (P34 task 2, Drew):** scratch at 100% / score 0; the preset-request issue + ; the manual search recorded in ledger row 14 (closed). The first attempt failed on + the target's form — the §5 doc and the tools were fixed and proven before the retry (`verbatim_target_s.py --gas`, replica step D). + **Still pending:** the maintainers creating the preset (its id goes into §6.5 when it exists). ### P33 G1 (S88, 2026-09-07) — `docs/gen3-handoff.md` - The census was DERIVED from the tree at writing (R33/R41; the commands are in the doc): 143 raw address casts, 61,898 diff --git a/phase-ends/CURRENT_PHASE.md b/phase-ends/CURRENT_PHASE.md index 125f6a3f0d..f6db87978f 100644 --- a/phase-ends/CURRENT_PHASE.md +++ b/phase-ends/CURRENT_PHASE.md @@ -42,7 +42,7 @@ bundle and dictionary are deleted at C11) and a public fresh-clone re-proof (B3' - [x] **0a** Open the phase: this file, R84–R95 into DIGEST §3 (+ one §0 line), the `.run/P34/` evidence allowlist, TaskCreate ×10, `doc_links --strict` 0/0, commit — xHigh (Claude) - [x] **0** The probe once more: `tools/public_rewrite/probe_github.sh | tee .run/P34/probe/pre_flip.log` → PASS, control OK, no WARNING — Low (Claude) - [x] **1** C10 — the flip (Drew, Max) + post-flip checks, metadata, ruleset, Actions green on the public repo (Claude, Low) -- [ ] **2** E1 — decomp.me: scratch → 100% → preset-request issue → manual search (Drew, xHigh); recorded in SETUP §6.5 + ledger row 14 (Claude) +- [x] **2** E1 — decomp.me: scratch → 100% → preset-request issue → manual search (Drew, xHigh); recorded in SETUP §6.5 + ledger row 14 (Claude) - [ ] **3** E2 — the Archipelago issue (Drew, xHigh); URL recorded; §5 reply handling pending unless a reply arrives (Claude) - [ ] **4** D3 — decomp.dev registration + frogress slug/key/push (Drew, xHigh); verified by curl (Claude) → **P6 rules check after this task** - [ ] **5** F3 — the wiki: dry run (Claude), first page + `wiki_sync.sh --push` (Drew), pages verified — Low @@ -121,7 +121,18 @@ output) · `.run/P34/c11/` (the prune listing with sizes, `git worktree list`, t - The bundle's `1_target_asm.s` is now the gas form (42 lines); 2–4 unchanged in content; `5_issue_body.md` untouched (Drew's text). - Drew retries the scratch with the new file → 100% / score 0 expected → the issue → the search → part 2 records the URLs. -## 🛑 SESSION CHECKPOINT — PHASE 34 OPEN (S93, 2026-09-08): tasks 0a, 0, 1 ✓; task 2 part 1 ✓ (the paste form proven); NEXT = Drew's decomp.me retry, then task 2 part 2 (record the URLs) +### 2026-09-08 — Task 2 (part 2) — E1: the browser session done, recorded (xHigh; S93) +- **Drew (browser):** the retry with the `--gas` paste compiled to **100% / score 0** — scratch **** + (the page answers 403 to scripts, the Cloudflare block SETUP §6.5 records; Drew's report is the observation). The preset-request issue + **** — `gh api` (`.run/P34/outward/e1_issue_2106.txt`): title "[PRESET] Create + Compiler Preset - Brave Fencer Musashi (SLUS-00726)", opened 2026-09-08T18:05:08Z by Druthulu, state open, no labels; decomp.me's + template `create-or-update-a-compiler-preset.md` fetched and compared — our body carries every field it asks for + (`e1_preset_issue_template.txt`). The manual search: `Musashi` / `Brave Fencer` / `SLUS-00726` → nothing; `SLUS_007` → many scratches + of other SLUS_007xx titles under other compilers, none this game → **ledger row 14 CLOSED** (the greenfield claim's last check). +- Recorded in `docs/SETUP.md`: row 14 closed; §6.5 outcome bullet; the P33 E1 bullet → done. **Pending by name (P9):** the preset's + creation by decomp.me's maintainers (its id → §6.5 when it appears). + +## 🛑 SESSION CHECKPOINT — PHASE 34 OPEN (S93, 2026-09-08): tasks 0a, 0, 1, 2 ✓; NEXT = task 3 (E2 the Archipelago issue — DREW), then 4 (D3 boards — DREW) → P6 rules check ### 0. How to use this block A fresh session reads CLAUDE.md's load order, replays THIS block verbatim, and resumes at the first unchecked task above. Everything