49 lines
7.7 KiB
Markdown
49 lines
7.7 KiB
Markdown
# Gate authority and Phase 10 entry
|
|
|
|
The source prompts and current accepted project reports are authoritative. `automation/backlog.json` is the executable queue policy; runtime status/evidence lives in the protected state store. A manifest status is an initial value, never proof of acceptance.
|
|
|
|
## Entry decision as of 29 October 2026
|
|
|
|
**Phase 10 implementation: NO-GO.** `docs/pre-phase10-ux/ACCEPTANCE.md` at `5032ccb` permits development review and the next QA handoff only. `docs/cv-integration-qa/PHASE_10_HANDOFF.md` permits candidate assessment/planning, not cleanup. `docs/redesign/phase-9/p9-07/PHASE10_HANDOFF.md` requires clean published source, exact candidate scope, caller/route/inventory proof, rollback and relevant regression. No source report is replaced by this orchestrator.
|
|
|
|
| Open item | Gate classification | Required disposition |
|
|
|---|---|---|
|
|
| Explicit finished pre-Phase-10 acceptance and cleanup entry | Blocks real Phase 10 | Owner approves exact accepted baseline and candidate scope after prerequisite reports are reconciled |
|
|
| Remote pre-Phase-10 HEAD remains `994bf8f`, local `5032ccb` has two later commits | Blocks publication-dependent entry | Publish and independently verify the final accepted ref; connectivity alone is insufficient |
|
|
| Proven obsolete candidates, current callers, historical formats, 57 groups and all valid routes | Blocks each affected cleanup checkpoint | Concrete evidence, compatibility/rollback plan and candidate regression; PARTIAL/DEFERRED is not deletion permission |
|
|
| Revised S01 coordinate oracle: Windows 8/36, Linux 16/36 passing in the recorded run | Retained PDF/presentation qualification; affected cleanup must preserve the original oracle | Fix or explicitly disposition the unchanged failures; raster inspection does not waive them |
|
|
| Human keyboard/AT/contrast, physical devices, EN/Bokmål and actual printing | Blocks human/release acceptance; not automatically every unrelated candidate assessment | Human owner completes the current checklist; candidate-specific preservation remains mandatory |
|
|
| Real CV-model compatibility/factual accuracy, C11/P5-13 | Blocks activation/quality claims, independently scoped | Keep adapter disabled until immutable artifacts, isolated runtime and actual semantic qualification are approved |
|
|
| Deterministic PDF extraction recall/review burden, legacy pipe order and wrapped names | Blocks broad extraction accuracy claims and unsafe review removal | Preserve unresolved/source correction and old-run compatibility; qualify changes separately |
|
|
| Hosted CI isolation, production filesystem integrity, off-disk restore, model/cache and operator evidence | Blocks production; carries its own scope-dependent development restrictions | Fresh hosted/operator proof; local automation is insufficient |
|
|
| Moderate MySqlConnector advisory and remaining scoped Python/security qualifications | Blocks release/security acceptance until current disposition | Verify current advisory/reachability/TLS or upgrade evidence and regression; this task does not inspect production TLS |
|
|
| Native Codex sandbox error, separate signing identity and isolated runner not provisioned | Blocks this controller's real worker execution | Resolve sandbox; qualify host boundary and negative probes, read-only control plane, development-only credentials and egress |
|
|
| Qualified stage test adapter and suite inventory not installed | Blocks real checkpoint execution | Owner/platform maintainer installs and approves actual commands, report parsers, suite identities and runtime prerequisites |
|
|
|
|
The conditions above are not all universal Phase 10 blockers. Their scope follows the current authority. A signed Phase 10 entry decision must state which conditions block the particular cleanup and which remain release-only; it cannot silently erase debt.
|
|
|
|
## Checkpoint gates
|
|
|
|
1. Verify immutable manifest/source hashes, ordered completed dependencies, signed entry grants, current branch, clean starting checkout, accepted baseline ancestry and exact published baseline ref.
|
|
2. Launch only the current checkpoint, with full applicable instructions and a finite attempt/session/time/log budget. Any interrupted session is incomplete. Context continuation is a fresh bounded session with durable handoff; no recursive CLI launching.
|
|
3. The controller runs configured checks independently inside the native sandbox. A zero process exit alone is insufficient for a structured suite: require a fresh nonempty report, failures/skips/retries policy, test identities and expected suites. TRX, Jest JSON, Playwright JSON and JUnit are supported. Build/type/lint checks use native exits. Exact membership must be configured in `report.expectedNames` or proven by the trusted qualified composite adapter. Do not set `configured:true` merely to bypass a missing adapter.
|
|
4. Require the stage artifacts and content hashes. Preserve qualitative/source requirements in the full instructions and require an independent signed final `stage-requirements-review`. A model summary is never an acceptance oracle.
|
|
5. Commit verified source to the exact feature branch; publish the explicit ref without force; read remote HEAD. Failed publication retains the tested commit and blocks advancement.
|
|
6. Require after-checkpoint approvals bound to the actual commit and artifact hashes. Advance only after all gates pass. A conditional result with no declared deferrable gates remains CONDITIONALLY_ACCEPTED and cannot advance. Declared deferrals additionally require signed `conditional-deferral` approval; required automated failures cannot be deferred through a model summary.
|
|
7. Fast-forward only the dedicated non-production integration ref, publish and verify it. Then mark the stage COMPLETED for **development**. Production remains NOT_AUTHORISED even after all seven stages.
|
|
|
|
## Human decisions
|
|
|
|
- Product Review: ranked scope approval before implementation starts in later workstreams.
|
|
- GJ: implementation approval plus provider licences/content-display rights before the provider checkpoint. Independent earlier work is possible inside the accepted scope.
|
|
- I18N: approved locale/market scope and native/proficient linguistic review. Drafted catalogs do not enable public locales.
|
|
- Homepage: four nonempty concept artifacts plus research/evidence; owner selects exact elements. A signed `Revise` returns to the same checkpoint with the owner's revision text; only `Approve` advances. The controller does not select the design.
|
|
- Security: isolated targets/rules, separately approved significant scan cost, required scanner artifacts, human patch review and material finding disposition. Missing Codex Security runtime capability remains BLOCKED; synthetic tests cannot replace scans.
|
|
- Release: evidence/recommendation review only. This queue deliberately contains no deployment or main-merge stage. A future production request requires a separate owner-controlled process.
|
|
|
|
## Policy changes and approval replay
|
|
|
|
The signing key remains under a separate owner's identity. The controller verifies .NET RSA/SHA256 signatures against the pinned public certificate, exact request hash, owner SID and expiry. Requests include policy/manifest/prompt identity, baseline, checkpoint, candidate commit, artifact hashes and actual requested decisions. Changing a candidate or evidence produces a different request; an older approval cannot apply. State checksums detect corruption but are not an authorization boundary; filesystem isolation protects state.
|
|
|
|
`configure` adopts an owner-prepared manifest only after a signed policy-update request. It cannot rewrite a started stage, replace the baseline/integration/remote after execution begins, reorder IDs or reset completed work. Normal worker fixes and continuation do not edit policy. A substantive scope expansion requires a new explicit owner-reviewed policy/workstream rather than mutating history.
|