aif-orchestrator-discipline (skill-context override)
Worker discipline for aif-dispatched agents — REPORT format, park-vs-proceed contract, stage-gate verification, plus condensed orchestrator-planning (launch-table, Mode A/B) and reviewer-discipline (GO/REVISE/STOP, DECISION-NEEDED) layers.
aif-orchestrator-discipline (skill-context override)
Status: shipped-beta (AIF-native skill-context override) · Ships to: npm lane — copied into the consumer's .ai-factory/skill-context/aif-orchestrator-discipline/SKILL.md · Fires at: mandatory-read by AIF's own background sidecars when dispatched into this project
Covers census rows C21 and E15 — the same file rows in both families.
What it is
Skill-context override at packages/core/templates/shared/skill-context/aif-orchestrator-discipline/SKILL.md (frontmatter name: aif-orchestrator-discipline). It is the condensed portable subset of orchestrator-worker discipline for agents dispatched into a project via runtime-bridge/dispatch.ts: "the conventions below are required — they are not optional style preferences" (…/aif-orchestrator-discipline/SKILL.md:13-14). The FULL operator-side orchestrator workflow does NOT travel into the container — quota zones, queue-mode anti-collusion and the Phase -1 dual-reviewer stay in the orchestrator skill, cross-umbrella priority/plan-currency in the pipeline skill; only this subset ships (…/aif-orchestrator-discipline/SKILL.md:8).
How it works
- Delivery mechanism. setup.d/20-agents.sh §3c: skill-context overrides are the AIF-native "extend a vendored sub-agent" mechanism (C-1, SSOT #50) — "AIF's own background sidecars MANDATORY-read .ai-factory/skill-context//SKILL.md", verified live with a background maxTurns:6 sidecar (
setup.d/20-agents.sh:55-57). The copy is made by the SHIPPED_DOCS-derived loop (setup.d/20-agents.sh:74). - Factory-profile gate. aif-orchestrator-discipline pairs with the gated orchestrator-worker-discipline agent (F7 companion split): copied only under
--profile factory(or the legacy--with-aif-suiteescape), or when a copy is already present (= prior opt-in) (setup.d/20-agents.sh:70-72). - Worker layer. REPORT schema mandatory on task completion — Status DONE|BLOCKED|PARTIAL, Deliverable, Evidence (file:line or gh pr URL), BLOCKER, MINOR; "No REPORT = orchestrator cannot verify your work" (
…/aif-orchestrator-discipline/SKILL.md:27). Park-vs-proceed: on a genuine fork do not pick — run the park CLI, stop the task, proceed on unambiguous parts only (…/aif-orchestrator-discipline/SKILL.md:42). Stage-gate check: verify the prior stage's PR is actually merged before starting Stage N+1 (…/aif-orchestrator-discipline/SKILL.md:52). - Planner + reviewer layers (applied when the kickoff asks for planning or review). Orchestrator-planning: launch-table per sub-wave, Mode A inline vs Mode B parallel-worktree, stage-gate before Stage N+1 (
…/aif-orchestrator-discipline/SKILL.md:62,:75). Reviewer-discipline: exactly one of GO / REVISE / STOP, and the DECISION-NEEDED pattern — never pick project strategy (…/aif-orchestrator-discipline/SKILL.md:92,:97,:103).
Satellites & companions
- ADAPTS:
agents/orchestrator-worker-discipline.md— this file carries<!-- spec: agents/orchestrator-worker-discipline.md -->and@dual-pair: aif-orchestrator-discipline(…/aif-orchestrator-discipline/SKILL.md:10-11); the full agent stays operator-side/gated, the condensed subset travels. - PEER: the other two skill-context overrides (aif-review C22/E16, aif-rules-check C23/E17) ride the same §3c copy loop and mandatory-read wiring.
- Census satellite: B7.
Anchors
packages/core/templates/shared/skill-context/aif-orchestrator-discipline/SKILL.md:2—name: aif-orchestrator-disciplinepackages/core/templates/shared/skill-context/aif-orchestrator-discipline/SKILL.md:7—> **Authoritative for:** orchestrator-worker discipline for aif-dispatched agents — REPORT format, park-vs-proceed contract, stage-gate verification …packages/core/templates/shared/skill-context/aif-orchestrator-discipline/SKILL.md:10—<!-- @dual-pair: aif-orchestrator-discipline -->packages/core/templates/shared/skill-context/aif-orchestrator-discipline/SKILL.md:16—## When to read thispackages/core/templates/shared/skill-context/aif-orchestrator-discipline/SKILL.md:27—## REPORT schema (mandatory on task completion)packages/core/templates/shared/skill-context/aif-orchestrator-discipline/SKILL.md:42—## Park-vs-proceed contractpackages/core/templates/shared/skill-context/aif-orchestrator-discipline/SKILL.md:52—## Stage-gate checkpackages/core/templates/shared/skill-context/aif-orchestrator-discipline/SKILL.md:62—## Orchestrator-planning layer (when your kickoff asks you to plan a multi-stage task)packages/core/templates/shared/skill-context/aif-orchestrator-discipline/SKILL.md:92—## Reviewer-discipline layer (when your kickoff asks you to review a result)setup.d/20-agents.sh:55—# skill-context overrides — AIF-native "extend a vendored sub-agent" mechanism (C-1, SSOT #50).setup.d/20-agents.sh:56—# AIF's own background sidecars MANDATORY-read .ai-factory/skill-context/<skill>/SKILL.mdsetup.d/20-agents.sh:70—if [ "$_sc" = "aif-orchestrator-discipline" ] && [ "${PROFILE:-core}" != "factory" ] \
All anchors at framework pin b069c59328aa8e08671d3a19fd25efa618dfc1c5 (fetched 2026-09-11 from artyhoo/getff staging; ancestry of census pin a1337cb301 verified).
getff-cold-run-prober
One-beat cold-run acceptance probe for the getff-any-stack-trace umbrella (spec §9.3) — hands a fresh subagent only a consumer project path and verifies the framework's shipped docs suffice to reach a firing stack-specific rule.
aif-review (skill-context override)
Anti-tautology two-AI review conventions injected into AI Factory's aif-review skill and its background review-sidecar — the test-quality checks this project adds over AIF's generic review.