Repository navigation
Visual Workflow Composer: design multi-stage workflows on a canvas and compile them into Squads #9102
mostafashokiel
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Summary
Add a workflow definition concept to Multica: a versioned, structured description of a multi-stage process (agent stages, human approval gates, conditions, rework loops). Teams draw it on a drag-and-drop canvas, and Multica compiles it into the primitives it already has: a Squad with a leader, generated leader instructions, a workflow skill, and stage labels. The same definition then drives a stage view of issues and, optionally, gate checks.
We're building a companion prototype for our own SDLC and would like to align with maintainers early, so that whatever we build can be contributed upstream in the shape you'd want.
Problem
Squads are a great routing primitive. When teams use them for multi-stage processes with human sign-off (requirements → stories → architecture review → build → QA → release), we run into four gaps:
phase:*labels, as in the community multica-workflow skill). Nobody can see at a glance where items wait or for how long.Proposal
1. Workflow definition (data, not prose)
A small declarative schema, stored and versioned per workspace (or as YAML in Git):
Stage types:
agent,human_gate,condition(a small expression language over labels, no arbitrary code),fan_out/join(one run per sub-issue, then roll up the parent),end.Validation: unique ids, every stage reachable, an end reachable from every stage, every cycle bounded by a gate with
max_rework, every gate has approvers, referenced agents and skills exist.2. Visual composer
A canvas in the web app (React Flow / xyflow fits the existing Next.js frontend):
3. Compile to existing primitives
"Apply" turns a definition into objects Multica already understands:
phase:<stage>,gate:<gate>-approved/-rejectedApply should behave like plan/apply:
4. Stage view
A board per workflow:
escalate_after_hours.This is the view teams currently can't get from fixed statuses.
5. Deterministic gate checks (optional, later)
A server-side check, not an agent, that:
/approve <gate-id>,/reject <gate-id> <reason>) only from that gate's approvers, then sets the gate label.end. As far as we can tell, parents don't currently change status automatically when children finish.The leader agent still does the routing. The check makes sure the routing followed the definition.
Suggested phasing
multica workflow validate/plan/apply)Phases 1–3 add value without changing the core model. Phase 4 is where we'd most want maintainer guidance.
Alternatives considered
phase:*convention.Open questions for maintainers
multica-ai/*repo?What we can contribute
We're prototyping phases 1–3 as a companion tool against a self-hosted instance, with the schema, validator, compiler (plan/apply/drift), designer and stage dashboard. We're happy to:
Feedback on the overall direction would help us build this in a way that can be merged rather than forked.
All reactions