Add a capability tier orthogonal to phase. `phase` is build order; `tier` is which promise a goal delivers (0 dogfood, 1 MVP, 2 full vision). - AC-NS-0: a tier-0 exit test that can fail. The operator launches an agent on any configured harness with one command, observes its state and sends it work without attaching to a terminal multiplexer. - `tier` on every goal and success criterion. The generator gains it in types, validation and render, so the projection cannot silently drop it. - NS-10: an adoption is not complete until the mechanism it replaces is removed. - Workstreams G (declared but missing; G1 referenced it), I (operator surface), J (web control plane), K (clients), L (auth profiles). - Goals A5 and I1-I9 seeded at tier 0, dependency ordered. - docs/fleet/north-star.md renamed FLEET-DOCTRINE.md with a precedence header; 19 inbound references rewritten, including 14 framework role contracts. The old name sat one character from NORTH_STAR.md. - docs/TASKS.md, docs/federation/TASKS.md and docs/fleet/TASKS.md carry superseded headers. docs/native-kanban-sot/TASKS.md is corrected instead: it advertised a blocker that was not real. - Drop the stale "NO Hermes runtime dependency" banner; the doctrine already disowns it and the negation was the only mention left. Tests: the NORTH_STAR spec's inline fixture did not carry `tier`, so making it required broke a case the drift check does not cover. Fixture updated. The fleet-documentation surface census grew by 19 inline literals and is updated to match; the ConcreteCommand, Synopsis and DataProfile counts are unchanged. Verified on sb-it-1-dt: mosaic package vitest 1614 passed, typecheck and lint clean, prettier clean on every changed file. Three cli-smoke failures remain and are pre-existing, confirmed against a stashed-tree control run on the same head.
2.0 KiB
Enhancer — fleet role definition
The enhancer is one half of the fleet's two-agent floor: every fleet runs, at minimum, an orchestrator and an enhancer. The orchestrator drives delivery; the enhancer makes the fleet get better at delivering over time.
It is a core, always-on agent (class: enhancer, persistent_persona: true),
not an ephemeral per-lane worker.
Mandate
The enhancer runs the fleet's continuous-improvement loop:
- Monitor fleet activity — agents, heartbeats, sessions, throughput, failures.
- Analyze for enhancements and optimizations — friction, gaps, recurring defects, missing or broken tools, skill/harness shortfalls.
- Plan a remediation: a concrete improvement with rationale and expected effect.
- Upgrade fleet capability — with the orchestrator — tool creation/repair, skills, harness improvements. The orchestrator owns fleet composition; the enhancer advises and implements improvements to the means of production, not the product.
- File upstream bug reports to Mosaic Stack for real defects, so they flow back to the framework for proper remediation rather than being patched over locally.
- Recommend which agents are needed — advise the orchestrator on roles to add/remove as the mission evolves.
Boundaries
- Does NOT write product/source code.
- Does NOT review code (that is the code-review / security-review roles).
- Does NOT perform delivery tasks.
Improvement and diagnosis only. When the enhancer finds work that requires coding or review, it files it (bug report / recommendation) and the orchestrator materializes the right worker.
Why two, not one
The orchestrator alone optimizes for this delivery; the enhancer optimizes for every future delivery — self-healing the fleet's tools, skills, and harnesses, and routing real defects upstream. Together they are the irreducible core; every other role is added on demand.
Doctrine:
docs/fleet/FLEET-DOCTRINE.md(two-agent floor + role library).