runa/CHANGELOG.md

2.4 KiB

Changelog

All notable changes to this project will be documented in this file.

[Unreleased]

Added

  • Typed, instruction-sliced Rune invocations with preserved async execution, wake-driven resumption, and cancellation tests.

  • Minimal single-worker actor runtime with bounded FIFO mailboxes, private integer state, structured messages, immutable implementation IDs, explicit message effects, inspection, lifecycle events, stop, and restart.

  • Runnable two-actor counter demonstration and tests for runaway fairness, pending-message isolation, failures, backpressure, and all-or-nothing effects.

  • Interactive local CLI for spawning actors, sending messages, advancing ticks, inspecting actors/events, and stopping/restarting actors.

  • Versioned BLAKE3 source and implementation identities, original-source retention, a Rune compile-input fingerprint, and an in-memory compiled artifact cache.

  • Execution-model decision and Phase 1 runtime documentation.

  • Lifecycle tests proving failed-message retry from committed state and stop/restart preservation of reserved-first FIFO order.

  • Runnable Phase 0 experiment pinned to Rune 0.14.2, covering script execution, native calls, async suspension, instruction budgets, frame inspection, stepping, and compiled-code sharing across isolated VMs and threads.

  • Tests for feasibility results, invalid source, runtime errors, independent stacks, and cancellation by dropping suspended execution.

  • Rune feasibility report with measured timings, shallow object sizes, limitations, and a proposed Phase 1 execution model.

  • Initial Rust workspace with the runa binary and a runa-rune library scaffold for Phase 0. Rune integration is not implemented yet.

  • Project README and agent guidelines.

  • Base directories for architectural decisions, default image scripts, development automation, examples, system tests, and the VS Code extension.

  • Mise tasks for formatting, Clippy linting, workspace tests, and sequential pre-commit validation.

  • Tombi, rustfmt, and Clippy configurations.

Changed

  • Actor implementation IDs now identify compiled source/configuration content rather than using sequential process-local numbers.
  • Expanded the architecture specification with crate ownership and dependency boundaries, and moved it to docs/architecture.md.
  • Required agents to pass mise run pre-commit before every commit and document user-visible changes in this changelog.