Commit graph

75 commits

Author SHA1 Message Date
Claude
2fa72be283 test(wasm-actor): cycle 70 — dynamic send count, 3-actor pipeline, XOR transform (309 tests)
Added 4 tests: dynamic send count from payload byte, three-actor echo pipeline,
rapid build of 3 guest types (60 cycles), XOR-with-key payload transform.
No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
7098c0e30d test(wasm-actor): cycle 69 — multiple globals, large data segment, i64 store (305 tests)
Added 5 tests: multiple mutable globals rotation, large data segment module,
echo+double interleaved, i64 store instruction, runtime dropped with active actors.
No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
32f8149a62 test(wasm-actor): cycle 68 — 300 TEST MILESTONE
Added 5 tests: write offset zero, 10 echo actors all respond, alternating
silent/sending behavior, budget=1 one-per-tick, echo with address-only message.
No new bugs found.

**300 tests pass milestone** — 3 bugs found and fixed total, 20 property tests,
68 cycles of testing. Implementation proved extremely robust.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
0e1ab9284b test(wasm-actor): cycle 67 — memory grow, native verifier, zero-page, stop fuzz (295 tests)
Added 6 tests: grow memory and use new page, native verifier receives WASM echo,
sequential echo/double/silent lifecycle, zero-page memory, double receives two
messages produces four, stop-with-pending property test. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
d76d6e0819 test(wasm-actor): cycle 66 — 100 tick longevity, nested if/else, engine drop (289 tests)
Added 5 tests: logical right shift, 100 messages across 100 ticks, three-deep
nested if/else, increasing payload sends in one handle, engine dropped after
build. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
67a2412b07 test(wasm-actor): cycle 65 — alloc trap recovery, unused table, alternating sizes (284 tests)
Added 5 tests: alloc trap then normal message, unused table tolerated, alternating
large/small messages, silent absorbs 200 messages, two actors from cloned bytes.
No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
e1430750a8 test(wasm-actor): cycle 64 — outbox clear on OOB send, sign extend, 60KB echo (279 tests)
Added 5 tests: send then OOB send clears outbox, i32.extend8_s instruction,
double processes then stops cleanly, near-page payload echo (60KB), property
test echo preserves arbitrary content. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
8d020bbf1e test(wasm-actor): cycle 63 — zero-len send, overlapping regions, alloc exhaustion (274 tests)
Added 4 tests: zero-length payload from guest, overlapping dest/payload regions,
alloc exhaustion drops gracefully, stop all actors in runtime. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
c304ad5960 test(wasm-actor): cycle 62 — self-send budget, empty module, static alloc, 32KB echo (270 tests)
Added 5 tests: self-send loop bounded by budget, empty module missing exports,
static alloc same pointer echoes, two engines two runtimes cross-combo, 32KB
payload round-trip. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
61316347e4 test(wasm-actor): cycle 61 — unreachable, bump alloc, control flow, N-spawn fuzz (265 tests)
Added 5 tests: unreachable instruction trap recovery, bump allocator advancing
pointers, block/loop/br_if control flow, stop one of two actors, property test
spawning 1..20 actors from same engine. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
77529b75eb test(wasm-actor): cycle 60 — three destinations, tick-per-msg, 10-page memory (260 tests)
Added 5 tests: three destinations from three echo actors, one-message-per-tick
for 10 ticks, 10-page initial memory, fill+copy together, stop with pending
messages. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
b13a846b1f test(wasm-actor): cycle 59 — local.tee, 16KB payload, dual runtime, i64 wrap (255 tests)
Added 5 tests: local.tee instruction, 16KB payload round-trip, two independent
runtimes with WASM actors, i64-to-i32 wrap instruction, random WAT variations
property test. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
384a6a56cb test(wasm-actor): cycle 58 — reverse payload, extra exports, comprehensive fuzz (250 tests)
Added 6 tests: guest reverses payload via WAT loop, extra exports tolerated,
comprehensive guest fuzz property test, respawned actor gets different address,
echo+double to separate inboxes, builder accepts slice reference.
No new bugs found. All 250 tests pass.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
a340cd0b29 test: Cycle 57 — immutable global, multi round-trip, builder consume, empty tick order
- guest_with_immutable_global: i32 global constant used in response
- multiple_echo_round_trips: 5 sequential send-receive-send cycles
- builder_is_consumed_on_build: verify builder ownership semantics
- empty_tick_between_sends_preserves_order: A-B-C with empty ticks between

All 244 tests pass. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
8f3710c5f4 test: Cycle 56 — interleaved spawn, store16, min/max, runtime drop
- interleaved_spawn_and_message_delivery: spawn-send-spawn-send-tick delivers both
- guest_uses_i32_store16: 16-bit LE store/read
- guest_computes_min_max: select instruction for min/max of two bytes
- drop_runtime_with_live_actors: drop runtime with 10 live WASM actors, no panic

All 240 tests pass. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
80afb30fb4 test: Cycle 55 — raw inbox send, multi data segments, 100 ticks, nop instructions
- send_raw_bytes_to_inbox: direct ByteMessage to inbox address
- multiple_data_segments_different_offsets: 3 data segments concatenated
- echo_across_100_separate_ticks: 100 messages across 100 individual ticks
- guest_with_nop_instructions: nop instructions don't affect behavior

All 236 tests pass. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
95f1163251 test: Cycle 54 — grow+send, 20×20 stress, minimal module, data segment template
- grow_memory_and_use_new_page_for_send: memory.grow then send from new page
- twenty_actors_twenty_messages_each: 400 total messages across 20 actors
- module_with_only_send_import_needed: minimal sending module works
- guest_data_segment_used_as_template: data segment content sent as payload

All 232 tests pass. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
246f957721 test: Cycle 53 — repeated build independence, stale memory, guest module fuzz, 3-deep calls
- repeated_build_same_bytes_independent: 3 actors from same bytes, stop one, others work
- guest_reads_stale_memory_region: reading uninitialized memory is safe
- prop_any_guest_module_processes_safely: echo/double/silent × random msg count
- three_level_nested_function_calls: inc→double_inc→transform chain (x+2)*3

All 228 tests pass (15 property tests). No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
af5e0644bc test: Cycle 52 — shift ops, bitwise AND/OR, echo+double coexist, i16 load
- guest_uses_shift_operations: i32.shl and i32.shr_u bit shifts
- guest_uses_bitwise_and_or: i32.and (0xFF & 0x0F) and i32.or (0xF0 | 0x0F)
- echo_and_double_coexist_same_worker: different guest types on same runtime
- guest_reads_i16_from_payload: i32.load16_u reads little-endian 16-bit value

All 224 tests pass. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
372c0bbf9e test: Cycle 51 — XOR transform, address reconstruction, double+watch, constructors
- guest_xor_transform_key: loop-based XOR cipher with 0xAA key
- actor_address_reconstructible_from_bytes: ActorAddress round-trips through raw bytes
- double_guest_watch_fires_once_on_stop: double works + watch notifies exactly once
- byte_message_various_constructors: ByteMessage from string, empty, 1024 zeros

All 220 tests pass. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
98061c9464 test: Cycle 50 — modulo, 8KB echo, duplicate sends, full lifecycle fuzz
- guest_uses_modulo: i32.rem_u instruction for mod 10 computation
- echo_8kb_payload: 8192-byte payload round-trips with pattern check
- duplicate_sends_all_deliver: 5 identical messages all deliver
- prop_full_lifecycle_never_panics: combined fuzz (1-5 actors, 0-10 msgs, any byte)

All 216 tests pass (14 property tests). No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
6bbfa10dbb test: Cycle 49 — i32 store/load, eqz, silent 1000-msg, pre-tick delivery
- guest_uses_i32_store_load: verifies little-endian i32 store/load
- guest_uses_eqz: i32.eqz instruction for empty/non-empty detection
- silent_guest_processes_1000_messages: silent actor handles 1000 messages, stays alive
- send_before_first_tick_delivers: send immediately after spawn delivers on first tick

All 212 tests pass. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
d4961978ec test: Cycle 48 — self-send, bit rotation, bit counting, selective stop
- guest_sends_to_self_via_framed_address: self-send bounces through, reaches inbox
- guest_uses_bit_rotation: i32.rotl instruction
- guest_uses_bit_counting: i32.clz, i32.ctz, i32.popcnt instructions
- stop_every_other_actor_remaining_work: stop 5 of 10, other 5 still respond

All 208 tests pass. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
6aeb289df0 test: Cycle 47 — page boundary exact/OOB, multiple runtimes, full message mirror
- alloc_at_page_boundary_works: alloc + msg = exactly 65536, in bounds
- alloc_one_past_page_boundary_drops: alloc + msg = 65537, OOB drops gracefully
- multiple_runtimes_with_wasm_actors: two separate runtimes with WASM actors
- guest_mirrors_full_message: sends full message (addr+payload) as payload

All 204 tests pass. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
5e925a9fc1 test: Cycle 46 — 200 TEST MILESTONE: mixed actors, sums, determinism, lifecycle
- wasm_and_native_alternate_in_same_tick: 5 WASM + 5 native msgs in same tick
- guest_sums_two_payload_bytes: sum computation with value duplication
- single_byte_payload_echo: minimum meaningful payload round-trip
- module_with_no_functions_fails: module with only memory export rejected
- response_varies_by_message_size: 4 different sizes produce correct length reports
- prop_echo_is_deterministic: same input to two fresh actors → same output
- comprehensive_lifecycle_all_guest_types_200th: echo+double+silent lifecycle

**200 tests pass** — 3 bugs found/fixed, 13 property tests, ~7,150 lines.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
2d24737026 test: Cycle 45 — 4KB round-trip, payload length report, odd alignment, idle ticks
- large_4kb_message_round_trips: 4096-byte payload echoes with pattern verification
- guest_reports_payload_length: guest computes and sends back payload length as LE i32
- alloc_returns_odd_alignment: alloc returns 1 (unaligned), host writes correctly
- shared_engine_clone_and_debug: cloned engine Debug output matches
- idle_ticks_dont_affect_wasm_actor: 500 empty ticks, then message still works

All 193 tests pass. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
82ca6869aa test: Cycle 44 — all 256 bytes, memory.fill, watched actor, double 0xFF
- all_256_byte_values_round_trip: every byte value 0x00-0xFF echoes correctly
- guest_uses_memory_fill_for_response: memory.fill writes 10 constant bytes
- wasm_actor_works_normally_while_being_watched: watched actor processes 5 msgs then stops
- double_guest_with_max_byte_value: double guest handles 0xFF payload correctly

All 188 tests pass. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
a6fea775ac test: Cycle 43 — funcref table dispatch, concurrent build, memory.copy, error traits
- module_with_funcref_table_works: call_indirect through funcref table dispatches correctly
- concurrent_build_from_shared_engine: 4 threads build actors from same engine
- guest_uses_memory_copy_for_response: bulk memory.copy for message relay
- wasm_actor_error_is_send_and_sync: compile-time trait check

All 184 tests pass. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:07:59 +07:00
Claude
c8bf78231b test: Cycle 42 — internal calls, raw WAT, build-discard, float ops, empty bytes
- module_with_internal_function_calls: helper functions (double, add_ten) composed in handle
- build_from_raw_wat_bytes: WAT-compiled silent actor works
- build_and_discard_100_actors: WasmActor drops cleanly 100 times
- handle_uses_floating_point: f64 arithmetic with i32.trunc_f64_s
- empty_wasm_bytes_error: empty Vec<u8> produces build error

All 180 tests pass. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:07:59 +07:00
Claude
8e8ea693a6 test: Cycle 41 — address-only msg, last byte, overlapping alloc, wrong name, fan-in
- handle_receives_just_address_no_payload: 32-byte message echos empty payload
- guest_writes_last_byte_of_memory: write/read at offset 65535
- alloc_returns_overlapping_region: static alloc region, outbox snapshots correctly
- memory_exported_with_wrong_name_fails: memory as "heap" not "memory" rejected
- fan_in_from_multiple_native_senders: 5 inboxes all receive correct echo responses

All 175 tests pass. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:07:59 +07:00
Claude
5c42cad8da test: Cycle 40 — pre-filled memory, engine clone, i64 ops, 200-actor stress
- guest_start_function_modifies_alloc_region: host overwrites pre-filled 0xFF memory
- engine_clone_is_same_engine: cloned engine produces working actors
- handle_uses_i64_operations: i64 arithmetic with i32.wrap_i64
- two_hundred_actors_from_same_engine: 200 actors all process one message
- Updated history.md with Cycles 27-39

All 170 tests pass. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:07:59 +07:00
Claude
d542cfcc28 test: Cycle 39 — static alloc overwrite, nested blocks, memory.size, spawn-stop fuzz
- static_alloc_pointer_messages_overwrite: same alloc ptr, outbox snapshots correctly
- nested_blocks_in_handle: nested block/br control flow with 3 branches
- guest_uses_memory_size_instruction: memory.size reports correct page count
- prop_spawn_send_stop_cycle_never_panics: random msg count + payload size lifecycle fuzz
- Fixed unused variable warning in prop_random_payload_sizes_never_panic

All 166 tests pass (12 property tests). No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:07:59 +07:00
Claude
bd089de666 test: Cycle 38 — native spawns WASM inline, many locals, 1000 ticks, send-to-dead
- native_handler_spawns_wasm_actor_inline: native handler spawns WASM actor + sends
- handle_uses_many_locals: guest uses 4 local variables for arithmetic
- wasm_actor_survives_1000_ticks: 1000+ empty ticks + 10 messages, no resource leak
- send_to_dead_wasm_actor_silently_dropped: send to stopped actor doesn't panic

All 162 tests pass. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:07:59 +07:00
Claude
945f64ca0b test: Cycle 37 — mutual watch, select instr, wasm-wasm-native relay, dest addr fuzz
- mutual_watch_wasm_actors: watcher notified when watched WASM actor stops
- select_instruction_in_handle: wasm select (ternary) based on payload presence
- wasm_to_wasm_to_native_relay: 3-layer echo1→echo2→inbox relay
- prop_any_dest_address_bytes_never_panic: arbitrary 32-byte dest address never panics

All 158 tests pass (11 property tests). No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:07:59 +07:00
Claude
0997cf06ed test: Cycle 36 — FIFO ordering, payload overflow, 100-send burst, br_table dispatch
- same_tick_message_ordering_preserved: 20 numbered messages arrive in FIFO order
- send_payload_ptr_plus_len_overflow_traps: i32::MAX payload_ptr + 1 traps safely
- handle_sends_100_messages_in_one_call: 100 sends in single handle via loop
- br_table_dispatch_in_handle: switch-like dispatch on first payload byte
- Fixed prop_truncated_wasm_never_panics (renamed): test only asserts no-panic, not always-error

All 154 tests pass (10 property tests). No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:07:59 +07:00
Claude
68952517ea test: Cycle 35 — loop sum compute, dest_ptr=0, stop-with-pending, truncated WAT fuzz
- handle_with_loop_computes_sum: iterative byte sum via wasm loop/br, u8 overflow wrapping
- send_with_dest_ptr_zero_reads_from_memory_start: dest_ptr=0 is a valid location
- stop_actor_with_pending_messages_no_crash: stop before tick with 10 queued messages
- prop_truncated_wat_always_produces_error: any truncated WASM bytes always fail to build

All 150 tests pass (10 property tests). No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:07:59 +07:00
Claude
dfc671fd19 test: Cycle 34 — From<wasmtime::Error>, 2-thread 3-actor MT, if/else branching
- wasmtime_error_converts_to_wasm_actor_error: From conversion produces Wasmtime variant
- three_wasm_actors_on_two_threads: 3 WASM echo actors on 2-thread runtime all deliver
- handle_with_if_else_branching: guest uses if/else to send different responses by length

All 146 tests pass. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:07:59 +07:00
Claude
1dfc210bf0 test: Cycle 33 — outbox snapshot, grow-per-alloc, trap-after-send, offset-zero send
- guest_overwrites_payload_after_send_outbox_has_copy: outbox snapshots memory at send time
- alloc_grows_memory_returns_pointer_in_new_page: memory.grow per alloc, 5 messages through
- trap_after_successful_send_clears_outbox: trap discards all outbox entries including valid ones
- send_payload_at_memory_offset_zero: offset 0 is a valid payload location

All 143 tests pass. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:07:59 +07:00
Claude
a4aaa9eeb0 test: Cycle 32 — random payload fuzz, multi-page data, conditional fan-out, advancing alloc
- prop_random_payload_sizes_never_panic: random 0-8KB payloads never crash host
- multi_page_data_segments_persist: data segments initialized across 3 memory pages
- conditional_send_fan_out_based_on_payload: command byte controls 0/1/2x sends
- guest_with_advancing_allocator_handles_multiple_messages: proper bump alloc, 10 msgs in one tick

All 139 tests pass (9 property tests). No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:07:59 +07:00
Claude
0fa9ff0e77 test: Cycle 31 — zero-length send, separate engines, 50-round stress, start function
- send_import_zero_length_payload_delivers_empty: payload_len=0 delivers empty msg
- actors_from_separate_engines_coexist: two engines on same runtime work independently
- rapid_spawn_send_stop_50_rounds: 50 sequential spawn-send-stop cycles all deliver
- start_function_that_succeeds_allows_normal_operation: start initializes global, handle uses it

All 135 tests pass. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:07:59 +07:00
Claude
55a8ddb97a test: Cycle 30 — reftype rejection, trap isolation, negative alloc, global counter
- reference_types_module_rejected: externref table rejected by sandboxed engine
- trapping_actor_does_not_affect_sibling: trap in actor 1 doesn't corrupt actor 2
- alloc_returns_negative_for_nonzero_drops_message: negative ptr gracefully drops
- global_counter_accumulates_across_messages: mutable global state persists across 5 calls

All 131 tests pass. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:07:59 +07:00
Claude
13dfe82af8 test: Cycle 29 — unexported memory, multi-value rejection, send boundary tests
- memory_not_exported_returns_missing_export: memory defined but not exported as "memory"
- multi_value_module_rejected_by_engine: engine config rejects multi-value returns
- send_dest_at_exact_memory_boundary: dest_ptr + 32 == mem_len succeeds
- send_dest_one_past_memory_boundary_traps: dest_ptr + 32 > mem_len traps safely

All 127 tests pass. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:07:59 +07:00
Claude
9a890770d9 test: Cycle 28 — budget-bounded echoes, wrong signatures, overlapping send regions
- pingpong_wasm_echoes_bounded_by_budget: actor_message_budget limits per-tick processing
- wrong_alloc_signature_two_params_rejected: builder rejects alloc(i32,i32)->i32
- wrong_handle_return_type_rejected: builder rejects handle(i32,i32)->i32
- send_with_overlapping_dest_and_payload: aliased dest+payload memory reads work correctly

All 123 tests pass. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:07:59 +07:00
Claude
3f9d27e1bd test: Cycle 27 — mixed outbox partial delivery, drop-oldest mailbox, full inbox drop
- mixed_outbox_partial_delivery: guest sends to valid + garbage addresses in same handle,
  verifies only valid sends deliver and actor survives
- drop_oldest_mailbox_with_wasm_actor: DropOldest policy keeps newest 3 of 5 messages
- echo_to_full_inbox_silently_drops: bounded inbox capacity silently drops excess echoes

All 119 tests pass. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:07:59 +07:00
Claude
57ff6f1d81 test: Cycle 26 — ptr/len parameter verification, double with empty payload
Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:07:59 +07:00
Claude
4f1fb2cb64 test: Cycle 25 — in-place XOR transform, stop-respawn cycle, sequential WASM actor shutdown
Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:07:59 +07:00
Claude
185c7ed046 test: Cycle 24 — mass spawn/stop (100), echo-to-stopping, Send/Sync trait checks
Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:07:59 +07:00
Claude
56bb9085d3 test: Cycle 23 — conditional send, multi-page memory, 500-message sustained load
Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:07:59 +07:00
Claude
c7f8a54b8a test: Cycle 22 — OOB memory.fill, inline spawn+send, sequential build independence
Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:07:59 +07:00
Claude
53c4f18621 test: Cycle 21 — OOB call_indirect, all-guest integration (100 tests milestone)
Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:07:59 +07:00