feat: Run a sequential approval DAG #313

Closed
opened 2026-07-13 19:46:09 +02:00 by dries · 0 comments
Owner

Parent

#311

What to build

Deliver the first production workflow slice: a user can submit a small JSON definition containing two sequential approval nodes, publish an immutable version, start a run, approve each node in order, and watch the persisted run complete in the UI.

Acceptance criteria

  • A JSON definition with identity, version metadata, two approval nodes, one dependency edge, and a positive concurrency cap can be validated and published.
  • Published workflow versions are immutable; an edit creates a new version.
  • Validation rejects duplicate/missing node references, cycles, malformed dependencies, and absent/non-positive concurrency.
  • A manual start creates a run pinned to the selected version.
  • Only the first approval becomes ready initially; approving it makes the second ready.
  • Approving the second transitions the run to success, with durable node and attempt history.
  • Restarting ocman preserves the definition, run, and waiting approval state.
  • REST creation, start, inspect, approval, pause, and cancel operations delegate to one workflow service.
  • SSE updates refresh a production read-only run view based on the approved prototype.
  • The workflow capability is platform-neutral and capability-gated.
  • The workflow-run test harness uses a real temporary state database and controllable clock.
  • Architecture documentation reflects the new workflow service and browser/backend flow.

Blocked by

## Parent #311 ## What to build Deliver the first production workflow slice: a user can submit a small JSON definition containing two sequential approval nodes, publish an immutable version, start a run, approve each node in order, and watch the persisted run complete in the UI. ## Acceptance criteria - [ ] A JSON definition with identity, version metadata, two approval nodes, one dependency edge, and a positive concurrency cap can be validated and published. - [ ] Published workflow versions are immutable; an edit creates a new version. - [ ] Validation rejects duplicate/missing node references, cycles, malformed dependencies, and absent/non-positive concurrency. - [ ] A manual start creates a run pinned to the selected version. - [ ] Only the first approval becomes ready initially; approving it makes the second ready. - [ ] Approving the second transitions the run to success, with durable node and attempt history. - [ ] Restarting ocman preserves the definition, run, and waiting approval state. - [ ] REST creation, start, inspect, approval, pause, and cancel operations delegate to one workflow service. - [ ] SSE updates refresh a production read-only run view based on the approved prototype. - [ ] The workflow capability is platform-neutral and capability-gated. - [ ] The workflow-run test harness uses a real temporary state database and controllable clock. - [ ] Architecture documentation reflects the new workflow service and browser/backend flow. ## Blocked by - #312
dries closed this issue 2026-07-16 00:56:08 +02:00
Sign in to join this conversation.
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
dries/ocman#313
No description provided.