This directory holds mission skills that have been documented but not yet
proven end-to-end. They live here, not in skills/, so the framework's
shipped surface area maps 1:1 to missions with real-run evidence.
A mission stays in skills/ only if ALL three are true:
- A
docs/<mission>-progress.mdwritten from a real run on a real repo - A
docs/<mission>-readiness.mdwith a validfleet-outcomeblock from the same run - At least one external-repo run-archive — either under
.fleet/runs/in this repo with the mission named, or referenced fromdocs/external-dogfood/
The missions below fail at least one of those three checks, so they have
been moved out of skills/. This is the same rule already applied to
docs/exploratory/missions/scaffold-align/,
docs/exploratory/missions/contract-first-build/, and
docs/exploratory/missions/agents-layer/ in 2026-06-22, generalised to the
post-Commit-C demotion of 2026-06-23.
The original demotion plan lives in
docs/plans/way-ahead-2026-06-23.md § 3 Commit D.
A mission may move back to skills/ only when all three of the following
artifacts exist and are referenced in the promotion PR:
| Artifact | Path |
|---|---|
| Progress doc | docs/<mission>-progress.md (real run, not stub) |
| Readiness doc | docs/<mission>-readiness.md with fleet-outcome block |
| External archive | .fleet/runs/<run_id>/ produced by the mission, OR a referenced archive under docs/external-dogfood/ |
Doctrine alone is not sufficient. Tests inherited from
autonomous-fleet-core are not sufficient. The promotion PR must cite a
real coding-agent run that produced the archive.
Mechanical gate (CI): ./scripts/validate_mission_promotion.py --require-ready <slug>
must exit 0 before moving a mission back to skills/.
[Tier 2] Close a batch of bugs from a list/tracker/described set, one PR per bug, each gated by a FAILING TEST written first that reproduces the bug. If promoted, would force exactness on the agent-weakest category (bug-fixes). Currently: no progress doc, no readiness doc, no external archive.
[Tier 1] Behaviour-preserving code-health pass — dead-code removal,
duplication kill, named anti-pattern fix — without re-architecting. If
promoted, would be the lightest counterpart to the archived
legacy-rebuild design.
Currently: a readiness doc exists (docs/cleanup-readiness.md) but no
progress doc and no external-repo run-archive. Demoted because the
three-artifact rule requires BOTH progress AND external archive.
[Tier 1] Update a repo's dependencies to current versions, fix bump breakages, keep the suite green, one PR per logical group. If promoted, would handle stale deps + security advisories autonomously. Currently: no progress, no readiness, no external archive.
[Tier 2] Adopt a fresh design across an existing product to full parity
(visual AND feature-wise) — reskin every screen and build the features the
design implies but the product lacks. If promoted, would subsume the
narrower archived landing-page-convergence
design. Currently: no progress, no readiness, no external archive.
[Tier 2] Reduce AI inference spend while holding output quality constant — measurement-first cost optimization with a baseline cost+quality harness, sanctioned levers only, and a hard refusal of subscription-token-as-backend hacks. If promoted, would address one of the clearest measurable outcomes a mission can ship. Currently: no progress, no readiness, no external archive.
[Tier 3] Drive a STALLED product to a full-fledged, shippable state via adversarial review + market research + a FROZEN COHERENT PRODUCT BOUNDARY
- full-depth build inside that boundary. If promoted, would be the flagship Tier 3 mission for finishing started-but-unshipped products. Currently: no progress, no readiness, no external archive.
[Tier 2] Migrate ONE axis of a codebase (framework version, library swap,
language/runtime bump, DB/ORM change, API-version move) while preserving
everything else and keeping the suite green. If promoted, would handle
the one-axis-at-a-time slot between dependency-update and the archived
legacy-rebuild design. Currently: no
progress, no readiness, no external archive.
Mapped from garrytan/gstack specialist skills into
fleet frozen-ledger missions. Research: docs/gstack-missions-research.md.
[Tier 2] Browser-grounded QA with screenshot EVID and fix loop until health threshold met.
gstack sources: qa, qa-only, browse, health.
[Tier 2] Root-cause analysis with frozen docs/incident-rca.md and mandatory regression test.
gstack sources: investigate, retro, learn.
Some former exploratory missions are parked under archive/.
They are excluded from the active exploratory set until they satisfy the
standard evidence triple and, where they overlap another mission, a written
differentiation argument. See archive/README.md.
To re-promote a mission from docs/exploratory/missions/<mission>/ back
to skills/<mission>/:
- Run the mission on a real repo via a campaign (in this repo or an
external one). The mission must produce a valid
fleet-outcomeblock. - Archive the run to
.fleet/runs/<run_id>/with a passingvalidate_run_archive.py. If the run was on an external repo, reference it underdocs/external-dogfood/<mission>-<repo>.md. - Write
docs/<mission>-progress.mddocumenting the run end-to-end (the actual builder/reviewer transcript, the findings closed, the metrics produced). - Write
docs/<mission>-readiness.mdwith thefleet-outcomeblock from the run. git mv docs/exploratory/missions/<mission> skills/<mission>to restore the skill.- Remove
status: exploratoryfrom the SKILL.md frontmatter and strip the exploratory admonition block at the top of the file. - Update consumers — re-add the mission to
skills/autonomous-fleet/SKILL.md,skills/autonomous-fleet/references/missions.md,README.md's mission list, and anyscripts/campaigns/*.yamlthat should re-include it. - Update the marketplace packet to mention the newly promoted mission.
- Open a PR citing the run id, the archive path, the progress doc, and the readiness doc.
A demotion can be reversed; doctrine alone cannot promote. The artifact is the gate.