TASK-971: route workflow reads through typed services - #359
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
VERDICT: APPROVE
No blocking findings. The workflow read/model MCP surface is routed through typed in-process application functions without broadening the mutation/execution scope. Actor-bound list/get/decision/checkpoint reads preserve ownership filtering before pagination, invalid filters retain typed invalid_input errors, and the CLI JSON paths share the same service functions while human-readable paths remain intact. The removal of the obsolete argv/list subprocess helpers is appropriately limited to the migrated operations.
Verification evidence is strong: both CI matrices are green for cargo-check, Clippy, rustfmt, docs sync, dependency guardrails, and smoke-help. The focused and full-suite results reported in the PR are consistent with the change. Good separation of the application boundary in workflow_inproc.rs, and good retention of the daemon control-wire optimization and unrelated write/control paths for later slices.
Summary
Migrated tools:
animus.workflow.listanimus.workflow.getanimus.workflow.decisionsanimus.workflow.checkpoints.listanimus.workflow.phases.listanimus.workflow.phases.getanimus.workflow.definitions.listanimus.workflow.config.getanimus.workflow.config.validateVerification
cargo check -p orchestrator-cli --testscargo clippy -p orchestrator-cli --tests -- -D warningscargo test -p orchestrator-cli workflow_inproc -- --test-threads=1(2 passed)cargo test -p orchestrator-cli services::operations::ops_workflow::tests -- --test-threads=1(13 passed)cargo test -p orchestrator-cli services::operations::ops_mcp::tests -- --test-threads=1(76 passed)cargo test -p orchestrator-cli --bin animus --quiet -- --test-threads=1(1,425 passed)cargo fmt --all -- --checkgit diff --checkTASK-971 scope
This is the workflow read/model increment. Workflow run/execute/batch, pause/resume/cancel, manual phase decisions, and config mutations remain, followed by agent, output, cost, environment, and selected daemon/config families.