writeonce/docs/stories
shoney.arickathil ed45ac7c06 fix(arena): poison-on-free — a freed block can never pass for a live object (language 44)
- wo_arena_free stamps the header: class_id = WO_CLS_FREED (0xFFFFFFFF), shard_id = 0xFFFF, flags/pad = 0
- freelist link moves from offset 0 to offset 8 so the poison survives on the list; wo_arena_alloc pops from offset 8
- wo_drop_obj aborts first on a poisoned header: a double free is a diagnostic, not a catchable state
- WO_CLS_FREED defined in wob.h beside the builtin id space
- test_arena: test_poison_on_free (poison stamped, LIFO chain through the relocated link, class drains to a fresh bump) — 17/0
- full suite SUITE_ALL_ZERO, wovm + wovm_asan rebuilt, just db-actor 10/0 (lang-41 5x marshal gate unchanged)
- story 44 status: done; board row + dependency graph L44 (41 -.follow-up.-> 44)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 78ae3be403ba533db6f0e181bff201717f789a30)
2026-09-15 01:16:13 +02:00
..
databasev2 feat(query-corpus): iteration 9g corpus #1 — skillhost needs no new query grammar 2026-09-15 01:15:30 +02:00
jarvis docs(audit): fix stale docs against the code (TLS, net.connect, RNG, lang-41); jarvis deps 2026-09-15 01:16:13 +02:00
language-runtime-database fix(arena): poison-on-free — a freed block can never pass for a live object (language 44) 2026-09-15 01:16:13 +02:00
porch docs(audit): fix stale docs against the code (TLS, net.connect, RNG, lang-41); jarvis deps 2026-09-15 01:16:13 +02:00
runtime-v2 fix(crypto): branch-free EC signing ladder via complete addition (rv2 9 follow-up) 2026-09-15 01:16:13 +02:00
wmux docs(rt2): runtime-v2 track — the runtime beyond sockets 2026-09-15 01:15:30 +02:00
00-status.md fix(arena): poison-on-free — a freed block can never pass for a live object (language 44) 2026-09-15 01:16:13 +02:00
board-views.md docs(stories): add readiness, retire status: refine, sweep all 47 iterations 2026-08-27 16:54:45 +02:00