Skip to content

feat(sub-workflow): hierarchical workflow composition via SubWorkflowNode#65

Merged
alxsuv merged 3 commits into
mainfrom
feat/64-sub-workflow-dsl
Apr 18, 2026
Merged

feat(sub-workflow): hierarchical workflow composition via SubWorkflowNode#65
alxsuv merged 3 commits into
mainfrom
feat/64-sub-workflow-dsl

Conversation

@alxsuv

@alxsuv alxsuv commented Apr 18, 2026

Copy link
Copy Markdown
Member

Introduces the Sub-workflow implementation, enabling nested workflow execution with tenant-aware propagation and push-time graph validation.

Core & Execution:

  • Added SubWorkflowNodeExecutor with a MAX_DEPTH = 16 safety cap.
  • Implemented SubWorkflowGraphValidator for cycle detection and dangling reference checks (single-pass DFS).
  • Added _tenant_id and context propagation for nested execution.

DSL & CLI:

  • Introduced subWorkflow(id) { } builder with imports() and writes() mappings.
  • Added --with flags on run, validate, and visualize for local sub-workflow seeding; build does not accept --with — sub-workflows push independently.

Server & Persistence:

  • Added WorkflowPushLock using pg_advisory_xact_lock for cluster-wide concurrency control during workflow updates.
  • Integrated push-time validation in WorkflowRegistryService.
  • Refactored server services into specialized domain modules (Registry, Execution, Query, State).

Includes a comprehensive update to all module READMEs and developer guides to reflect the new architecture and package structures.

Resolve: #64

…Node

Introduces the Sub-workflow implementation, enabling nested workflow execution with tenant-aware propagation and push-time graph validation.

Core & Execution:
- Added SubWorkflowNodeExecutor with a MAX_DEPTH = 16 safety cap.
- Implemented SubWorkflowGraphValidator for cycle detection and dangling reference checks (single-pass DFS).
- Added _tenant_id and context propagation for nested execution.

DSL & CLI:
- Introduced subWorkflow(id) { } builder with imports() and writes() mappings.
- Added --with flags on run, validate, and visualize for local sub-workflow seeding; build does not accept --with — sub-workflows push independently.

Server & Persistence:
- Added WorkflowPushLock using pg_advisory_xact_lock for cluster-wide concurrency control during workflow updates.
- Integrated push-time validation in WorkflowRegistryService.
- Refactored server services into specialized domain modules (Registry, Execution, Query, State).

Includes a comprehensive update to all module READMEs and developer guides to reflect the new architecture and package structures.

Resolve: #64
Signed-off-by: Aleksandr Suvorov <asuvorov@hensu.io>
alxsuv and others added 2 commits April 19, 2026 02:09
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Signed-off-by: Aleksandr Suvorov <hi.alexsuv@gmail.com>
Resolve: #64
Signed-off-by: Aleksandr Suvorov <asuvorov@hensu.io>
@alxsuv alxsuv merged commit 34dfdbe into main Apr 18, 2026
7 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.

[Feature] Expose subWorkflow { } builder in Kotlin DSL and wire sub-workflow resolution in the CLI runtime

2 participants