mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-26 13:33:34 -04:00
fix(phase-30): T0.5 — import trigger matches Ghidra's actual 'not found' phrase (probe caught +0/371 silent no-fire); probe findings logged
This commit is contained in:
@@ -84,6 +84,19 @@ stub on a named wall/behemoth/queue ledger** — 140/140 byte-identical througho
|
||||
|
||||
## Per-task log
|
||||
|
||||
### T0.5 ▶ launched + probed (2026-07-30)
|
||||
`tools/prefetch_fleet.py` (committed `commit:1220`): 126 programs / 7,966 uncached representatives.
|
||||
**Probe 1 (main):** +1,525/2,002 cached in <1 min — the decompile leg is CHEAP; **477 main addrs
|
||||
have no defined function in the program** (main's 06-14 auto-analysis gap) → follow-up: a
|
||||
`DefineFunctions.java` completion pass over main from splat entries (the Phase-10 mechanism), then
|
||||
re-run (resumable). **Probe 2 (import leg): FAILED then FIXED** — my missing-program matcher
|
||||
checked "not exist"/"NOT_FOUND"; Ghidra's actual phrase is "Requested project program file(s)
|
||||
**not found**" → the self-healing import never fired (+0/371, +0/315). One-line trigger broadening;
|
||||
re-probe running. T1a (deterministic recovery sweep, 108 fns / 50 binaries, driver-committed banks,
|
||||
no-propagate — reach≥2 winners ride T3 Lane A) launched concurrently; commit-scope interaction
|
||||
VERIFIED safe (driver delegates to gate_stage's scoped `git add -u src/` — ghidra/ churn cannot
|
||||
leak into bank commits).
|
||||
|
||||
### T0(e2)+(f) ✅ — autopsy refreshed; frontier regenerated + the three populations PINNED (2026-07-30)
|
||||
- **Autopsy** (`collect -j12` + `report`): 1,349 rows — **1,178 near / 63 nobuild / 108
|
||||
match_one-MATCH** (T1's stranded-draft fuel, 3× the S16 sample), 0 classifier errors,
|
||||
|
||||
@@ -142,8 +142,10 @@ def main():
|
||||
if rc != 0 and not p.startswith(("SLUS", "sep8", "aug31")) and p != "resident":
|
||||
# program likely missing -> import on demand, retry once. NEVER -overwrite an
|
||||
# existing program; ghidra_import_raw stages under the alias only when absent.
|
||||
tail = open(log, errors="replace").read()[-400:]
|
||||
if "not exist" in tail or "NOT_FOUND" in tail or "Unable to locate" in tail:
|
||||
tail = open(log, errors="replace").read()[-600:]
|
||||
# Ghidra's actual phrase: "Requested project program file(s) not found: <name>"
|
||||
if ("not found" in tail or "not exist" in tail or "NOT_FOUND" in tail
|
||||
or "Unable to locate" in tail):
|
||||
if import_overlay(p, log) == 0:
|
||||
rc = run_decompile(p, addrfile, log)
|
||||
got = len(cached()) - before
|
||||
|
||||
Reference in New Issue
Block a user