diff --git a/CHANGELOG.md b/CHANGELOG.md index e98bf43..2ab12fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,45 @@ Milestone-level achievements only — not a commit log. For full history see `git log` on the relevant branch. Two products share this file: **StarForth** (hosted FORTH-79 VM, `master`) and **LithosAnanke** (bare-metal UEFI kernel, `lithosananke`). Entries are tagged by which branch(es) they -landed on. +landed on. **Post-split note (2026-08-18):** the combined monorepo this +convention describes has been split into two separate repositories; +LithosAnanke now lives here with `master` as its sole production line (no +`lithosananke` branch in this repo). Entries below this note carry no +branch tag for that reason. + +## 2026-08-18 — Item 4.6 (Artemis Stadium migration) quota-ordering bug fixed; aarch64 `BYE` crash fixed; full 3-arch DoE campaign clean + +Artemis's 30-rep surface stress campaign (item 4.6, migrating her block-heat +arena to Stadium admission-on-allocate) was failing 100% of trials on all +three architectures. Root-caused to `capsule_birth.c`: `stadium_grant_quota()` +ran after IDENTITY exec, but Artemis's `init.4th` auto-runs the stress +campaign as part of that same IDENTITY exec, so every `STADIUM-ADMIT` call +hit a nonexistent quota slot and refused unconditionally. Moved the grant +before IDENTITY exec. Verified 30/30 reps PASS on amd64, aarch64, and +riscv64 (was 30/30 FAIL on all three). + +Separately fixed a long-standing aarch64-only crash on `BYE` (present since +at least 2026-08-08): `arch_cold_reset()` issued PSCI `SYSTEM_RESET` via +`smc #0`, but this QEMU/AAVMF boot configuration has no genuine EL3/TrustZone +secure monitor to answer an SMC — PSCI here is served via HVC instead. The +instruction was trapping into the kernel's own exception handler on every +boot, not corrupting memory or racing anything, despite investigation +initially suspecting both. Root-caused via live gdb single-stepping, which +also surfaced and fixed a real debugging-environment gotcha along the way: +`starkernel_kernel.elf` is not the binary that actually runs under +`MONOLITHIC_BUILD` (`starkernel_loader.efi` is, a completely separately-linked +artifact) — every earlier breakpoint attempt had been aimed at the wrong +file. Fixed: `smc #0` → `hvc #0`. First clean aarch64 `BYE` exit recorded. + +Also fixed, found incidentally during the aarch64 investigation: PSCI +`SYSTEM_RESET`'s function ID used the SMC64 calling convention (`0xC4000009`), +which isn't a real PSCI function ID (`SYSTEM_RESET` has no SMC64 variant) — +corrected to the valid SMC32 encoding (`0x84000009`). + +Full three-arch DoE campaign (`L8-DOE`, 48 trials each) re-run clean on all +three architectures post-fix: stress campaigns 30/30 PASS, clean `BYE` exit, +no exceptions. Full investigation trail, evidence, and dead ends in +`FABRIC-2.md` Sections H and I. ## 2026-07-24 — Kernel 3-arch acceptance test re-run; amd64 dict_hash non-determinism root-caused (`lithosananke`) diff --git a/docs/lithosananke/ROADMAP.md b/docs/lithosananke/ROADMAP.md index ed357c2..05d75a6 100644 --- a/docs/lithosananke/ROADMAP.md +++ b/docs/lithosananke/ROADMAP.md @@ -192,7 +192,16 @@ APIC Timer: started **Goal:** Content-addressed, immutable init capsules for VM birth -**Status:** Design Complete (see [M7.1.md](M7.1.md)) +**Status:** Design Complete (see [M7.1.md](M7.1.md)) — this section predates the actual +capsule/Tripod/Stadium work and is not current. **See `FABRIC.md`/`FABRIC-2.md` for real +status** (per `.claude/CLAUDE.md`'s standing redirect) — Tripod (Hera/Hermes/Artemis), +word-level ACL Phases 1–7, and the Stadium physics-economy migration are all live, not just +designed. Most recently: item 4.6 (Artemis's block-heat arena migrated to Stadium +admission-on-allocate) verified passing its 30-rep stress campaign on all three +architectures 2026-08-18, after fixing a quota-grant ordering bug (`capsule_birth.c`) that +had made every admission fail; see `FABRIC-2.md` Section H. The same pass also fixed a +long-standing aarch64-only crash on `BYE` (wrong PSCI conduit — SMC has nothing to answer it +under AAVMF/no-EL3 boot; switched to HVC), see `FABRIC-2.md` Section I. **Core Concepts:**