ultra-orchestrator-legacy
Legacy compatibility entry point for the original Ultra Orchestrator flow. Use only when you need the older lightweight stage-based orchestration behavior without the new strict OpenSpec-first control plane.
What it does
Ultra Orchestrator Legacy
This is the legacy compatibility entry point. New runs should use
$ultra-orchestrator, which now points to the strict mainline protocol.
Drive the run as a control plane, not as a generic helper.
Run the workflow
Execute stages in this exact order:
- Intake
- Plan
- Dispatch
- Execute
- Review
- QA
- Deliver
- Retro
Treat this as a state machine, not a one-way waterfall.
Use these feedback loops when needed:
Review -> Executewhen the result fails spec or engineering reviewQA -> Executewhen implementation is locally wrong but the plan still standsQA -> Planwhen QA reveals an architecture or requirement mistake
Do not skip a stage unless the task is trivially small. If you skip, state why in the orchestration log.
Produce mandatory artifacts
Every run must produce these top-level outputs:
final_deliverableorchestration_logvetter_report
Use the canonical field shapes in references/contracts.md.
Use supporting skills
Invoke these sibling skills by phase:
$clarify-and-intakefor intake normalization$decision-complete-plannerfor task graph creation$dispatch-and-trackfor work package assignment and ledger updates$spec-reviewbefore implementation when scope or interfaces are non-trivial$code-reviewafter implementation and before integration$qa-verifywhen behavior changed or user flows matter$deliver-and-retroto assemble final outputs$risk-vetterbefore new tools, skills, or high-impact actions$safety-guardwhen commands or write scope look risky$autoplanwhen the user wants a fast planning pipeline without manual phase handoffs
Enforce role boundaries
Keep one active role per phase:
- Intake Lead
- Planner
- Architect/Eng Reviewer
- Worker
- Reviewer
- QA
- Integrator
Do not let the Planner perform broad implementation. Do not let the Integrator silently redo delegated work. Do not accept Reviewer approval when acceptance checks were undefined.
Dispatch rules
- Parallelize only independent work packages.
- Only dispatch in parallel when dependencies are satisfied and
owned_pathsare disjoint. - Treat overlapping
owned_pathsas write-lock conflicts and serialize them. - Allow one constrained retry for transient failures.
- Escalate hard blockers with summary, evidence, and suggested next step.
When in doubt, prefer serial execution over unsafe parallelism.
Review rules
Run two gates:
- Specification consistency
- Engineering quality
Use the compact multi-lens checklist in references/review-lenses.md.
Do not integrate conclusions that lack evidence.
Ledger ownership
Treat ExecutionLedger as a control-plane artifact owned by the host orchestration layer.
- Let LLMs produce structured artifacts and status intent.
- Let scripts or the outer state machine update ledger fields precisely.
- Do not ask an LLM to rewrite a large ledger JSON blob from scratch in a long conversation.
Context firewall
Default to artifact-driven handoff.
- Pass
TaskManifest,WorkPackage,AgentResult, and narrow file pointers. - Do not pass full upstream chat history to downstream roles unless it is truly necessary.
- Keep context on a need-to-know basis to reduce token pollution and inherited mistakes.
Safety rules
Before using external tools, unknown skills, destructive commands, or broad write scopes:
- Run
$risk-vetter - Apply
$safety-guardif needed - Record the decision in
vetter_report
Use these policy thresholds:
LOW: allowMEDIUM: allow with guardrailsHIGH: require explicit approvalEXTREME: block unless the user clearly approves
Use scripts when helpful
- Run
scripts/new_run.pyto scaffold a run ledger and output shell. - Run
scripts/validate_run.pyto validate a completed run artifact.
Keep context compact
Load detailed references only when needed:
references/contracts.mdfor canonical shapesreferences/workflow.mdfor stage-by-stage guidancereferences/review-lenses.mdfor review criteriareferences/examples.mdfor example run artifacts
Slice-driven execution
When the repository uses OpenSpec changes, treat change and slice as different layers:
changeis the specification and progress ledger unitsliceis the implementation, verification, and commit unit
Default execution stack:
ProgramMilestoneChangeSlice
Do not report day-to-day engineering progress only at milestone granularity when a slice-level view is available.
Required slice status discipline
Use this canonical slice status vocabulary:
slice_0_not_openedslice_0_spec_readyslice_1_completedslice_2_in_progressslice_3_qa_pendingslice_4_done
For every active change, Ultra should know:
- current slice status
- next intended slice
- owned paths for the current slice
- required verification gate before advancing slice status
Ledger synchronization rule
After each completed implementation slice:
- update the OpenSpec-side change status intent
- update roadmap or current-status tally if counts changed
- record the verification result that justifies the new slice status
Do not leave slice status advanced in code or conversation only. The ledger must match the implementation state.
Single-change trial mode
When validating workflow speed or skill quality, prefer a single-change trial:
- open or select one change
- set
slice_0_spec_ready - implement exactly one bounded slice
- run the minimum meaningful verification
- record friction, speed, and repeatability notes
Use this mode to calibrate whether a change is too broad, whether owned paths are too wide, or whether orchestration overhead is too high.
Batch-opening guidance
When many changes remain unopened, Ultra should prefer:
- opening only the next highest-value changes needed for the current execution wave
- assigning slice status at creation time
- avoiding a backlog of ambiguous change folders with no slice state
Open many changes in one pass only when the user explicitly wants backlog initialization or ledger normalization.
Capabilities
Install
Quality
deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 6 github stars · SKILL.md body (6,354 chars)