Parcourir la source

docs: session save 2026-09-22 (hardening complete, 68/68)

Eric Streit il y a 2 semaines
Parent
commit
4f61bba77f
1 fichiers modifiés avec 48 ajouts et 0 suppressions
  1. 48 0
      docs/session-2026-09-22.md

+ 48 - 0
docs/session-2026-09-22.md

@@ -0,0 +1,48 @@
+# Session save — 2026-09-22 (m2compiler-V3, hardening)
+
+## Where we are
+
+HEAD: `v3-step3.7` (`f01bc4b`), suite **68/68** (32 run — incl.
+4 trap-aborts — + 36 reject). Build warning-free (only the
+known-benign Coco TypeBlock LL(1) advisory). Tree clean except
+untracked `git.txt` (push recipe, intentional). No remote.
+
+## What happened this session
+
+Resumed after repeated continue-requests with a full baseline
+check (64/64 confirmed), then ran the hardening pass prescribed
+by `docs/blaise-phases-map.md`:
+
+1. **Real bug**: `BoundPair` outer `IF` missing `END` in
+   `M2.atg` — gm2 warned, still built, bug rode along since
+   3.1. One-`END` fix; `M2.lst` regenerated (line-shift churn
+   only, verified).
+2. **4 new tests**: `t_charbounds` → 3, `t_bad_varbound` → 230,
+   `t_bad_manydims` → 230, `t_trap_emptystr` → abort. One
+   expectation corrected on review (2+1=3, compiler was right).
+3. **Strays removed**: `compiler/src/essai` + `essai.mod`
+   (scratch + linked binary). Root cause of its failure:
+   trailing `;` before `END` (strict Wirth `StatSeq`).
+4. Audit confirmed set-narrowing, deep-copy, `WITH` stacking
+   already covered — no duplicate tests added.
+
+Full record: `docs/summary_step3.7.md`.
+
+## Tag lineage (append)
+
+- `v3-step3.6` (64/64) → `v3-step3.7` (68/68, hardening)
+- Docs commits untagged between, per convention.
+
+## Next (unchanged)
+
+Step 4 calls (C-ABI probes first): call emission, frames,
+value/`VAR` params, nested/display, DEFINITION/IMPLEMENTATION +
+opaque completion, `HIGH`/`LEN`, procedure-type vars. Then
+step 5 stdlib. Deferred list unchanged (see 2026-09-20 save).
+
+## Resume commands
+
+```sh
+cd /home/eric/Projets/Projets-Modula2/MyWork/m2compiler-V3/compiler
+./build.sh && ./run_tests.sh   # expect 68/68, zero gm2 warnings
+```