feat(11-D): delete DAG — Python-only schema cutover #21

Merged
mik-tf merged 1 commit from feat/11-phase-d-delete-dag into development 2026-05-06 17:32:58 +00:00
Owner

Summary

  • Phase D — DAG deletion: removes all DAG types (Node, Edge, NodeRun, NodeType, NodeRunResult), the engine executor stack (engine/{executor,node_executors,node_runs,schema,template_loader}.rs), the deprecated DAG RPCs, and all template JSON flows.
  • Schema becomes Python-only: WorkflowVersion(python_source) runs via the sandboxed python3 subprocess from Phase C3, with observability via Span push from Phase C2.
  • Closes the deletion side of the cutover; Phase E will seed the replacement Python flows.

What was removed

  • Types: Node, Edge, NodeRun, NodeType, NodeRunResult, edge-routing
  • Engine: engine/{executor,node_executors,node_runs,schema,template_loader}.rs
  • RPCs: workflow_save_from_json, workflow_validate, workflow_clone, workflow_migrate_legacy, play_retry, play_resume, node_logs, node_retry, node_run_start/_status/_logs
  • Templates: all templates/*.json (will be replaced by seeded @flow Python files in Phase E)

What was kept

workflow_create_version, workflow_set_current_version, workflow_version_list_for_workflow, workflow_version_fetch, play_start (now Python-routing only), play_cancel, play_status, play_run_async, play_wait, span_push, flow_library_search, example_*, benchmark_*, pick_version.

Diff size

24 files changed, 926 insertions(+), 7223 deletions(-).

Test plan

  • cargo build --workspace clean (only pre-existing dead-code warnings in hero_logic_ui)
  • Phase E PR will add the integration test (Python flow runs end-to-end against live router/aibroker)

🤖 Generated with Claude Code

## Summary - **Phase D — DAG deletion**: removes all DAG types (`Node`, `Edge`, `NodeRun`, `NodeType`, `NodeRunResult`), the engine executor stack (`engine/{executor,node_executors,node_runs,schema,template_loader}.rs`), the deprecated DAG RPCs, and all template JSON flows. - Schema becomes Python-only: `WorkflowVersion(python_source)` runs via the sandboxed python3 subprocess from Phase C3, with observability via `Span` push from Phase C2. - Closes the deletion side of the cutover; Phase E will seed the replacement Python flows. ## What was removed - Types: `Node`, `Edge`, `NodeRun`, `NodeType`, `NodeRunResult`, edge-routing - Engine: `engine/{executor,node_executors,node_runs,schema,template_loader}.rs` - RPCs: `workflow_save_from_json`, `workflow_validate`, `workflow_clone`, `workflow_migrate_legacy`, `play_retry`, `play_resume`, `node_logs`, `node_retry`, `node_run_start/_status/_logs` - Templates: all `templates/*.json` (will be replaced by seeded `@flow` Python files in Phase E) ## What was kept `workflow_create_version`, `workflow_set_current_version`, `workflow_version_list_for_workflow`, `workflow_version_fetch`, `play_start` (now Python-routing only), `play_cancel`, `play_status`, `play_run_async`, `play_wait`, `span_push`, `flow_library_search`, `example_*`, `benchmark_*`, `pick_version`. ## Diff size 24 files changed, 926 insertions(+), 7223 deletions(-). ## Test plan - [x] `cargo build --workspace` clean (only pre-existing dead-code warnings in `hero_logic_ui`) - [ ] Phase E PR will add the integration test (Python flow runs end-to-end against live router/aibroker) 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Remove all DAG types, executors, RPCs, and templates. Workflows are
now Python-only via `WorkflowVersion(python_source)` executed in a
sandboxed python3 subprocess; observability flows back via Span/play
tracing.

Removed:
- `Node`, `Edge`, `NodeRun`, `NodeType`, `NodeRunResult`, edge-routing
- `engine/{executor,node_executors,node_runs,schema,template_loader}.rs`
- DAG RPCs: workflow_save_from_json, workflow_validate, workflow_clone,
  workflow_migrate_legacy, play_retry, play_resume, node_logs, node_retry,
  node_run_start/_status/_logs
- All template JSON flows (replaced by seeded Python flows in 11-E)

Kept:
- workflow_create_version/_set_current_version/_version_list_for_workflow/
  _version_fetch, play_start (now Python-routing only), play_cancel,
  play_status, play_run_async, play_wait, span_push,
  flow_library_search, example_*, benchmark_*, pick_version

Workspace builds clean.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
mik-tf added this to the ACTIVE project 2026-05-06 17:32:05 +00:00
mik-tf merged commit 923d2147a5 into development 2026-05-06 17:32:58 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_logic!21
No description provided.