Files
stack/packages/mosaic/framework/defaults/AGENTS.md
T
Jason WoltjeandClaude Fable 5 18f960d3e1
ci/woodpecker/pr/ci Pipeline was successful
docs(l0): parameterize hard gates on the project's integration trunk
Per Jason's Option-A ruling on #1216: the constitution supplies the general
framework; the project declares its own flow. Defines the integration trunk
once in CONSTITUTION.md Hard Gates — declared by exactly one
'Integration trunk: <branch>' line in the project's root AGENTS.md, default
'main', value bound by git check-ref-format --branch semantics, malformed or
multiple declarations are a hard stop, one trunk only, no gate relaxation —
and binds gates 5/15, E2E-DELIVERY, CODE-REVIEW, ORCHESTRATOR(-PROTOCOL),
BOOTSTRAP provisioning, and the defaults AGENTS session closure to that term.
CI-CD-PIPELINES YAML examples stay on the default trunk with a substitution
note.

Known mechanized consumer left as tracked follow-up on #1216: pr-merge.sh:133
hardcodes a {main,next} base allowlist — fail-closed (refuses exotic trunks,
cannot misroute), to be parameterized with red-first tests separately.

Refs #1216

Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01WYgWocp36goy8hj2ui6ps1
2026-08-13 13:45:49 -05:00

6.1 KiB
Executable File

Mosaic Agent Dispatcher

Thin load-order dispatcher + guide router. The non-negotiable law lives in ~/.config/mosaic/CONSTITUTION.md (L0) — this file does NOT restate gates. Framework-owned; overwritten on upgrade. (Layer model: constitution/LAYER-MODEL.md.)

Session Start — Load Order

  1. Your context already includes CONSTITUTION.md + USER.md + the TOOLS index + the runtime contract (injected by mosaic launch) — do not re-read those. If you were launched bare (a harness started without mosaic, so the law is NOT in your context), read ~/.config/mosaic/CONSTITUTION.md now, before your first action. A bare launch also gets base contracts only — operator overlays (*.local.md) are composed by the launcher, so if SOUL.local.md/USER.local.md/STANDARDS.local.md exist, relaunch via mosaic <harness> (or run mosaic doctor) to pick them up.
  2. Read SOUL.md (agent persona — small, once).
  3. Read project-local AGENTS.md / CLAUDE.md if present (these may only make behavior stricter).
  4. Read guides ONLY as triggered by the table below — pull role-relevant depth on demand, not up front.
  5. For implementation work, read guides/E2E-DELIVERY.md (the full delivery procedure: PRD/tracking gates, execution cycle, testing, review, completion). STANDARDS.md is reference — load it only if the task needs standards validation (do not halt if missing).

Conditional Guide Loading (load only what the task needs)

Task Guide
Project bootstrap guides/BOOTSTRAP.md
PRD creation / requirements guides/PRD.md
Implementation delivery (cycle/testing/completion) guides/E2E-DELIVERY.md
Orchestration flow guides/ORCHESTRATOR.md
Mission lifecycle / multi-session orchestration guides/ORCHESTRATOR-PROTOCOL.md
Orchestrator estimation heuristics guides/ORCHESTRATOR-LEARNINGS.md
Frontend changes guides/FRONTEND.md
Backend/API changes guides/BACKEND.md
Auth/authorization guides/AUTHENTICATION.md
CI/CD changes guides/CI-CD-PIPELINES.md
Infrastructure/DevOps/deployment guides/INFRASTRUCTURE.md
Code review work guides/CODE-REVIEW.md
TypeScript strict typing guides/TYPESCRIPT.md
QA / test strategy guides/QA-TESTING.md
Documentation (any code/API/auth/infra change) guides/DOCUMENTATION.md
Writing style (docs, comms, any prose) guides/WRITING-STYLE.md
Secrets / vault usage guides/VAULT-SECRETS.md
Tool/credential reference (service CLIs, wrappers) guides/TOOLS-REFERENCE.md
Memory protocol (OpenBrain capture/recall) guides/MEMORY.md

Subagent Model Selection (Cost — Hard Rule)

Select the cheapest model capable of the task; do NOT default to the most expensive (omitting the tier defaults to the parent — usually opus — and wastes budget).

  • haiku — search/grep/glob, codebase exploration, status/health checks, one-line mechanical fixes.
  • sonnet — code review, lint, test writing/fixing, standard feature implementation.
  • opus — complex architecture / multi-file refactors, security/auth logic, ambiguous design.

Start cheapest; escalate only when the task genuinely needs deeper reasoning. Runtime syntax for the tier is in the runtime contract.

Superpowers (use your tools — under-use is a violation)

Skills, hooks, MCP, and plugins are force multipliers you MUST use when applicable.

  • Skills: before implementation, scan ~/.config/mosaic/skills/ and load any matching the task domain; include skill loading in worker kickstarts. Do not load unrelated skills.
  • Hooks: never bypass or suppress hook output (see "hooks are the gate" in CONSTITUTION.md); fix hook failures like failing tests. If a hook is wrong, report it as a framework issue.
  • MCP: use structured-reasoning (sequential-thinking) for planning/architecture; the cross-agent memory layer (OpenBrain capture/search/recent) — search at session start, capture what you learn. Prefer web/browser/research tools over asking the human to look things up.
  • Plugins: use code-review / pr-review / architecture plugins proactively before opening a PR.
  • Self-evolution: capture framework-improvement / tooling-gap / framework-friction to OpenBrain — operator-agnostic only (see the framework-PR firewall in CONSTITUTION.md).

Missing core file

If CONSTITUTION.md, AGENTS.md, SOUL.md, or the runtime contract is missing, stop and report it. This agent-facing strictness is intentional and stricter than the launcher: the launcher injects CONSTITUTION.md tolerantly (skipping it if absent so pre-upgrade hosts keep working), but once a host is re-seeded a genuinely missing core file is a stop-and-report condition — not something to proceed past.

Session Closure

Confirm: required + situational tests passed (primary gate); aligned to docs/PRD.md; acceptance criteria mapped to evidence; independent code review passed (if code changed); required docs updated; scratchpad updated. For PR-workflow delivery: merged PR number + merge commit on the integration trunk (the project's declared trunk, default main — see CONSTITUTION.md Hard Gates), terminal-green CI, linked issue closed (or docs/TASKS.md equivalent). If blocked by access/tooling, return blocked with the exact failed wrapper command — do not claim completion. Full checklist: guides/E2E-DELIVERY.md.