docs: record item 4.6 fix, aarch64 BYE crash fix, and DoE campaign in CHANGELOG/ROADMAP
CHANGELOG.md: new 2026-08-18 entry for today's work, plus a post-split note explaining the branch-tag convention no longer applies (this repo is now LithosAnanke-only, master as sole production line). docs/lithosananke/ROADMAP.md: M7.1 section predates all the real Tripod/Stadium/ACL work and was silently stale -- added a dated redirect to FABRIC.md/FABRIC-2.md (matching the doc's own existing pattern for the M8 section) rather than rewriting the whole section. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
efcc2d8c90
commit
60907503f9
+39
-1
@@ -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:
|
`git log` on the relevant branch. Two products share this file:
|
||||||
**StarForth** (hosted FORTH-79 VM, `master`) and **LithosAnanke** (bare-metal
|
**StarForth** (hosted FORTH-79 VM, `master`) and **LithosAnanke** (bare-metal
|
||||||
UEFI kernel, `lithosananke`). Entries are tagged by which branch(es) they
|
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`)
|
## 2026-07-24 — Kernel 3-arch acceptance test re-run; amd64 dict_hash non-determinism root-caused (`lithosananke`)
|
||||||
|
|
||||||
|
|||||||
@@ -192,7 +192,16 @@ APIC Timer: started
|
|||||||
|
|
||||||
**Goal:** Content-addressed, immutable init capsules for VM birth
|
**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:**
|
**Core Concepts:**
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user