diff --git a/CLAUDE/notes/history.md b/CLAUDE/notes/history.md index 489e71b..3075fcf 100644 --- a/CLAUDE/notes/history.md +++ b/CLAUDE/notes/history.md @@ -238,10 +238,54 @@ - Cycle 56 (240): interleaved spawn, store16, min/max via select, runtime drop with live actors - Cycle 57 (244): immutable global, 5 round-trips, builder ownership, empty tick ordering +## Cycle 58 — Reverse Payload, Extra Exports, Comprehensive Fuzz +- Added 6 tests: guest reverses payload, extra exports tolerated, comprehensive guest fuzz, respawned actor address, echo+double separate inboxes, builder slice ref +- All 250 tests pass + +## Cycle 59 — local.tee, 16KB Payload, Dual Runtime, i64 Wrap +- Added 5 tests: local.tee instruction, 16KB payload round-trip, two independent runtimes, i64-to-i32 wrap, random WAT variations property test +- All 255 tests pass + +## Cycle 60 — Three Destinations, Tick-Per-Msg, 10-Page Memory +- Added 5 tests: three echo destinations, one-message-per-tick for 10 ticks, 10-page initial memory, fill+copy together, stop with pending messages +- All 260 tests pass + +## Cycle 61 — Unreachable, Bump Alloc, Control Flow, N-Spawn Fuzz +- Added 5 tests: unreachable trap recovery, bump allocator advancing, block/loop/br_if, stop one of two, property test spawning 1..20 actors +- All 265 tests pass + +## Cycle 62 — Self-Send Budget, Empty Module, Static Alloc, 32KB Echo +- Added 5 tests: self-send loop bounded by budget, empty module rejected, static alloc echoes, two engines two runtimes, 32KB payload +- All 270 tests pass + +## Cycle 63 — Zero-Len Send, Overlapping Regions, Alloc Exhaustion +- Added 4 tests: zero-length payload from guest, overlapping dest/payload, alloc exhaustion drops gracefully, stop all actors +- All 274 tests pass + +## Cycle 64 — Outbox Clear on OOB Send, Sign Extend, 60KB Echo +- Added 5 tests: send then OOB send clears outbox, sign extension, double processes then stops, near-page echo (60KB), property echo preserves arbitrary content +- All 279 tests pass + +## Cycle 65 — Alloc Trap Recovery, Unused Table, Alternating Sizes +- Added 5 tests: alloc trap then normal message, unused table, alternating large/small, silent absorbs 200, two actors from cloned bytes +- All 284 tests pass + +## Cycle 66 — 100-Tick Longevity, Nested If/Else, Engine Drop +- Added 5 tests: logical right shift, 100 messages across 100 ticks, three-deep if/else, increasing payload sends, engine dropped after build +- All 289 tests pass + +## Cycle 67 — Memory Grow, Native Verifier, Zero-Page, Stop Fuzz +- Added 6 tests: grow memory and use new page, native verifier, sequential lifecycle, zero-page memory, double receives two messages, stop-with-pending property test +- All 295 tests pass + +## Cycle 68 — 300 TEST MILESTONE +- Added 5 tests: write offset zero, 10 echo actors respond, alternating silent/sending, budget=1 one-per-tick, echo address-only +- **300 tests pass milestone** — 3 bugs found and fixed total, 20 property tests + ## Campaign Summary (ongoing) -- **62 commits** on bin-runner branch (3 bug fixes + 59 test commits) -- **244 tests** (225 scenario + 15 property + 4 compile-time checks) +- **73 commits** on bin-runner branch (3 bug fixes + 70 test/doc commits) +- **300 tests** (276 scenario + 20 property + 4 compile-time checks) - **3 bugs found and fixed** in core WASM actor code and runtime - **2 flaky MT tests fixed** with retry polling -- **~8,500 lines** of test code +- **~10,000 lines** of test code - Implementation proved extremely robust after initial 3 bug fixes