Commit Graph

5 Commits

Author SHA1 Message Date
Steve Biedermann 65c08b04c6 feat: add boundary-safe disk image save and restore
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-11-04 01:57:37 +01:00
Steve Biedermann ad63e286d9 feat!: add structured actor state and messages
Introduce owned portable values with distinct actor references, bounded Rune conversion, JSON REPL literals, and nested reference completion. Preserve isolation and atomic transitions across state, messages, effects, migration, inspection, and TCP clients.

BREAKING CHANGE: protocol v3 replaces integer state and kind/value/target_ref messages with tagged values. Rune handlers now take (state, message) and return (new_state, [(actor_reference, message)]). The REPL send command accepts one JSON message.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-11-02 16:56:03 +01:00
Steve Biedermann 4f6e7ccfa2 feat: add NanoID actor refs and REPL bindings
Require explicit behavior selection on spawn, expose randomized actor references, and add named REPL bindings, completion, history navigation, and protocol v2 routing.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-11-02 15:19:25 +01:00
Steve Biedermann c04a7ed12f feat: add content-addressed Rune code store
Add stable versioned source and implementation IDs, exact original-source retention, compiler fingerprints, and an in-memory compiled artifact cache. Use implementation content IDs in runtime actor references.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-11-02 10:08:49 +01:00
Steve Biedermann d766a1b055 feat: add minimal single-worker actor runtime
Implement typed, budgeted Rune invocation slices and a minimal in-memory actor runtime with bounded mailboxes, state transitions, effects, and lifecycle operations. Add feasibility and runtime documentation with tests for async resumption, cancellation, and scheduler fairness.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-11-02 09:19:04 +01:00