feat(automation): preserve gated roadmap queue and source prompts

This commit is contained in:
cesnimda
2026-10-29 14:21:59 +01:00
parent 5032ccb415
commit 4da3939547
81 changed files with 14524 additions and 0 deletions
+51
View File
@@ -0,0 +1,51 @@
# AUTO-00: repository, prompt and CLI audit
Audited 29 October 2026. This is orchestrator construction, not roadmap authorization.
## Source identity and isolation
The primary checkout was on `planning/int-global-jobs-00` at `0ec9f98`, with unrelated local AGENTS, ignore, Docker, skills and graph files. Those files were preserved. A managed worktree was created at `C:\Users\Connor\.codex\worktrees\autonomous-roadmap-01\Job tracker`, based on the actual local `5032ccb` and using branch `codex/autonomous-roadmap-01`.
The ongoing pre-Phase-10 branch occupies `C:\Users\Connor\.codex\worktrees\pre-p10-ux\Job tracker`. It was not checked out, edited, tested, reset or published by this task. A fresh `git ls-remote --heads origin refs/heads/test/pre-phase10-ux-acceptance` returned `994bf8f8bbf0df3c53111ca7f66af97fe0680013`. The local branch pointed to `5032ccb`, two commits ahead of that ref. Remote connectivity worked for this read; publication of the pending commits had **not** succeeded. Publishing this orchestrator's branch does not update that pre-Phase-10 ref.
The new manifest records the full locally resolved baseline SHA. It does not assume main contains the accepted redesign. Final source acceptance may move while this work is underway: the owner must nominate the finished accepted baseline before enabling real execution.
## Actual source prompt mapping
Root: `E:\Storage\Projects\Active\temp docs\final`. `automation/SOURCE_INVENTORY.json` records filenames, byte sizes and SHA256. Imported files retain original bytes, including stop/approval instructions. The manifest imposes the owner's requested **execution sequence**, independently of source filename numbers.
| Sequence | ID | Actual source | Checkpoints |
|---|---|---|---|
| 05 | PHASE-10 | `Prompt 5 — Phase 10.txt` | P10-00 through P10-05 |
| 06 | PRODUCT-REVIEW-01 | `Prompt 6 — PRODUCT-REVIEW-01.txt` | independent assessment, ranked roadmap |
| 07 | INT-GLOBAL-JOBS-01 | `done/Prompt 7 — INT-GLOBAL-JOBS-01.txt` plus repository `docs/planning/global-jobs-prompts/` | GJ-01 through GJ-08 |
| 08 | I18N-01 | owner-supplied `I18N/00_MASTER_ORCHESTRATOR.md` and all nine stage prompts | I18N-00 through I18N-08 |
| 09 | LAUNCH-SITE-01 | `Prompt 10 - homepage.txt` | research, four concepts, approved implementation, qualification |
| 10 | SECURITY-AUDIT-01 | owner-supplied `jobjakt-security/MASTER_PROMPT.md`, detailed prompts, resources, templates and skill | SEC-00 through SEC-16 |
| 11 | RELEASE-READINESS-01 | `prompt 11 - release readiness.txt` | inventory, qualification, recommendation |
The initially empty `Prompt 8 - security audit.txt` is not the source for the security stage. The owner's later directory resolves it. `done` is a file location, not evidence that GJ-01–08 have run. GJ-00's planning-only restriction and security's `DO NOT START THIS NOW!` remain intact; explicit later signed entry approval is necessary to authorize those implementation scopes. The UI 9.1–9.6 files are also preserved, unassigned, for Product Review scope reconciliation; they are not silently executed as translations or dropped from the inventory.
Per checkpoint, the runner sends the complete master prompt, complete applicable detailed prompt, common resources, prior authority, stored results, blockers and verified owner decisions. Duplicate all-phase compilations and unrelated detailed checkpoint prompts are preserved on disk without repeatedly expanding the entire roadmap into every session.
## Overlaps and integration ownership
GJ owns provider rights, search, taxonomy/geography IDs, saved searches and advertisement language. I18N reuses those owners and independently qualifies locale registry/preferences, message coverage, notifications, profession terminology, document languages, scripts/fonts and native review. Country, UI locale, ad language and CV/letter language remain distinct. GJ-01 preferences/i18n work does not satisfy the full I18N programme. I18N-05 must consume accepted GJ contracts, retaining its own tests and review.
I18N-07 owns marketing locale/SEO contracts and fixtures; LAUNCH-SITE owns visual concepts and the final homepage. The homepage still requires four high-fidelity concepts and a human design choice. Release qualification reruns relevant acceptance instead of treating earlier security or localisation completion as production approval. Remaining AI qualification and optional product initiatives must be explicitly ranked in Product Review, never implicitly activated by these stages.
One serial branch per workstream is the shipped default, with each detailed stage as a bounded checkpoint. Some packs prefer separate substage branches or one branch per finding. Those preferences are preserved in the prompts and must be resolved explicitly in the signed workstream scope before execution; the model must block conflicting instructions. No concurrent Git edits are allowed in one worker checkout. The integration ref fast-forwards through accepted published stage commits; no merge operation exists.
## Official CLI and local capability
Installed: **codex-cli 0.163.0**. Local `codex exec --help` confirms stdin prompts (`-`), `--json`, `--output-schema`, `--output-last-message`, `--ignore-user-config`, `--sandbox workspace-write`, `--cd` and independent sessions. The implementation uses these supported switches and does not use the removed `--full-auto` or unrestricted execution. Account authentication is reused through an auth-only dedicated CODEX_HOME; no production key variables are inherited by child build/test jobs.
Official references: [non-interactive execution](https://learn.chatgpt.com/docs/non-interactive-mode), [CLI reference](https://learn.chatgpt.com/docs/cli/reference), [Windows sandbox](https://learn.chatgpt.com/docs/windows/windows-sandbox). The native Windows 0.163.0 `codex sandbox --help` exposes commands directly, without a `windows` subcommand. This platform grammar is used by independent test execution.
The attempted sandbox invocation failed with `CryptUnprotectData failed: 2148073483`. No unrestricted fallback was attempted. PowerShell 7, Python 3.12 and Git are installed. A real model-backed worker session and native sandbox enforcement have **not** been qualified on this host. Synthetic subprocess protocol tests are separate evidence, not a native-sandbox certification.
## Deliberate deployment gates
The controller is implemented, but installing source code is not granting execution. The initial manifest has `executionEnabled: false`. The stage qualification adapter is deliberately marked unconfigured: provider/browser/Python/PDF/security/preservation commands and exact suite membership must be qualified against the final accepted runtime and host. Guessing those commands from historical test counts would manufacture acceptance. This is an operator setup/entry condition, never a bypass or a passing result.
No live MariaDB, Docker, Ollama, model, production filesystem, main branch, external paid provider, notification service or real backlog stage was operated. The only external access was authorized official documentation and scoped Git publication/read checks.
+48
View File
@@ -0,0 +1,48 @@
# 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.
+27
View File
@@ -0,0 +1,27 @@
# AUTONOMOUS-ROADMAP-01 design and implementation checklist
Build the controller only. Do not execute roadmap prompts. Implementation is isolated on `codex/autonomous-roadmap-01`, based on `5032ccb`.
## Design
PowerShell 7 provides the Windows command interface and .NET certificate signing/verification. Python 3.12 standard library implements the state machine, subprocess supervision, Git checks and disposable-repository tests. No database server or new package is needed. Compared with an all-PowerShell engine, this keeps recovery and adversarial tests small; a service/database would add unnecessary deployment work.
The trusted controller, immutable manifest/prompt snapshot, signing public certificate and durable state live outside the worker checkout. Install and run under a dedicated development account/VM, separate from the owner's signing identity. Native Codex workspace-write sandbox and a qualified host boundary are required. A signed environment qualification is required; this implementation never grants itself approval. The repository copy is source code, not a protected installation.
Every checkpoint is a new bounded `codex exec` with the complete original prompt and prior reports. The model proposes a result; the controller independently runs the configured checks inside the sandbox, validates structured reports and artifact hashes, commits, publishes an explicit feature ref, verifies remote HEAD, and advances the non-production integration ref by fast-forward only. Missing test adapters, prompts or approvals stop advancement. No merge or deployment command exists.
Atomic checksummed state with last-good backup, an OS-held repository lock, a durable running marker and process identity prevent concurrent controllers and false success after interruption. A recovered RUNNING session requires orphan-process reconciliation. Publication retries reuse the exact tested commit and never rerun the model. Acceptance approvals bind manifest, prompt, baseline, candidate commit and evidence hashes. Conditional acceptance requires an explicit signed deferral and declared deferrable gates.
## Scope and checkpoints
- [ ] AUTO-00: Audit actual source prompts, CLI 0.163.0, local/remote Git state and Phase 10 authority. Record missing/contradictory sources and sandbox failure.
- [ ] AUTO-01: Preserve original prompt bytes; implement strict queue validation and stage/checkpoint gates in `automation/backlog.json` and schemas.
- [ ] AUTO-02–03: Implement PowerShell entry point, bounded runner, atomic state, exclusive locking, pause/resume, windows and budgets in `automation/controller.py`.
- [ ] AUTO-04–05: Implement signed owner decisions, real test/report verification, safe feature commits and verified publication.
- [ ] AUTO-06: Implement status, current-stage and redacted logs plus local event notifications.
- [ ] AUTO-07: Write failing tests first, implement, then run disposable-repository end-to-end tests for every requested failure mode. No application services or real roadmap sessions.
- [ ] AUTO-08: Document install, authentication, protected approval setup, scheduling, recovery and exact first-entry owner action; record honest final acceptance.
Files touched: new `automation/`, `scripts/Run-JobjaktBacklog.ps1`, `scripts/Approve-JobjaktBacklog.ps1`, documentation, and runtime ignore rules. No application callers, database schemas, production configuration or existing tests change.
Review focus: forged/replayed approval; mutable controller policy; crash between Git commit/push/state writes; process survives parent termination; stale/empty/omitted test evidence. Each requires a synthetic regression check. Real-host security qualification stays separate from synthetic behavior.