Skip to content

v0.5.0 — the five atoms, the recorder, the compiler, the ladder

Choose a tag to compare

@fixlyai fixlyai released this 18 Jul 23:22
· 897 commits to main since this release

Reelier's first published npm release (0.1.0 -> 0.5.0) — a deterministic replay engine for AI agent workflows, built on the five-atom model: intent, action, assert, bind, effect.

What's in 0.5.0

  • Five-atom SKILL.md format + L0 runner — record any agent workflow as a SKILL.md recipe and replay it deterministically, zero LLM calls at the default level. A malformed skill (bad frontmatter, unrecognized assert/bind, out-of-order step) is rejected with the exact step and line, never silently skipped.
  • MCP proxy recorderreelier mcp --wrap "..." re-exposes any downstream MCP server's tools 1:1 (pure passthrough) plus three control tools (reelier_start_recording, reelier_note, reelier_stop_recording) so an agent can capture a lossless trace of a live session, with conservative built-in secret redaction at trace-write time.
  • Deterministic compiler with dataflow recovery (reelier compile) — turns a recorded trace into a runner-ready SKILL.md, zero LLM calls. Derives intent from narration, recovers dataflow binds by matching argument values against prior results, assigns effect classes from a verb heuristic, and — the honest-gaps principle — emits an explicit Open questions list for everything it can't confidently derive, rather than a fabricated check.
  • L1/L2 escalation ladder with write-back — strictly opt-in (--max-level 1|2), BYOK against almost any Anthropic- or OpenAI-compatible endpoint. L1 re-evaluates a step's already-captured observation with patched asserts/binds (zero side effects, never re-executes). L2 may patch args and re-executes the step exactly once, and only for read/idempotent-write steps — a diverged destructive step is never handed to an LLM. Every successful heal writes back to the skill file atomically, with a ## Changelog entry, so drift only costs an LLM call once.
  • reelier push — opt-in, fully inert without REELIER_CLOUD_URL/REELIER_CLOUD_KEY — syncs a skill's run records (and, on first push, the skill file) to a hosted Reelier Cloud instance, with honest cursor semantics (permanent-reject vs. transient-error handling) so a bad historical record never blocks everything pushed since.
  • reelier init — the 60-second first receipt: guided detect-config -> record (real MCP session, or a zero-setup live demo) -> compile -> replay -> receipt loop, closing with measured replay time and LLM token count (asserted 0, never assumed) and a comparison against our own published agent-vs-Reelier benchmark.

The benchmark results (measured, not claimed)

Full raw data and methodology: docs/strategy/reelier-launch/benchmark-results.md, reproducible via examples/benchmark.

  • 1,000/1,000 replays byte-identical at N=1000 (tail-variance test against a live npm registry endpoint)
  • 0 tokens per replay, verified from the run record on every single replay — never assumed
  • ~50x cheaper than a comparable agent run ($0.000000/replay vs. $0.019068/run average)
  • ~59x faster (44ms vs. 2,842ms average latency)
  • Honestly reported alongside a real grammar gap the benchmark surfaced: the current bind grammar can't express count/filter/enumerate aggregations over a JSON array — tracked as a good-first-issue, not hidden.

What's still missing

No Level 3 (full agentic recovery when a trace no longer applies at all — today that's a human editing the skill by hand). See the README's "Status" section for the complete list.

Get started

npm i -g @seldonframe/reelier && reelier init

AGPL-3.0 — the engine can never be taken closed. Your skills, traces, and run records are your data; the license doesn't touch them.