# 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. Renderer foundation `#51`, terrain
   `#22`-`#24`, physics placement/diagnostics `#25`-`#26`, operator invariants `#33`, collaborative
   safety `#49`, Material Library/targeted drops `#16`/`#18`, and native-dialog responsiveness `#52`
   are accepted and integrated.
3. Complete the representative regression project, performance budgets, and first-hour workflow
   tracked by `#32`, `#34`, `#35`, and `#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.
