Commit graph

81 commits

Author SHA1 Message Date
Claude
4e743479ee test(wasm-actor): cycle 76 — dual-address send, 500 messages, early return (337 tests)
Added 4 tests: guest sends to two addresses in one handle, engine clone builds
independent actors, 500 messages in one tick, guest early return from handle.
No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
f0751163c8 test(wasm-actor): cycle 75 — 8-param function, native relay, any-size fuzz (333 tests)
Added 5 tests: internal function with 8 params, WASM-to-native-to-inbox relay,
any message size round-trip property, sign extend 16, echo after 100 idle ticks.
No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
b627573849 test(wasm-actor): cycle 74 — message counter, DropOldest, odd-length filter (328 tests)
Added 4 tests: guest counts messages via global, echo with DropOldest mailbox,
guest echoes only odd-length messages, build error Display formatting.
No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
d1de863760 test(wasm-actor): cycle 73 — conditional trap, 3 runtimes, 1000 actors (324 tests)
Added 5 tests: trap on specific byte, three runtimes share engine, spawn with no
messages, multiply/divide operations, 1000 actors from same engine stress test.
No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
7f7e25f3d9 test(wasm-actor): cycle 72 — checksum, 4-thread MT stress, comparisons (319 tests)
Added 5 tests: byte checksum computation, 4-thread runtime stress test, three
data segments, 50KB message echo, comparison operations (gt_s, lt_s, le_u, ge_s).
No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
Claude
90c048d053 test(wasm-actor): cycle 71 — f32 ops, nested blocks, mixed guest response fuzz (314 tests)
Added 5 tests: same payload to echo+double verified, f32 store/load, 50 silent
actors clean shutdown, 5-deep nested blocks, property test mixed guest response
counts. No new bugs found.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:08:00 +07:00
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