Composable Workflow Orchestration

How /silver replaces fixed pipelines with dynamic workflow composition — classifying context, selecting from 18 flows, and supervising execution via the active per-instance tracker .planning/workflows/<id>.md.

What is Composable Workflow Orchestration?

Silver Bullet's composable workflow orchestration replaces fixed step-by-step pipelines with a catalog of 18 named workflow steps. When you invoke /silver, it classifies your context and dynamically composes a chain of steps appropriate to the work — no two compositions need be identical.

Each step is a discrete unit with a contract: prerequisites, trigger signals, steps, produced artifacts, review cycle, GSD state impact, and exit condition. Steps compose into chains. Chains execute under supervision.

Why composition instead of fixed pipelines? A feature composition includes PLAN, EXECUTE, VERIFY, REVIEW, SECURE, SHIP. A debug composition inserts DEBUG before EXECUTE. A release composition includes RELEASE but not EXECUTE. Fixed pipelines cannot express this variability cleanly — composable workflow orchestration can.

The 18 Workflow Steps

Every step has a number, a name, and a one-line description. The trigger column describes what causes /silver to include this step in a composition.

StepNameDescriptionTrigger
FLOW 0 BOOTSTRAP Initialize project, milestone, or resume prior session No .planning/ exists, prior milestone complete, or user says "new project"
FLOW 1 ORIENT Orient on codebase, project state, and current workflow position Always included for non-trivial work
FLOW 2 CLARIFY Clarify scope, assumptions, boundaries, and decision-ready handoff Fuzzy intent, unclear scope, or user uncertainty
FLOW 3 DECIDE Architecture, product, or technical decision artifact Architecture choice, stack selection, major tradeoff, API/data-model impact
FLOW 4 SPECIFY Produce SPEC.md and REQUIREMENTS.md via silver-spec No SPEC.md exists, spec refresh needed, or external artifacts to ingest
FLOW 5 PLAN Produce CONTEXT.md, RESEARCH.md, PLAN.md Always for every phase
FLOW 6 DESIGN CONTRACT Produce UI-SPEC.md via design system and UX skills Phase involves UI (keywords, file types, DESIGN.md presence)
FLOW 7 EXECUTE Wave-based parallel execution via gsd:execute-phase Always
FLOW 8 UI QUALITY Design critique, 6-pillar UI audit, accessibility review FLOW 6 was in composition, or SUMMARY.md contains UI file types
FLOW 9 REVIEW Layered code review: automated → peer → engineering → cross-AI Always for any composition with FLOW 7
FLOW 10 SECURE Security audit, validation, LLM safety checks Always — scope varies by project type
FLOW 11 VERIFY Non-skippable verification gate — gsd:verify-work Always — NON-SKIPPABLE
FLOW 12 QUALITY GATE Dual-mode: design-time checklist pre-plan + adversarial audit pre-ship Always — appears TWICE in every composition
FLOW 13 SHIP Create PR via gsd:ship Always
FLOW 14 DEBUG Systematic debugging, forensics, incident response Execution failure, CI red, verification failure — inserted dynamically
FLOW 15 DESIGN HANDOFF Produce design handoff package for milestone UI phases Milestone has UI phases AND in release flow — runs inside FLOW 17 only
FLOW 16 DOCUMENT Update docs/, session log, tech debt, milestone summary Always post-ship
FLOW 17 RELEASE Milestone audit, gap closure, GitHub Release creation User signals milestone complete, or last phase shipped

How Composition Works

When you invoke /silver, composition happens in four steps:

  1. Context classification/silver reads the request, current STATE.md position, and file context to determine workflow type (feature, bugfix, UI, devops, research, release, trivial).
  2. Step selection — Based on classification, /silver selects which of the 18 steps apply. Always-included steps (FLOW 7 EXECUTE, FLOW 11 VERIFY, FLOW 12 QUALITY GATE, FLOW 13 SHIP) are anchors. Context-dependent steps (FLOW 2 CLARIFY, FLOW 3 DECIDE, FLOW 6 DESIGN CONTRACT, FLOW 8 UI QUALITY, FLOW 14 DEBUG) are added based on signals.
  3. Chain ordering — Steps are ordered by their dependency graph. FLOW 0 before FLOW 1 before FLOW 5 before FLOW 7, etc. Dynamic insertions (e.g. FLOW 14 DEBUG on failure) are injected at the appropriate point in the running chain.
  4. Proposal/silver proposes the composed chain to the user, explaining which steps are included and why, before execution begins.
Example composition for a feature request: FLOW 1 (ORIENT) → FLOW 12 (QUALITY GATE, pre-plan) → FLOW 5 (PLAN) → FLOW 7 (EXECUTE) → FLOW 11 (VERIFY) → FLOW 9 (REVIEW) → FLOW 10 (SECURE) → FLOW 12 (QUALITY GATE, pre-ship) → FLOW 13 (SHIP) → FLOW 16 (DOCUMENT). FLOW 14 (DEBUG) is available to insert dynamically if FLOW 7 fails.

Per-instance Workflow Tracker

The active composition tracker lives at .planning/workflows/<id>.md. It is created when a composition begins and updated after every step completes.

What the workflow tracker contains

  • Active step — which workflow step is currently executing
  • Completed steps — log of steps that have exited successfully, with timestamps
  • Deferred improvements — items noted during execution that are not blocking but should be addressed later
  • Dynamic insertions — steps inserted at runtime (e.g. FLOW 14 DEBUG after a failure)
  • Composition plan — the full ordered chain proposed at composition time

Why the workflow tracker matters

The per-instance tracker gives both the user and the agent a shared, persistent view of what is happening. If a session is interrupted, .planning/workflows/<id>.md allows the next session to resume from the correct point in the chain without re-running completed steps. It also provides an audit trail for post-hoc review. The retired single-file WORKFLOW.md model is legacy only.

Supervision Loop

Each step in a composition runs under a supervision loop:

  1. Pre-step check — Prerequisites are verified before the step begins. If prerequisites are missing, the step is blocked and the user is notified.
  2. Step execution — The step's actions execute in order, with mandatory actions always running and as-needed actions gated on context signals.
  3. Exit verification — The step's exit condition is checked. If not met, the supervision loop either retries or inserts a corrective step (e.g. FLOW 14 DEBUG on execution failure).
  4. Stall detection — If a step makes no progress for a configured timeout, a stall sentinel is surfaced to break the loop.
  5. Progress reporting — On every tool use, the compliance status hook shows the current step and overall chain progress.
FLOW 11 VERIFY is NON-SKIPPABLE. The supervision loop cannot exit the chain before FLOW 11 completes. Even if the user requests to skip it, the enforcement hooks block any git commit or git push until verification has run and passed.

See Also