mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-28 23:00:29 -04:00
fix(phase-21): pool excludes ALL self-MATCH-but-gate-rejected churners
plumbing_blocked() scanned backlog.load_best() (one record/fn), which could return an early closeness>0 near-miss that MASKED a later 'none — MATCH' self-match-gate-reject record (e.g. a sig_unify-regressed self-match logged at closeness 14). Result: fns like func_80161CD0 self-MATCHed + gate-rejected every wave yet kept being re-served. Fix: scan ALL raw .run/backlog.jsonl records. Now 83 plumbing-blocked fns are correctly skipped from wave selection (they're recovery-tooling / hand-finish fuel; re-drafting just reproduces the same gate-rejected body). Byte-gate unaffected.
This commit is contained in:
+13
-1
@@ -75,7 +75,19 @@ def plumbing_blocked():
|
||||
('none — MATCH …'). The latter is needed because sig_unify can REGRESS a self-MATCH draft to close>0
|
||||
post-transform (Phase-19), so it dodges the ==0 filter though the body is byte-correct & gate-blocked."""
|
||||
blocked = set()
|
||||
for r in backlog.load_best():
|
||||
p = os.path.join(REPO, ".run/backlog.jsonl")
|
||||
if not os.path.exists(p):
|
||||
return blocked
|
||||
# Scan ALL raw records, not backlog.load_best(): load_best returns one record/fn and can
|
||||
# return an early closeness>0 near-miss that MASKS a later 'none — MATCH' self-match-gate-reject
|
||||
# record (both can share a closeness, e.g. a sig_unify-regressed self-match logged at close 14).
|
||||
# A fn that EVER self-matched-but-gate-rejected is plumbing-blocked: re-drafting reproduces the
|
||||
# same gate-rejected body -> skip it from waves (it's recovery-tooling / hand-finish fuel).
|
||||
for line in open(p):
|
||||
line = line.strip()
|
||||
if not line:
|
||||
continue
|
||||
r = json.loads(line)
|
||||
if r.get("status") != "near" or not r.get("name"):
|
||||
continue
|
||||
ws = (r.get("where_stuck") or "").strip().lower()
|
||||
|
||||
Reference in New Issue
Block a user