diff --git a/FABRIC-2.md b/FABRIC-2.md index 0e49f70..78af291 100644 --- a/FABRIC-2.md +++ b/FABRIC-2.md @@ -75,14 +75,39 @@ and recorded. > architectures; the POST suite is clean in every log; all three architectures boot to > `ok>` with logs under `logs/`; `ARTEMIS-K` closes against fleet K≡1.0, confirmed by the > Stadium conservation invariant holding (`resident_sum + reservoir == Q48_ONE`) throughout - > every run. One caveat: whether "the effort number is recorded per §10" specifically has - > been done is not verified here — that bookkeeping step, if it means something beyond what - > Section H already records, was not independently checked against §10's own convention. - > A real bug had to be found and fixed to get here — `stadium_grant_quota()` ran after - > Artemis's IDENTITY exec instead of before it, so her own auto-run stress campaign had no - > quota and every admission refused unconditionally, on all three architectures, before the - > fix. See Section H for the full root-cause and fix writeup, and Section I for a second, - > independently-discovered aarch64-only bug found in the same acceptance pass. + > every run. A real bug had to be found and fixed to get here — `stadium_grant_quota()` ran + > after Artemis's IDENTITY exec instead of before it, so her own auto-run stress campaign + > had no quota and every admission refused unconditionally, on all three architectures, + > before the fix. See Section H for the full root-cause and fix writeup, and Section I for + > a second, independently-discovered aarch64-only bug found in the same acceptance pass. + > + > **Effort number, reported 2026-08-18** (per §10 — recorded here, in `FABRIC-2.md`, rather + > than in `FABRIC.md` itself, since that document is closed/archival and its own header + > already redirects readers here for current status; matches where item 4.2's own effort + > number actually lived — inside that item's punch-list entry, not literally under §10): + > - **Session time.** The ruling that scoped this item's approach (admission-on-allocate, + > not a 1:1 slot table) was committed 2026-08-18 07:45:44 (`48ab994`, an earlier session); + > the fix itself — diagnosing the 100%-refusal failure, root-causing the quota-grant + > ordering bug, and verifying 30/30 on all three architectures — was committed the same + > day at 14:53:18 (`8d90538`). Does **not** include whatever time the FORTH migration + > itself (`BLK-HEAT`/`Q-DECAY` → `BLK-CELL`/`BLK-ADMIT`) cost in the earlier session that + > produced it — that diff was already in place, uncommitted, when this session began; no + > visibility into its authorship timing, same caveat item 4.2's report made about its own + > pre-existing implementation. + > - **Lines changed, split FORTH vs. C surface** (`git show 8d90538 --numstat`, this + > session's contribution only — the pre-existing FORTH migration's own diff is included + > since it was still uncommitted when this session began, but its authorship/timing is + > the caveat above): + > - FORTH (`capsules/artemis/init.4th`): +83 / −23 (106 changed), 1 file. + > - C, the actual quota-ordering fix (`src/starkernel/capsule/capsule_birth.c`): +14 / −9 + > (23 changed), 1 file. + > - Self-test scaffolding (`kernel_main.c`, diagnostic-only, not production code): +59 / + > −0, 1 file. + > - **Total: 3 implementation files, +156 / −32 (188 lines changed).** (Excludes the + > aarch64 PSCI/HVC `arch.c` work and everything in Section I — that's a separate, + > independently-discovered bug, not part of item 4.6's own scope.) + > - **File count:** 3 implementation files (4 including this write-up in `FABRIC-2.md` + > itself). - [ ] **5.1 — Re-run the DoE on the new substrate.** A green POST suite is not evidence that determinism holds under the Stadium migration — needs its own campaign. Not started.