mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-10-08 01:34:14 -04:00
tools(phase-37): delever_oracle --snapshot-baseline refuses an empty or shrunken build/ before writing (R68) — S107's stopped t4_D21 left build/ empty and the refresh stamped a false 'fresh' over 7,428 objects of another tree; stamp restored, R22 218/218 at HEAD, snapshot 0 changed, cycle relaunched | 🛑 T4 in progress (S108)
This commit is contained in:
@@ -446,6 +446,18 @@ bucketed by what each bucket needs before any plan is proposed. **Candidates for
|
||||
rise of the one-form regex count) and the red line had two points. Redrawn: every lever increment (95: the P36 log's T1/T4/T5 census lines +
|
||||
the TSV's rows) on an ordinal axis with a marker at each change of method; the raw casts as two instruments. `tools/timeline.py`, SETUP.
|
||||
|
||||
- **S108 2026-09-12 — session start; T4 resumed (xHigh).** Session-start protocol (Drew: "xhigh set"). Step (a) launched per the checkpoint and
|
||||
stopped at once: `cycle: the snapshot refresh FAILED/REFUSED` — `build/` held **0 objects** (S107's relaunched `t4_D21` was stopped after its
|
||||
R22's `make clean`), and `--snapshot-baseline` had **stamped `TAKEN_AT.txt` with HEAD and "0 objects"** over the 7,428 objects of another
|
||||
tree before returning 0 — a false "fresh" (R68: a helper must refuse an empty work list; the guard only re-derived CHANGED objects). Fixed at
|
||||
the cause in `tools/delever_oracle.py`: the object count and the previous stamp's count are read BEFORE anything is written; an empty or
|
||||
shrunken `build/` is `REFUSED — build/ holds 0 object(s), the previous snapshot 7428: … nothing written` (exit 1; negative-controlled on the
|
||||
empty tree, stamp untouched). The stamp restored from the objects' own mtimes (14:12:24–14:13:11 = the D20 R22 build; `calibrate_t4_D21.log`
|
||||
at 14:13:24 proves the D21 relaunch refreshed it at `f2b58011e`). Then R22 at HEAD (`.run/P37/baseline/r22_s108_pre.log`): `extract-all: 217
|
||||
extracted, 0 failed of 217 (+ main, serial)` · **`check-all: 218 passed, 0 failed of 218`** · `wall=92.17 s` · exit 0 → `--snapshot-baseline`
|
||||
`7428 object(s) … at f3b8af0ec … 0 changed since the previous snapshot` (the objects were the tree's) → `--calibrate … ok` → the D cycle
|
||||
relaunched (`cycle_t4e.log`, batches 21–34).
|
||||
|
||||
## 🛑 SESSION CHECKPOINT — S107 (2026-09-12, FINAL — written for a FRESH session at 84 % context; the session's last commit follows this): gate 1 APPROVED, **T0 ☑ T1 ☑ T2 ☑ T3 ☑ — T4 IN PROGRESS (☐)** — 🛑 **T4 NEXT: resume the declaration layer where the cycle stopped (below, §1 "T4 — where it stands and the exact next commands"); xHigh** | R22 `check-all: 218 passed, 0 failed of 218` at `f2b58011e` (every one of the 21 T4 commits carries its own) | HEAD after this commit is the checkpoint's commit; tree clean; nothing pushed after `79b2f6f15` (Drew pushes, R6)
|
||||
|
||||
**Replay this block into the chat at the next session start (R64); it is the ONLY in-phase context the next session inherits. Everything below
|
||||
|
||||
+14
-1
@@ -228,7 +228,20 @@ def snapshot_baseline():
|
||||
import shutil, subprocess as sp
|
||||
n, changed = 0, []
|
||||
BASELINE.mkdir(parents=True, exist_ok=True)
|
||||
for src in sorted((REPO / "build").glob("**/*.o")):
|
||||
# THE EMPTY/PARTIAL GUARD (T4, 2026-09-12; R68): an empty or shrunken build/ (a `make clean` with no fleet run behind it — S107's
|
||||
# stopped t4_D21 left exactly that) is REFUSED before anything is written. The first form of this function stamped TAKEN_AT.txt
|
||||
# with HEAD and "0 objects" over a snapshot whose objects were another tree's — a false "fresh".
|
||||
found = sorted((REPO / "build").glob("**/*.o"))
|
||||
prev_n = None
|
||||
stamp = BASELINE / "TAKEN_AT.txt"
|
||||
if stamp.exists():
|
||||
m = re.search(r"^(\d+) objects", stamp.read_text(), re.M)
|
||||
prev_n = int(m.group(1)) if m else None
|
||||
if not found or (prev_n and len(found) < prev_n):
|
||||
print(f"delever_oracle --snapshot-baseline: REFUSED — build/ holds {len(found)} object(s), the previous snapshot {prev_n}: "
|
||||
f"not a complete fleet run (run the clean fleet gate first, R22/R56); nothing written")
|
||||
return 0
|
||||
for src in found:
|
||||
rel = src.relative_to(REPO / "build")
|
||||
dst = BASELINE / rel
|
||||
dst.parent.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
Reference in New Issue
Block a user