MUX Spec Orchestrator - pi adaptation (pimux runtime)
Use this skill to execute explicit spec stages through pimux while preserving mux-ospec semantics.
Binding activation
If the user explicitly invokes mux-ospec / ac-workflow-mux-ospec, or embeds this skill text as the runtime for the task, treat this document as a binding runtime contract, not as optional guidance, commentary, or a planning reference.
Absolute compliance rule
For explicit mux-ospec requests in pi, the current session is a pimux-only cross-stage orchestrator.
- FIRST after spawn: do not poll pimux or use Bash sleep/wait loops; wait for delivered child bridge activity.
- The authoritative
pimux extension applies a fail-closed parent control-plane lock for explicit mux-ospec execution.
- Before the first child exists, the parent must not call
Read, Bash, Edit, Write, NotebookEdit, Grep, Glob, web_search, subagent, or any other non-pimux tool for substantive repo work.
- Do not execute substantive stage work directly in the parent.
- Do not read, grep, or inspect repo files in the parent to figure out implementation details.
- The first real move is to spawn the authoritative stage-owning
pimux child.
- The first observable parent tool call must be
pimux spawn.
- If the parent does substantive inspection before spawn, stop, acknowledge protocol violation, discard parent-side conclusions, and restart from
pimux spawn.
Parent tool surface
While this skill is active, the parent is runtime-locked to pimux, AskUserQuestion, and say only:
- before first child:
pimux spawn only
AskUserQuestion is allowed only when the user has not provided an explicit spec path or inline prompt, or when a later required user gate is reached
- after spawn: notify-first, not poll-first; wait for delivered child bridge activity instead of inspecting live state
- do not poll pimux or use Bash sleep/wait loops; if you are about to inspect routine progress, stop and wait for delivered child activity instead
- happy path after spawn forbids
status, capture, tree, list, and open; those are recovery-only tools for explicit live inspection, suspected stall/protocol violation/failure, or the inactivity watchdog
- after a child progress report arrives, use at most one
send_message when the child needs input; then wait for closeout or another child report
say is allowed only for short user-attention prompts
Locked stage model
- no-spec invocation starts at Stage
000 CREATE
- then execute explicit named stages by modifier (below)
- exactly one direct stage-owning
pimux child at a time
- explicit spec paths pass through unchanged; if the canonical target is missing, the authoritative
pimux runtime creates it before spawn
- when the user provides an inline prompt without a spec path, the authoritative
pimux runtime auto-derives and creates the next current-branch spec path by following recent current-branch spec-path patterns and the spec-skill convention .specs/specs/<YYYY>/<MM>/<branch>/<NNN>-<title>.md
- use
AskUserQuestion only when the user provided neither a spec path nor an inline prompt
- invalid spec path must route to
BLOCK
Workflow by modifier (authoritative)
GATHER is the mux-ospec name for RESEARCH.
full: CREATE (optional) -> GATHER -> CONSOLIDATE -> SUCCESS_CRITERIA -> CONFIRM_SC -> PLAN -> IMPLEMENT -> REVIEW -> FIX -> TEST -> DOCUMENT -> SENTINEL
lean: CREATE (optional) -> CONFIRM_SC -> PLAN -> IMPLEMENT -> REVIEW -> FIX -> TEST -> DOCUMENT -> SELF_VALIDATION
leanest: CREATE (optional) -> CONFIRM_SC -> PLAN -> IMPLEMENT -> REVIEW -> FIX -> TEST -> SELF_VALIDATION
Gate and pacing rules
SUCCESS_CRITERIA content is required before CONFIRM_SC
CONFIRM_SC is a mandatory user gate before PLAN
- only
PASS advances through REVIEW, TEST, SENTINEL, and SELF_VALIDATION
WARN/FAIL route to FIX; retry exhaustion escalates to user
- child bridge notifications are delivered automatically; default pacing is notify-first
- do not poll pimux or use Bash sleep/wait loops; if you are about to inspect routine progress, stop and wait for delivered child activity instead
- after spawn, do not call
status, capture, tree, list, or open on the happy path
- terminal settlement re-arms exactly one final
pimux status verification before advancing
- optional watchdog is inactivity-only and concise
- default blocked/stuck behavior escalates to user unless explicit override exists
Stage commit contract (mandatory)
Every authoritative stage child MUST commit all changed repos.
Signal/report metadata must include:
repo_scope: spec-only | root-only | root+spec
root_commit: short hash or N/A
spec_commit: short hash or N/A
When both repos changed, commit root first, then commit spec through the resolver.
Child stage contract
Each authoritative stage-owning pimux child must:
- read
../../assets/agents/spec/ stage references needed for that stage
- read
../../assets/mux/protocol/foundation.md and ../../assets/mux/protocol/subagent.md
- read
../../extensions/pimux/docs/patterns.md
- execute only assigned stage scope
- preserve evidence-gated reporting with repo-scoped commit metadata
- use
pimux report_parent exactly once for terminal settlement
- for same-session parent input needed before continuing, use
report_parent(progress, requiresResponse=true); question is terminal waiting-on-parent settlement
- exit promptly after terminal report
Local helpers under the stage child are data-plane only and must not call pimux / report_parent.
Completion
A stage is complete only after terminal report + child exit.
Cross-stage parent advances only after verifying settlement via pimux status.
1---2name: ac-workflow-mux-ospec3description: pi-adapted mux spec orchestrator. Uses pimux as the authoritative stage runtime while preserving mux-ospec semantics.4---56# MUX Spec Orchestrator - pi adaptation (pimux runtime)78Use this skill to execute explicit spec stages through `pimux` while preserving mux-ospec semantics.910## Binding activation1112If the user explicitly invokes `mux-ospec` / `ac-workflow-mux-ospec`, or embeds this skill text as the runtime for the task, treat this document as a binding runtime contract, not as optional guidance, commentary, or a planning reference.1314## Absolute compliance rule1516For explicit `mux-ospec` requests in pi, the current session is a `pimux`-only cross-stage orchestrator.1718- FIRST after spawn: do not poll pimux or use Bash sleep/wait loops; wait for delivered child bridge activity.19- The authoritative `pimux` extension applies a fail-closed parent control-plane lock for explicit `mux-ospec` execution.20- Before the first child exists, the parent must not call `Read`, `Bash`, `Edit`, `Write`, `NotebookEdit`, `Grep`, `Glob`, `web_search`, `subagent`, or any other non-`pimux` tool for substantive repo work.21- Do not execute substantive stage work directly in the parent.22- Do not read, grep, or inspect repo files in the parent to figure out implementation details.23- The first real move is to spawn the authoritative stage-owning `pimux` child.24- The first observable parent tool call must be `pimux spawn`.25- If the parent does substantive inspection before spawn, stop, acknowledge protocol violation, discard parent-side conclusions, and restart from `pimux spawn`.2627## Parent tool surface2829While this skill is active, the parent is runtime-locked to `pimux`, `AskUserQuestion`, and `say` only:3031- before first child: `pimux spawn` only32- `AskUserQuestion` is allowed only when the user has not provided an explicit spec path or inline prompt, or when a later required user gate is reached33- after spawn: notify-first, not poll-first; wait for delivered child bridge activity instead of inspecting live state34- do not poll pimux or use Bash sleep/wait loops; if you are about to inspect routine progress, stop and wait for delivered child activity instead35- happy path after spawn forbids `status`, `capture`, `tree`, `list`, and `open`; those are recovery-only tools for explicit live inspection, suspected stall/protocol violation/failure, or the inactivity watchdog36- after a child progress report arrives, use at most one `send_message` when the child needs input; then wait for closeout or another child report37- `say` is allowed only for short user-attention prompts3839## Locked stage model4041- no-spec invocation starts at Stage `000 CREATE`42- then execute explicit named stages by modifier (below)43- exactly one direct stage-owning `pimux` child at a time44- explicit spec paths pass through unchanged; if the canonical target is missing, the authoritative `pimux` runtime creates it before spawn45- when the user provides an inline prompt without a spec path, the authoritative `pimux` runtime auto-derives and creates the next current-branch spec path by following recent current-branch spec-path patterns and the spec-skill convention `.specs/specs/<YYYY>/<MM>/<branch>/<NNN>-<title>.md`46- use `AskUserQuestion` only when the user provided neither a spec path nor an inline prompt47- invalid spec path must route to `BLOCK`4849## Workflow by modifier (authoritative)5051`GATHER` is the mux-ospec name for `RESEARCH`.5253- `full`: `CREATE (optional) -> GATHER -> CONSOLIDATE -> SUCCESS_CRITERIA -> CONFIRM_SC -> PLAN -> IMPLEMENT -> REVIEW -> FIX -> TEST -> DOCUMENT -> SENTINEL`54- `lean`: `CREATE (optional) -> CONFIRM_SC -> PLAN -> IMPLEMENT -> REVIEW -> FIX -> TEST -> DOCUMENT -> SELF_VALIDATION`55- `leanest`: `CREATE (optional) -> CONFIRM_SC -> PLAN -> IMPLEMENT -> REVIEW -> FIX -> TEST -> SELF_VALIDATION`5657## Gate and pacing rules5859- `SUCCESS_CRITERIA` content is required before `CONFIRM_SC`60- `CONFIRM_SC` is a mandatory user gate before `PLAN`61- only `PASS` advances through `REVIEW`, `TEST`, `SENTINEL`, and `SELF_VALIDATION`62- `WARN`/`FAIL` route to `FIX`; retry exhaustion escalates to user63- child bridge notifications are delivered automatically; default pacing is notify-first64- do not poll pimux or use Bash sleep/wait loops; if you are about to inspect routine progress, stop and wait for delivered child activity instead65- after spawn, do not call `status`, `capture`, `tree`, `list`, or `open` on the happy path66- terminal settlement re-arms exactly one final `pimux status` verification before advancing67- optional watchdog is inactivity-only and concise68- default blocked/stuck behavior escalates to user unless explicit override exists6970## Stage commit contract (mandatory)7172Every authoritative stage child MUST commit all changed repos.7374Signal/report metadata must include:7576- `repo_scope`: `spec-only` | `root-only` | `root+spec`77- `root_commit`: short hash or `N/A`78- `spec_commit`: short hash or `N/A`7980When both repos changed, commit root first, then commit spec through the resolver.8182## Child stage contract8384Each authoritative stage-owning `pimux` child must:8586- read `../../assets/agents/spec/` stage references needed for that stage87- read `../../assets/mux/protocol/foundation.md` and `../../assets/mux/protocol/subagent.md`88- read `../../extensions/pimux/docs/patterns.md`89- execute only assigned stage scope90- preserve evidence-gated reporting with repo-scoped commit metadata91- use `pimux report_parent` exactly once for terminal settlement92- for same-session parent input needed before continuing, use `report_parent(progress, requiresResponse=true)`; `question` is terminal waiting-on-parent settlement93- exit promptly after terminal report9495Local helpers under the stage child are data-plane only and must not call `pimux` / `report_parent`.9697## Completion9899A stage is complete only after terminal report + child exit.100Cross-stage parent advances only after verifying settlement via `pimux status`.