Description
In HA_MODE=lease a standby never pushes, so today’s delivery-aware readiness (internal/control/readiness.go) would keep it NotReady forever and a surge rollout (maxUnavailable 0) would never complete. In HA mode: a standby is Ready when config is loaded, the runner is built and credentials preflight passes; it does not require writable persisted state. The delivery-aware check keeps applying to the leader. Never widen the probes themselves.
Acceptance Criteria
- #1 Standby reports Ready after config load, runner build and credential preflight
- #2 Leader readiness semantics unchanged; a leader whose lane never pushed stays NotReady
- #3 Non-HA mode readiness unchanged
Definition of Done
- #1 just check (fmt-check, lint, gen-check, env-check, docs-check, test, race, hygiene, ui-check, compose-check, helm-test, lab-check, signal-fidelity)
- #2 just gen (only if a blueprint field, construct/workload config struct, or a skill under plugins/synthkit/skills/ changed)
- #3 just dump — inventory diffed against signals/
Implementation Plan
loop6: preserve default/leader readiness, standby readiness from configuration/build/preflight only; tests each criterion, local gate, independent review, root landing.
Continue retained readiness candidate on current main; verify each criterion, full gate, independent review, root serial land.
Implementation Notes
loop1: implementation attempts 0; dependency parked on SKT-0092 (lease HA with crash-only fencing), whose third review-repair round remains rejected. Resume after accepted HA lands and composed gate green; no readiness source changes.
loop2: implementation attempts 0; dependency-held by SKT-0092 (lease HA with crash-only fencing), whose final authorized implementation attempt failed compilation and was not landed. No downstream source changes. Resume in frozen order after prerequisite accepted land and green composed gate; owner must first authorize further HA repair.
loop3: implementation attempts0; dependency-held by SKT-0092 (lease HA with crash-only fencing). Attempt5 local gate and review completed, but security rejects retained-runtime-red proof provenance; final Astra rescue confirms incompatible premise, no HA land. Resume frozen order only after corrected proof contract or valid missing evidence, accepted HA land and green composed gate. No downstream source changes.
loop4: implementation attempts0; HA source landed ddee479 but composed gate remains red, owned by SKT-0109 (resolve late Faro POST test-oracle proof defect). No readiness/console/backend/chart code begun. Resume frozen order only after owner-authorized HA proof repair and green composed gate; readiness+console first, then state backend, then chart.
loop5 attempts0; dependency-held: SKT-0109 (late Faro POST oracle) candidate unlanded because full gate exposes independent coordinator-loss assertion/admission discrepancy. No downstream source changes. Resume only after authorized repair and prerequisite accepted land/composed green.
loop6 partial, not landed: lane gate red only on the control-dash race-package timeout (unowned). Candidate retained byte-exact at operator-held local evidence (base 14719af, sha256 7aa01d96aeb417c8c895b0a40663b943f6f748a6f87d92e3bcf4ed579f754abe); ownership extended to the readiness callback wiring in cmd/synthkit/ha_main.go plus cmd/synthkit/ha_readiness_test.go. Resume from that patch once the race budget is fixed.
loop7 implementation attempts0; dependency park: R12 must land before H93; retained patch unchanged and hash verified. Resume frozen order after prerequisite accepted land/green gate; no candidate/source changes this run.
loop8 attempts0, priorcountsunchanged. Parkneedsdependency: frozenH93orderrequires R12land; R13landed but R12ownerparkedsharedpathscope. Retainedpatch hashverified and untouched, resumecurrentmainafterperformanceprerequisite.
loop10: new implementation attempts0, historical implementation count0 unchanged. Dependency park on SKT-0112 (control-dash race performance) acceptance and land; no gate or acceptance claimed. Resume frozen serial order after prerequisite green/land, using retained exact candidate where provided; no reset or reconstruction from prose.
This run: Dependency SKT-0112 (control-dash race performance) unaccepted/unlanded; performance prerequisite reverted after CI489.278s. Retained input unchanged; zero new implementation attempts. Resume frozen order after prerequisite accepted land and gate.
This run: retained readiness patch unchanged, focused fail-first bootstrap404 vs503 and three-criterion/HTTP lifecycle proofs passed; original fullgate control-dash timeout was not waived. Changedbase fullgate green after preceding preflight land. Root landed846cde48401059639aa52b49aca0f06ed4721175; CI38073096315 all10jobs success, clean detached composed just check exit0 exactSHA. One retained application/change-verification cycle plus changedbase verification, no source repair/probe widening. Conditional generation not applicable, no emitted signal/inventory behavior changed. Eight external troubleshooting prerequisites unexecuted; aggregate routineCodeRabbit run-level review pending.
Run-level aggregate CodeRabbit now complete against851d879 from6edd50e: all20changedfiles reviewed, outcomecompleted, zero findings. Prior deferred routine review requirement satisfied.
loop12: retained candidate verified and landed, no new source repair; prior implementation counts preserved. Done with exact-SHA CI/composed proof and aggregate CodeRabbit.
Final Summary
Lease standby readiness uses configuration/build/preflight bootstrap facts rather than state writability or delivery. Leader/nonHA behavior stays unchanged. Criteria1-3 proved with focused tests, observed fail-first, exact landedSHA CI and composed gate.