You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* feat(db): add migration and config for workflow composition (#54)
Add parent_execution_id, parent_step_name, and depth columns to
workflow_executions for workflow composition support. Add MaxWorkflowDepth
config with env var binding (default: 10).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat(engine): workflow/run connector for workflow composition (#54)
Add WorkflowConnector that implements connector.Connector to execute child
workflows with depth limiting, checkpoint recovery, and parent linkage.
Wire into engine via RegisterWorkflowConnector() in both CLI run and serve.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat(cli): recursive cancellation cascade for workflow composition (#54)
Replace single-execution cancellation with recursive CTE that cancels
the entire parent-child execution tree, including all nested step
executions.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat(cli): show child workflow details in logs and status (#54)
Add --shallow flag to logs command and recursive child execution display.
Status command now shows child execution tree under "Children:" heading.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* docs: document workflow/run connector for workflow composition (#54)
Add workflow/run section to connector reference with params, output format,
CEL access patterns, depth limiting, checkpoint recovery, and examples.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* test: integration tests for workflow composition (#54)
Add tests for workflow/run connector: basic invocation with child output
wrapping, depth limit enforcement, checkpoint recovery (reuse existing child),
and unit tests for depth checking and output wrapping logic.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: lint, transactional cancel, execution tree, cancellation check (PR review)
- Remove unused applyWorkflowVersioned function and dead imports
- Wrap cancel command in transaction, check both ExecContext errors, emit audit events
- Replace direct-children query with recursive CTE for full execution tree with depth
- Add per-step cancellation check in resumeExecution to respect external cancels
- Guard updateExecutionStatus against overwriting cancelled status
- Add --max-workflow-depth CLI flag for consistency
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: preorder tree display, audit before commit, deeper cancellation checks (PR review)
- status.go: Use text path in recursive CTE for correct preorder traversal
- cancel.go: Emit audit events inside transaction via EmitTx before commit
- engine.go: Check cancellation status before each retry attempt
- engine.go: Guard updateStep against overwriting cancelled status
- workflow_connector_test.go: Assert specific depth error substring
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: safe assertions, tx-consistent reads, atomic status update, team scoping (PR review)
- Safe type assertion on execution_id in workflow connector test
- Use tx instead of database for existence check in cancel command
- Add team_id filter to cancellation check in retry loop
- Replace SELECT-then-UPDATE with atomic UPDATE in updateExecutionStatus
- Set team context for depth limit test to match DB insert
- Clean up verbose depth-check comments
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: cancel.go CTE dedup, ErrNoRows distinction, step audit events; test assertion upgrade
- Extract repeated WITH RECURSIVE children CTE into childrenCTE constant
- Distinguish sql.ErrNoRows from other DB errors in zero-update path
- Collect cancelled step IDs via RETURNING and emit audit events for each
- Replace t.Logf with t.Fatalf in depth-limit test so regressions fail the test
Co-authored-by: Michael McNees <michaelmcnees@users.noreply.github.com>
* fix: propagate DB errors in cancellation checks, remove unimplemented token_budget
- engine.go: don't silently ignore DB errors in cancellation status checks;
distinguish sql.ErrNoRows from other errors and return them instead of
silently proceeding with unknown cancellation state
- workflow_connector.go: remove token_budget from docstring (not implemented)
- connectors.md: remove undocumented token_budget param row; add 'cel'
language specifier to CEL path code fence
Co-authored-by: Michael McNees <michaelmcnees@users.noreply.github.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Michael McNees <michaelmcnees@users.noreply.github.com>
0 commit comments