Skip to content

prototype: declarative runtime-compiled workflows - #317

Merged
eshulman2 merged 3 commits into
forge-sdlc:mainfrom
eshulman2:prototype/declarative-workflows
Aug 27, 2026
Merged

prototype: declarative runtime-compiled workflows#317
eshulman2 merged 3 commits into
forge-sdlc:mainfrom
eshulman2:prototype/declarative-workflows

Conversation

@eshulman2

Copy link
Copy Markdown
Collaborator

Summary

  • add a strict YAML/JSON format for composing allowlisted Forge nodes and state profiles
  • store canonical workflow definitions in Jira project properties and select them with forge:workflow:<name> labels
  • compile definitions into LangGraph graphs at runtime with topology, cycle, size, and transition safeguards
  • support revision-aware checkpoint adoption and explicit resume-node mappings
  • add workflow validate/publish/show/list/delete CLI commands and documentation

Prototype boundaries

  • existing Python-built workflows remain the fallback
  • arbitrary imports, custom Python, expressions, and external resources are not supported
  • only registered Forge nodes and routers are available
  • project administrators author definitions through Jira permissions; issue editors select them by label

Verification

  • uv run ruff check src tests/unit/workflow/test_declarative_workflows.py
  • uv run pytest -q tests/unit/workflow/test_declarative_workflows.py tests/unit/orchestrator/test_worker.py tests/unit/test_cli_config.py (117 passed)
  • uv run pytest -q tests/unit (2217 passed before rebasing; focused suite rerun after updating main)
  • uv run zensical build

Follow-up

A local test pass with a disposable Jira project and Redis checkpoint store is planned before this leaves draft.

@eshulman2

Copy link
Copy Markdown
Collaborator Author

Stacked follow-up for layered planning state: eshulman2#6

@eshulman2

Copy link
Copy Markdown
Collaborator Author

The layered-planning follow-up is now stacked in this repository as #318. The earlier fork-only PR has been closed.

@eshulman2
eshulman2 changed the base branch from main to integration/dev-to-main August 27, 2026 11:02
@eshulman2
eshulman2 force-pushed the integration/dev-to-main branch from 28cbc3b to 123f58f Compare August 27, 2026 12:37
@eshulman2
eshulman2 force-pushed the prototype/declarative-workflows branch from 3815604 to 1dd2028 Compare August 27, 2026 12:37
@eshulman2
eshulman2 force-pushed the prototype/declarative-workflows branch from 1dd2028 to 74c0ebf Compare August 27, 2026 12:51
@eshulman2
eshulman2 changed the base branch from integration/dev-to-main to main August 27, 2026 16:17
@eshulman2
eshulman2 marked this pull request as ready for review August 27, 2026 16:17
@eshulman2
eshulman2 merged commit c58fad3 into forge-sdlc:main Aug 27, 2026
8 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.

1 participant