Skip to content

feat(runtime): control plane, cost tracking, sandbox, state machine#1232

Open
ohdearquant wants to merge 1 commit into
mainfrom
feat/runtime-layer
Open

feat(runtime): control plane, cost tracking, sandbox, state machine#1232
ohdearquant wants to merge 1 commit into
mainfrom
feat/runtime-layer

Conversation

@ohdearquant
Copy link
Copy Markdown
Owner

Summary

  • Adds lionagi/runtime/ module: ControlVerb/RunnerState/RunnerHandle (control plane), CostLedger/PricingTable (budget tracking), LocalRunner/PlayRunner, SandboxManager (sandboxed execution), SchedulerEngine, ControlService, StateMachine
  • Extends lionagi/state/ with runner_handles/run_control_requests tables and CRUD methods
  • Adds RunnerReasons to state reasons

Extracted from #1188 (stripped work system files, ADR docs, and CLI changes that belong to other PRs).

Test plan

  • uv run pytest tests/runtime/ tests/test_runtime_control.py — 189 tests pass
  • CI green on this branch

🤖 Generated with Claude Code

…eduler, service, state machine

Extracts lionagi/runtime/ from the bloated pr/runtime-layer branch — runtime
control plane only, no work/ system or ADR docs.

- lionagi/runtime/: control.py (RunnerState/Handle/VALID_TRANSITIONS),
  cost.py (CostLedger/PricingTable), runner.py (LocalRunner/PlayRunner),
  sandbox.py (SandboxManager/LocalSandboxBackend), scheduler.py (SchedulerEngine/cron),
  service.py (ControlService), state_machine.py (StateMachine/Transition)
- tests/runtime/: test_cost, test_sandbox, test_scheduler, test_state_machine + test_runtime_control
- lionagi/state/: add RunnerReasons + runner_handle entity type to reasons.py;
  add upsert/get/transition/control_request methods to db.py;
  add runner_handles + run_control_requests tables to schema.sql

189 tests pass, ruff clean.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant