Repository navigation
fix(cli): fence legacy automation runtime cutovers - #4579
yannickmonney wants to merge 1 commit into
Conversation
01cc37b to
deb1b6a
Compare
|
REQUEST CHANGES — reviewed head
Part A: The README and manual automation register accurately describe supported source, all-org census, pending recovery, immutable identity checks, forward-only protocol and excluded historical external effects. They also correctly separate release acceptance from synthetic/SQL proof. Interrupted legacy retry takes a fresh locked census; partial replacement requires a stopped receipt, exact target images, complete roles and unchanged database incarnation. The finding above is the operator-message gap. Part B: Source review found no additional blocking correctness defect. SHARE/NOWAIT precedes READ COMMITTED census; competing INSERT/UPDATE cannot pass the held table lock, prior uncommitted writers refuse acquisition, and lock probes plus exact exited-container readback precede release. SQL uses fixed statements and catalog-quoted ledger identifiers; no user input is executable SQL. Receipt persistence excludes connection credentials and unrelated labels. Boot migrations precede API/worker startup; protocol/image floors retain forward-only rollback refusal. Existing tag upgrades with a protocol-1 floor refuse the unmanaged transition. External deployment serialization remains required as documented. Regression/CI scope: Removing the SHARE lock makes the shared real-PG helper's competing-admission assertion fail; removing the managed cutover call makes the new unsupported-writer apply regression admit startup instead of refusing. Census/identity/partial-replacement tests distinguish the safety decisions, and real-process transport tests cover backpressure, bounded output and private errors. These are source-level causal assessments, NOT executed mutation proof in this review. Per-topic dispositions: UX-CLARITY FAIL (1); DOCS PASS (source consistency); REL-MANUAL NOT_RUN (physical/manual journey); CODE PASS (source review, proof pending); SECURITY PASS (source boundaries, completed audit/SAST); DATA BLOCKED (required real-PG check pending); DEPLOYMENT BLOCKED (1 and full deployed cutover NOT_RUN); RECOVERY FAIL (1; safety source checks otherwise sound); CICD BLOCKED (execution pending, selection/cache wiring passes source review); WORKFLOW PASS (independence, scope and forward-only authority preserved; no serving-adoption claim). Exact-head checks, 2026-10-08 19:09:28 UTC: 65 checks: 36 queued, Backend integration in progress, 28 completed; no failure/timed-out/cancelled/action-required conclusion. Completed results include Integration scope, Build db, Bun audit, Trivy filesystem scan, Opengrep and CI ready (Commitlint) success; Trivy is neutral and candidate/fork-only checks are skipped. Pending: CLI builds (linux, linux-arm64, macos, macos-x64, windows); CI ready (SAST/Security); Type check, Performance, Knip, Lint, Format, Build, Browser; Unit workspaces and platform 1–2; UI platform 1–4; E2E preview build and Playwright docs/web; platform/proxy/sandbox/runtime/egress/buildkit/gateway image builds, Storybook, web/docs/UI-docs/AI-gateway container tests. No failing job exists in this snapshot for Held #4540 overlap (contracts only): project-agent completion/slot release, automation/standing-role admission, task-subject exclusion and transaction/lock order. TALE-1290 was read; Next owner: implementer fixes (1); Fleet coordination retains CI/base and release-acceptance follow-up. This comment does not authorize merge or deployment. |
|
The cutover implementation, including the subsequent reviewed migration-ledger and interrupted-recovery corrections, is included in #4565, merged as |
A managed protocol-1 upgrade can admit new legacy automation work after an empty census and before its backend containers are replaced. The CLI now holds a bounded PostgreSQL admission lock while verifying an all-organization zero census and gracefully stopping the exact legacy writers. A durable handoff supports verified partial replacement recovery; lost locks, uncertain stops and unknown identities refuse startup. Existing tag deployments must take this managed transition first.
The initial supported legacy source is
b4931db4with its complete migration inventory and bundled database. Existing protocol fences remain intact; the guard does not infer retirement of historical external effects.Validation: 189 CLI, consumer and CI scope/cache tests; real psql lock and connection-loss tests; real OS-pipe backpressure/output-bound tests; 12 real-Postgres assertions in the automatically required Backend integration helper; causal lock-removal and old-runtime negative controls; CLI and platform typechecks, lint, formatting and manual coverage checks. The full released-container cutover remains release acceptance work.