# Production-Readiness Acceptance Gate Working plan for Gitea issue [`#50`](https://git.spacetrainclubhouse.com/Falling-Metal-Interactive/Blacksite/issues/50). This gate is broader than the M7 feature list: it proves the complete daily authoring, content, recovery, performance, and release workflow against one exact release-candidate commit. ## Status Audit in progress. The versioned acceptance matrix exists, but no release candidate is nominated and the gate is not signed off. Packaged/release testing remains explicitly deferred until the project owner requests it again. ## Sequence 1. Keep one evidence matrix under `docs/editor/evaluations/production-readiness/`; historical H1-H6 notes remain context only. 2. Close implementation blockers before nominating a candidate: collaborative safety `#49`, the remaining Material/drag-drop contract in `#16`, `#18`, and `#51`, terrain `#22`-`#24`, physics placement/diagnostics `#25`-`#26`, and their regression fixtures. 3. Complete the representative regression project, mutation-invariant coverage, performance budgets, and first-hour workflow tracked by `#32`-`#36`. 4. Nominate one exact commit, validate it from a clean checkout, and record source/headless results. 5. When packaged testing is re-enabled, run the candidate's package/build and packaged-runtime matrix without substituting older artifacts. 6. Run the eight-hour soak and measured performance protocol, consolidate limitations by severity and workaround, and obtain independent first-hour/recovery sign-off. 7. Post the signed Gitea milestone comment linking the exact commit and immutable evidence. Close `#50` only when every required row passes and no P0 blocker remains. ## Gate Rules - Feature presence is not acceptance evidence. - A local dirty worktree is not a release candidate. - Results from another commit or an old package do not transfer to the candidate. - Deferred, missing, partial, and implementer-only evidence are not passes. - Every failure records an owner ticket or a concrete rerun condition.