runa/CHANGELOG.md

56 lines
2.8 KiB
Markdown
Raw Normal View History

# 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.
- In-memory named behavior revisions with optimistic publish checks, immutable
history, rollback revisions, and runtime installation at idle handler
boundaries.
- CLI commands for named behavior publishing, history, rollback, and
installation, plus `mise run run` to launch the local executable.
- Cooperative actor pause/resume between scheduler ticks, preserving active
invocations and emitting lifecycle events.
- 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.