Quality Gates

Quality gates are the evidence contract for a stack pack. Agents may not claim a starter, reference app, package, or release is done unless the relevant gates pass or are explicitly marked out of scope.

Gate Status Values

StatusMeaning
requiredMust pass for this stack pack to be usable
conditionalRequired only when the app uses the named feature or platform
manualRequires a human, device, account, or policy review
paidCosts money or external quota
deferredKnown gate, intentionally not in current scope
not-applicableNot relevant, with reason recorded

Gate Matrix

GateStatusCommand or proofEnvironmentEvidence artifactFailure handling
Scaffold from clean staterequired[create command][machine/tool versions][created layout][first diagnostics]
Local dev runrequired[dev command][port/device/emulator][URL, screenshot, logs][first diagnostics]
Testsrequired[test command][env][passing output][first diagnostics]
Lintconditional[lint command][env][passing output][first diagnostics]
Format checkconditional[format command][env][passing output][first diagnostics]
Typecheckconditional[typecheck command][env][passing output][first diagnostics]
Production buildrequired[build command][env][artifact path][first diagnostics]
Device/browser smokeconditional[device/browser command][target][screenshot/log/video][first diagnostics]
Packageconditional[package command][toolchain][package path][first diagnostics]
Signingconditional[sign command or manual step][cert/key/account][signed artifact][first diagnostics]
Release/storemanual[dry-run, deploy, upload, or checklist][account/store][release result][rollback or stop condition]
Security/privacyconditional[scan/checklist][data model][scan output or review note][first diagnostics]
Cleanup/reproducibilityrequired[cleanup command or notes][env][fresh rerun proof][first diagnostics]

Evidence Rules

  • Terminal output should name the command, working directory, and success result.
  • Screenshots should include the app state, target device/browser, and timestamp when practical.
  • Build artifacts should include paths, sizes, and signing/package status.
  • Store or release gates should distinguish dry-run, upload, review, approval, and publish.
  • Security/privacy gates should name the data handled, permissions requested, and user-visible disclosures.

Gotcha: A passing build is not a release gate. Packaging, signing, install, store policy, and runtime smoke checks are separate gates on many stacks.

Eval Layer

Add eval fixtures only after the stack pack has been used at least once in a real app build. Early evals should be tiny:

EvalPurposeRequired assertions
Smoke app promptChecks whether agents can follow the pack from scratchCreates app, uses supported command, passes test/build
Known pitfall promptChecks whether agents avoid a documented trapAvoids deprecated command, unsafe permission, or wrong import
Release claim promptChecks release disciplineRefuses to claim publish until package/sign/store gates have evidence