Skip to content

refactor: retire runners/lua_runner now that workflow_engine replaces it - #82

Merged
jhamill34 merged 1 commit into
mainfrom
claude/retire-lua-runner
Aug 26, 2026
Merged

refactor: retire runners/lua_runner now that workflow_engine replaces it#82
jhamill34 merged 1 commit into
mainfrom
claude/retire-lua-runner

Conversation

@jhamill34

Copy link
Copy Markdown
Owner

Closes #73. Executes its own decision record: prototypes/workflow_engine (via #74/#75, now fully landed on main) replaces runners/lua_runner as a whole rather than running alongside it as a second, parallel Lua execution path. Nothing in production depended on the SimpleCode+LUA path (it was only a few days old, never adopted for a real manifest), so this is a straight deletion, not a migration — matching the issue's own reasoning.

What changed

  • runners/lua_runner — crate deleted entirely, and its workspace member entry removed.
  • binary/apid — its dependency and lua Cargo feature removed; its construction/registration in construct_execution_engine removed; the now-dead LUA_LANG constant removed.
  • execution_engine::Engine::run — the Ok(Language::LUA) => ... arm of the SimpleCode dispatch match removed (a comment marks why, referencing Decision: retire runners/lua_runner once workflow_engine's async dispatch path lands #73). The LUA protobuf enum variant itself stays defined, per the issue's own plan — harmless, and a smaller footprint than changing a wire enum.
  • binary/apid/tests/lua_e2e.rs and the CI step that ran it (.github/workflows/rust.yml) removed — the only e2e coverage that existed specifically for the retired path.
  • runners/workflow_runner's own tests used Language::LUA purely as a convenient "any SimpleCode language" stand-in for its api.run bridge tests (registering a FakeCodeRunner, never the real lua_runner) — switched to Language::JAVASCRIPT so those tests keep exercising Engine::run's real dispatch after the LUA arm is gone. Verified this still genuinely tests dispatch by temporarily registering under a mismatched key and confirming the test fails.

Test plan

  • cargo build --workspace and cargo test --workspace clean.
  • cargo build -p apid with every feature combination (including workflow) clean.
  • cargo clippy --workspace --all-targets clean.
  • cargo fmt --all -- --check clean.
  • Confirmed no other reference to lua_runner/Language::LUA/the lua feature remains anywhere in the repo outside historical precedent comments (which document design history and stay accurate) and the intentionally-retained LUA proto enum variant.

🤖 Generated with Claude Code

https://claude.ai/code/session_019EKR96FrBygNE1sfscQ6CG


Generated by Claude Code

Executes issue #73's decision record: prototypes/workflow_engine (via
#74/#75, now fully landed) replaces runners/lua_runner as a whole rather
than running alongside it as a second, parallel Lua execution path.
Nothing in production depended on the SimpleCode+LUA path (it was only a
few days old, never adopted for a real manifest), so this is a
straight deletion, not a migration.

Removed:
- runners/lua_runner (crate deleted entirely), and its workspace member
  entry.
- Its dependency and `lua` Cargo feature in binary/apid.
- Its construction/registration in apid::construct_execution_engine and
  the now-dead LUA_LANG constant.
- The `Ok(Language::LUA) => ...` arm of execution_engine::Engine::run's
  SimpleCode dispatch (a comment marks why it's gone, referencing #73).
  The LUA protobuf enum variant itself stays defined, per the issue's
  own plan - harmless, and a smaller footprint than changing a wire
  enum.
- binary/apid/tests/lua_e2e.rs and the CI step that ran it
  (.github/workflows/rust.yml) - the only e2e coverage that existed
  specifically for the retired path.

runners/workflow_runner's own tests used Language::LUA purely as a
convenient "any SimpleCode language" stand-in for its api.run bridge
tests (registering a FakeCodeRunner, never the real lua_runner) -
switched to Language::JAVASCRIPT so those tests keep exercising
Engine::run's real dispatch after the LUA arm is gone. Verified this
still genuinely tests dispatch by temporarily registering under a
mismatched key and confirming the test fails.

Verified: cargo build/test --workspace clean, cargo build -p apid with
every feature combination (including workflow) clean, cargo clippy
--workspace --all-targets clean, cargo fmt --all -- --check clean.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019EKR96FrBygNE1sfscQ6CG
@jhamill34
jhamill34 merged commit 4599ffb into main Aug 26, 2026
5 checks passed
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.

Decision: retire runners/lua_runner once workflow_engine's async dispatch path lands

2 participants