Description
Allow replicas: 2 only when lease HA and the kubernetes state backend are both enabled (render fails otherwise; the single-replica Recreate default and its rationale stay for non-HA). HA mode: RollingUpdate maxSurge 1 / maxUnavailable 0, no PVC, PDB minAvailable 1 with unhealthyPodEvictionPolicy AlwaysAllow (a NotReady leader must not wedge drains), topology spread across nodes, pre-created Lease and state ConfigMaps, Role scoped by resourceNames with get/update/patch only.
Acceptance Criteria
- #1 Render tests cover HA on, HA off, and the invalid combinations
- #2 PDB uses AlwaysAllow; Role has no create/list/watch
- #3 docs/kubernetes.md documents HA mode and its handoff semantics
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
Frozen HA seam chart section9 on accepted landed Kubernetes backend; render HAon/off invalid fixtures, Kubernetes version/PDB/noPVC/namedresources/RBAC/persistence-preserving upgrade tests, envkeys match Go andseam. Fullgate/CodeRabbit/securityreview preland; no livecluster.
Resume retained chart on current main; reproduce Helm 3.22 fixture failure before fixing; preserve non-HA 1.25 floor and validate HA at 1.31; local gate, guarded reviews, root CI trial and revert on red.
Repair workflow validation boundary by separately validating every non-HA fixture at1.25 and HA fixture at1.31 with same pinned reusable and required aggregator; establish valid HA-capable image selection with registry/source provenance; document backup and old-emitter stop sequencing.
One owner-raised coordination-only repair cycle: serialize the two required schema invocations without reducing fixture coverage or changing shared reusable; Helm3.22 base/candidate gates, delta guarded reviews, serial exact CI trial and immediate revert on red.
Implementation Notes
loop1: implementation attempts 0; dependency parked on SKT-0094 (named ConfigMap state backend) plus SKT-0092 (lease HA) and SKT-0093 (standby readiness). Resume after accepted prerequisite lands/gates. No chart or cluster 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.
loop7 implementation attempts0; dependency park: S94 must land before C97. Resume frozen order after prerequisite accepted land/green gate; no candidate/source changes this run.
loop8 attempts0, priorcountsunchanged. Parkneedsdependency: S94backendmustland beforechartenvconformance. Resumeafterbackendseamavailable; nochartchangeundertaken.
loop10: new implementation attempts0, historical implementation count0 unchanged. Dependency park on SKT-0094 (Kubernetes state backend) 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-0094 (Kubernetes state backend) 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: fourcycles used(worker2,rescue1,rescue2), noreset. Safeoperator-precreatedcandidate localrender/fullgate+CodeRabbitfull/deltas+securityfull/delta passed; rootland02c61a12e5485662de888979c3321e6b7f2b83da CI38085650843 FAILED. Helm3.22CIlookup/precreationrace fixtureobservedzeroAPIrequests unlikelocalHelm4.3; independent reusableHelm4 strictKubernetes1.25 rejectsHAfixturePDBunhealthyPodEvictionPolicy. go/helm/reusable/ci-successred, race/e2eskippednotpasses. Rootrevertedownchartlandas6cf9d89569f60d6ff9dfae774926dfcb355d7918 because noauthorizedrepaircycle remains; precedingfourupstreamlands retained. Parkdefect needsownerbudget plusversion/schemafloorCIintegration scope, exactretainedcandidatebytecomplete notrecodedfromprose. No acceptancechecked or livechartdeployed; recoveryCI/composedproofpending.
Recovery complete: exactrevertSHA6cf9d89569f60d6ff9dfae774926dfcb355d7918 CI38086210754 all10jobs success andcleancomposed justcheck0. LocalpinnedchartSHA02c61a composedgate0 doesnotclearitsfailedCI. Safe15fileoperatorprecreatedcandidate retainedbyteexact; chartremainsunaccepted/reverted/parked at4cycles. Fourprecedingupstreamfeaturesremain. No more CIattempt/codechanges/Helmoperation.
loop12: four implementation cycles exhausted, no reset. Park defect after exact CI Helm-version fixture and Kubernetes schema-floor failures; own chart land reverted and exact recovery CI/composed gate green.
Security review rejects current candidate before land: CI schema job still sends HA fixture to Kubernetes1.25; inherited default image is malformed and appVersion fallback1.3.1 lacks HA/state parsing. No CItrial/land. Newly authorized worker cycle spent; one authorized rescue cycle remains.
This run: one additional worker plus one rescue cycle spent, six historical cycles total; no reset. Original image and Kubernetes schema-input majors repaired with strict139/0 render proof, fullgate0 and11fileCodeRabbitdelta0findings. Pinned published HA image source verified by index/config/layer/binary buildinfo. Security delta finds new major: both parallel reusable schema calls share a workflow concurrency group with cancel-in-progress=true, allowing required sibling cancellation. Source-derived hazard, not observed GitHub cancellation. No CItrial/land/revert. Parkdefect at added ceiling; recommend owner authorize one bounded coordination-wiring repair (e.g. serial dependency, preserving both floors/fixture coverage), delta security review and exact CItrial. Complete18file candidate retained; subsequent new-base read-only gate pending, not an acceptance. Migration now explicitly blocks unsafe file-state conversion until validated offline transfer and old emitter stopped.
Final new-base read-only gate on1200cefd6a16e61a0c11d535b626502c16fce171 failed plain control-dash shipped-scenario test at600.890s (812.044s total), cause UNKNOWN; later race/schema legs not executed. Helm3.22/UI prerequisite passed, exact18file patch and source hashes unchanged; retained old/generated embeds both verified. Park remains added-cycle ceiling and reusable concurrency major; local full acceptance also unproved on integrated base. No unchanged retry, land or CItrial.
One added coordination-only cycle used, seven total historical cycles. Required reusable schema invocations now serialized by needs dependency; fail-first regression caught absent serialization. Corrected native-path base and candidate just check0 with isolated official Helm3.22. All10nonHA fixtures validated against1.25 and1HAfixture against1.31, no missing-schema skip. Rendered20key frozen seam/current runtime reads and fixed defaults/downward API verified. Original image provenance/migration/old-emitter barriers retained. Exact2file CodeRabbit delta complete0findings and independent security deltaPASS. Serial root publication/exact CI still pending; no live chart deployment.
loop14: one owner-raised coordination-only cycle, seven total historical cycles preserved. Landedc573c89; exact CI38153340011 all11jobs success, every Helm/schema job successful, none skipped/cancelled. Non-HA validation completed15:56:20Z before HA began15:56:23Z. No revert owed. Helm3.22 local gates/schema/env proofs and two-file CodeRabbit/security deltas passed; no live deployment. Final code SHA c573c89f65d206f3e274d1904d8db85425a367d2, exact CI38153340011 all11jobs success; clean composed just check0 (946.402s). just dump0 (22.224s), unchanged runtime/renderer inputs and same-SHA catalogue/corpus producer ratchet225/225; no new inventory delta. just gen not applicable: no blueprint/construct/workload/skill config changed; gen-check passed. Tracker-only final-tip CI identity will also be verified in the run report.
Final Summary
Stateless HA chart accepted with both schema floors preserved and reusable calls serialized; image provenance, migration and old-emitter barriers retained. Exact CI and composed gate green.