Files
jobtrackingapp/docs/automation/GATES.md
T

7.7 KiB

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.