2026-11-01 19:31:20 +00:00
|
|
|
# Changelog
|
|
|
|
|
|
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
|
|
|
|
|
|
## [Unreleased]
|
|
|
|
|
|
|
|
|
|
### Added
|
|
|
|
|
|
2026-11-02 08:19:04 +00:00
|
|
|
- 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.
|
2026-11-02 08:31:25 +00:00
|
|
|
- Interactive local CLI for spawning actors, sending messages, advancing ticks,
|
|
|
|
|
inspecting actors/events, and stopping/restarting actors.
|
2026-11-02 09:08:49 +00:00
|
|
|
- Versioned BLAKE3 source and implementation identities, original-source
|
|
|
|
|
retention, a Rune compile-input fingerprint, and an in-memory compiled
|
|
|
|
|
artifact cache.
|
2026-11-02 09:18:07 +00:00
|
|
|
- In-memory named behavior revisions with optimistic publish checks, immutable
|
|
|
|
|
history, rollback revisions, and runtime installation at idle handler
|
|
|
|
|
boundaries.
|
2026-11-02 09:24:43 +00:00
|
|
|
- CLI commands for named behavior publishing, history, rollback, and
|
|
|
|
|
installation, plus `mise run run` to launch the local executable.
|
2026-11-02 11:35:29 +00:00
|
|
|
- Cooperative actor pause/resume between scheduler ticks, preserving active
|
|
|
|
|
invocations and emitting lifecycle events.
|
2026-11-02 11:45:02 +00:00
|
|
|
- Explicit safe-point state migration during implementation installation, with
|
|
|
|
|
atomic failure behavior and migration events.
|
2026-11-02 12:04:47 +00:00
|
|
|
- Explicit invocation cancellation that requeues the reserved message for
|
|
|
|
|
retry, exposed in the CLI and documented with native side-effect caveats.
|
2026-11-02 12:11:11 +00:00
|
|
|
- Active actor execution telemetry in snapshots: completed VM steps,
|
|
|
|
|
instruction pointer, and call-frame depth.
|
2026-11-02 12:20:45 +00:00
|
|
|
- Trusted in-process `runa-image-api` service boundary for code and actor
|
|
|
|
|
operations, now used by the local CLI.
|
2026-11-02 12:36:32 +00:00
|
|
|
- Versioned, transport-neutral `runa-protocol` request, response, and event
|
|
|
|
|
DTOs with serde support and request validation.
|
2026-11-02 12:44:33 +00:00
|
|
|
- Transport-neutral `runa-server` dispatcher routing protocol commands through
|
|
|
|
|
the image API with typed replies and error codes.
|
2026-11-02 13:18:45 +00:00
|
|
|
- Local JSON-lines stdio transport for the protocol dispatcher, with a 1 MiB
|
|
|
|
|
request limit and explicit malformed-input failures.
|
2026-11-02 13:40:56 +00:00
|
|
|
- Reusable local child-process client for issuing correlated protocol requests
|
|
|
|
|
and shutting down the server process cleanly.
|
2026-11-02 13:50:30 +00:00
|
|
|
- Loopback-only TCP JSON-lines endpoint for local development clients, sharing
|
|
|
|
|
the same live image as stdio and limiting concurrent clients.
|
2026-11-02 08:19:04 +00:00
|
|
|
- Execution-model decision and Phase 1 runtime documentation.
|
2026-11-02 08:27:29 +00:00
|
|
|
- Lifecycle tests proving failed-message retry from committed state and
|
|
|
|
|
stop/restart preservation of reserved-first FIFO order.
|
2026-11-02 14:19:25 +00:00
|
|
|
- NanoID-based public actor references, explicit behavior-and-state spawning,
|
|
|
|
|
named REPL actor bindings, tab completion, and command history navigation.
|
|
|
|
|
- NanoID-based public actor references, explicit behavior-and-state spawning,
|
|
|
|
|
named REPL actor bindings, tab completion, and command history navigation.
|
2026-11-02 08:19:04 +00:00
|
|
|
|
|
|
|
|
- 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.
|
|
|
|
|
|
2026-11-01 19:31:20 +00:00
|
|
|
- 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
|
|
|
|
|
|
2026-11-02 13:30:22 +00:00
|
|
|
- Interactive CLI commands now use the versioned protocol dispatcher instead
|
|
|
|
|
of calling the image API directly.
|
2026-11-02 14:19:25 +00:00
|
|
|
- Protocol version 2 replaces numeric actor IDs with NanoID actor references
|
|
|
|
|
and adds optional target references for message effects.
|
|
|
|
|
- Protocol version 2 replaces numeric actor IDs with NanoID actor references
|
|
|
|
|
and adds optional target references for message effects.
|
2026-11-02 09:08:49 +00:00
|
|
|
- Actor implementation IDs now identify compiled source/configuration content
|
|
|
|
|
rather than using sequential process-local numbers.
|
2026-11-01 19:31:20 +00:00
|
|
|
- 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.
|