# Mapper OS Acceptance Checklist

- [ ] Default mapper run creates discovery/evidence/quality output only.
- [ ] Selected extraction creates `selected-buildprint/`.
- [ ] Selected extraction classifies `blueprint_mode.primary`, `blueprint_mode.secondary`, and `blueprint_mode.phase_style` before writing `02-project-setup.md`, `blueprint.yaml`, or any phase; this is a generation invariant, not branding; framework/library packets are not reduced to product user stories; integration packets define webhook/idempotency/sandbox contracts; automation packets define task loop/stop conditions; data-pipeline packets define schema/lineage/quality proof; infrastructure packets define deploy/rollback/health/drift/observability.
- [ ] `blueprint_mode.phase_style` is `outcome_flow` for product, `primitive_composition_map` or `callable_contract` for framework/library, `boundary_transaction_contract` for integration, `task_loop_contract` for automation, `dataflow_contract` for data-pipeline, `operations_contract` for infrastructure, `mixed_contract` for mixed; the mode-style pairing passes validator checks.
- [ ] Every phase file contains a `## Phase mode contract` that declares `blueprint_mode` and `phase_style` matching the packet mirror; for mixed packets each phase declares a specific non-mixed `blueprint_mode` and a matching `phase_style`.
- [ ] Mixed-mode packets have at least 2 distinct per-phase `blueprint_mode` values across the phase set; if all phases would use the same mode, the packet is reclassified under that single mode instead of `mixed`.
- [ ] Obligation matrix column label in `02-project-setup.md` is "Mapped obligation" (or an accepted alias: "Product obligation", "Capability obligation", "Operation obligation"); "Mapped obligation" is the canonical label.
- [ ] Each phase contains per-mode minimum vocabulary: framework has at least 2 of primitive/composition/extension-point/misuse; library has at least 1 of callable/public-API/semver/compat; integration has at least 2 of webhook-callback/idempotency/sandbox-live-split/retry-error-mapping; automation has at least 3 of task-loop/stop-condition/approval/trace; data-pipeline has at least 3 of schema/transform/lineage/backfill-idempotency/data-quality; infrastructure has at least 3 of deploy-apply/rollback/health-readiness/drift/observability.
- [ ] Six new negative fixtures confirm the validator rejects mode-content defects: `mixed-mode-collapsed-to-product`, `framework-phase-using-product-language`, `integration-phase-missing-webhook-idempotency`, `automation-phase-missing-stop-conditions`, `data-pipeline-missing-lineage`, `infrastructure-missing-rollback`.
- [ ] Selected extraction emits executable Buildprint only; this is the current executable blueprint spine.
- [ ] Product-mode and UI-bearing mixed selected packets use Mapper OS `vision.md` during generation and embed the product brief, golden path, surfaces, done-looks-like, visual quality bar, and screenshot acceptance language into `BUILDPRINT.md`, `02-project-setup.md`, and phase UX/UI sections without emitting packet-level `vision.md`.
- [ ] Selected extraction preserves the executable-packet scaffold anchors exactly before adding source-specific content; mapper agents do not paraphrase validator-owned keys/headings/tokens.
- [ ] `blueprint.yaml` includes `execution_start: BUILDPRINT.md`, `machine_contract: blueprint.yaml`, `setup_gate.questions: 01-questions.md`, `setup_gate.project_setup: 02-project-setup.md`, `implementation_loop`, and `repair_loop.on_failure` routes including `proof_gate_failed: current_phase` and `architecture_contradiction: 02-project-setup.md`.
- [ ] Execution blueprints include `BUILDPRINT.md`, `blueprint.yaml`, `01-questions.md`, `02-project-setup.md`, `03-phases/phase-index.yaml`, at least one phase Markdown file, `04-evaluation.md`, and `05-evidence/evidence-ledger.jsonl`.
- [ ] Root `BUILDPRINT.md` is the only starting point and owns the canonical read order; downstream runners must read it before inventorying or enumerating packet files.
- [ ] `generated/agent-prompt.md` declares `Generated from: blueprint.yaml` and states that it is not source of truth.
- [ ] `01-questions.md` uses numbered questions and the exact AI-best-judgment default phrase; blank answers do not block ordinary engineering decisions.
- [ ] `02-project-setup.md` records setup defaults, blueprint mode/phase style, product/framework/integration/automation/data/infra shape, architecture decisions, production readiness, relevant UX/DX/operator contract, mapped contract anchors, a source-evidenced obligation/surface matrix with exactly-one owning phase and surface-specific proof for every high-signal mapped surface, implementation setup, open assumptions, and the phase start gate.
- [ ] No phase starts until `02-project-setup.md` defines the Foundation scaffold gate: selected stack base project structure plus implementation-project root/local `AGENTS.md`, `architecture.md`, `engineering-standards.md`, `test-strategy.md`, and `ui-identity.md` when UI-bearing.
- [ ] Root implementation-project `AGENTS.md` is required to list `architecture.md`, `engineering-standards.md`, `test-strategy.md`, and `ui-identity.md` when UI-bearing as mandatory reads for coding agents before code edits.
- [ ] `architecture.md` must include Architecture principles, Base project structure, Boundary map, Dependency rules, Architecture decisions, and Downstream phase extension map.
- [ ] `engineering-standards.md` must include Clean code rules, Validation and schemas, Persistence standards, Provider standards, Worker/runtime standards, UI standards when UI-bearing, and Test standards with deterministic blocker exit behavior.
- [ ] `03-phases/phase-index.yaml` is the dependency/continuation index and points to the active proof-gated phase using a full packet-relative `03-phases/<phase>.md` path for `active_phase` and phase `file` values.
- [ ] Every phase file contains product/capability/operation outcome, phase mode contract, mapped obligations, implementation scope, interfaces touched, state/runtime touched, UX/UI/DX/operator requirements as applicable, safety/security constraints, quality gates, proof gate, and repair routing.
- [ ] Every phase is a mode-aware proof-gated slice, not a backend/frontend/test waterfall bucket or component worklist: product=outcome flow, framework/library=primitive composition map, integration=boundary transaction, automation=task loop, data=dataflow, infrastructure=operations contract.
- [ ] Every phase requires the implementation loop: observe → plan → execute → verify → reflect → record. Multi-phase/full-suite execution requires lean phase-run artifacts (`plan.md`, `proof.md`), phase proof gates, evidence rows, and continuity updates; a single phase-1 success cannot satisfy full-suite replay.
- [ ] Error repair routes failed test/build/runtime/UI/proof checks back to the current phase, setup contradictions to `02-project-setup.md`, product-defining ambiguity to `01-questions.md`, and external blockers to `05-evidence/evidence-ledger.jsonl`.
- [ ] Every proof gate writes implementation evidence or blockers to `.buildprint/evidence/evidence-ledger.jsonl`; packaged `05-evidence/evidence-ledger.jsonl` remains an immutable seed.
- [ ] `claim_status` promotion is blocked unless evidence contains passing rows for required promotion proof.
- [ ] Obsolete router files are absent: `START_HERE.md`, `PRE_IMPLEMENTATION_QUESTIONS.md`, `03-capabilities/`, `04-interfaces/`, `05-state-runtime/`, `06-safety/`, `08-evaluation/`, `09-evidence/`, and packet `AGENTS.md`.
- [ ] Typo aliases such as `VERFICATION.md`, `IMPLEMENATION.md`, or `CAPABILTY_INDEX.md` are absent.
- [ ] Obsolete handoff routers are absent; neither `HANDOFF.md` nor `HANDOVER.md` appears as a selected package spine file.
- [ ] Every `OBSERVED` claim cites source path and line or section. Runtime artifact paths are explicitly labeled and not formatted as packet-file references unless the file exists in the packet; examples include `state.json`, `actions.jsonl`, `project.json`, `env_status.json`, and `section_XX.md`.
- [ ] Census hints never assert product behavior, absence, parity, provider completeness, persistence, or readiness.
- [ ] Included/excluded/blocked/test-only phase statuses are complete.
- [ ] No included phase is placeholder-backed, mock-backed, no-op, skeleton, deterministic-adapter-only, static-shell-only, or in-memory-only where persistence is claimed.
- [ ] Qualification label is one of `DISCOVERY_ONLY`, `PROOF_REQUIRED`, or `QUALIFIED_SOURCE_INDEPENDENT`.
- [ ] `04-evaluation.md` includes literal proof concept labels `provider_live`, `durable_persistence`, `security_boundary`, and `no_fake`.
- [ ] Before returning output, the selected packet passes `node /root/blueprint/bin/agb.js packet check <selected-buildprint-dir>` when that CLI is available; if running inside `/root/blueprint`, it also passes `node /root/blueprint/scripts/check-mapper-selected-output.mjs <selected-buildprint-dir>`.
- [ ] Public wording avoids validated/production-ready/complete/end-to-end unless qualified evidence exists.
