Skip to content

[M6-11] Qualify every Kubernetes cell #145

Description

@vicotrbb

Release 1 source: #1. The master specification is referenced, not modified by this ticket.

Execution signal: ready-for-agent means this issue is implementation-ready once every native GitHub blocker below is closed.

Outcome

Execute exact-candidate Helm and Operator install, reconcile, restricted policy, scoped/cluster-wide RBAC, two-replica Lease failover, SSA, drift, finalizers, retain/delete, operand N/N-1, backup, restore, upgrade, fencing, hibernation, failure, and recovery cells on every exact patch/distribution/architecture/CSI/StorageClass target.

Scope and semantic ownership

  • Milestone: M6
  • Global sequence: 144 / 149
  • Semantic owner: Kubernetes Platform
  • Highest useful behavior seam: Qualify every Kubernetes cell
  • Affected registered scopes: positron-operator, registered Helm and Kubernetes artifact scopes
  • Expected project size / estimate: XL / 13
  • Completion status rule: An exact cell may become Qualified only when the frozen candidate passes the complete real-target gate and immutable evidence is retained. Any failed, missing, stale, unsupported, inconclusive, or exceptional required cell remains release-blocking.

No weaker document, implementation convenience, partial target, emulator, local diagnostic, or green subset may reinterpret the binding contract.

Native blockers

The native blocked-by graph is authoritative for execution order. Do not start implementation while a blocker is open, while an affected scope remains unlawfully scaffold-only, or while a required decision/review is missing.

Binding product and architecture references

Accepted ADRs

If implementation would change caller knowledge, semantic ownership, a public or durable format, compatibility, a non-waivable invariant, or Release 1 scope, stop and land the required accepted superseding ADR together with its contract, migration, tests, and gates.

Engineering invariants and gates

Do not weaken, skip, rename, path-filter, delete, reclassify, or silently bypass a gate, target, threshold, owner, test, corpus, fixture, hook, workflow, or evidence field.

Affected Qualification Cells

  • Q-K8S-001
  • Q-K8S-002
  • Q-K8S-003
  • Q-DIST-003
  • Q-CONFIG-001
  • Q-PROCESS-001
  • Q-STORAGE-001

Each cell remains independently reportable. A passing child cannot hide a failed, unsupported, missing, unresolved, or inconclusive sibling.

Required implementation contract

  • Deliver the outcome exactly as stated above, through the named semantic owner and highest useful behavior seam.
  • Keep the Operator deployment-optional and limited to orchestration of the same database binary and its public operations.
  • Use deterministic idempotent reconciliation, explicit SSA ownership, scoped RBAC, leases, status, finalizers, version skew, and durable-operation reattachment.
  • Keep storage, encryption, backup, restore, compaction, query, and durability logic inside Positron rather than the Operator.
  • Qualify each exact Kubernetes patch, distribution, architecture, CSI driver, and StorageClass independently.
  • If any affected code or artifact scope is still scaffold, activate it atomically with its owner, exact edges, risk gates, test commands, measured coverage/mutation baselines, and required threat model or format/API decision before adding behavior.
  • Preserve the registered acyclic dependency graph and keep provider/protocol/distribution types behind their adapters.
  • Return closed typed outcomes with safe details, retry class, completion state, and source context. Never use strings for control flow.
  • Declare every externally reachable input, work, memory, allocation, copy, I/O, task, queue, cache, lease, retry, and latency bound plus overload behavior.
  • Add no dependency without the complete review required by CONTRIBUTING.md.
  • Keep generated output generated and prove clean deterministic regeneration.
  • Update user/operator compatibility, migration, failure, recovery, and release-note documentation where behavior is visible.

Required tests

  • Pure reconciliation-plan tests plus live API outage, conflict, drift, deletion, finalizer, lease failover, and restart cases.
  • Restricted-policy, scoped/cluster-wide RBAC, two-replica, N/N-1 operand, backup, restore, upgrade, fencing, hibernation, and retain/delete cases.
  • Real exact-cluster qualification; fake clients and envtest cannot qualify a named Kubernetes target.
  • Include positive, boundary, negative, and adversarial cases at the lowest interface that proves the contract.
  • Assert returned outcomes, durable externally readable state, published artifacts, or public behavior—not private fields, helper calls, queue layout, or incidental ordering.
  • Keep tests hermetic, deterministic, parallel-safe, bounded, and retain seeds, clocks, entropy, schedules, fault plans, fixtures, and minimized failures.
  • A reproducible defect fix begins with a failing regression test and retains the reproducer.
  • Run all scope-selected unit, compile-fail, contract, property, integration, end-to-end, compatibility, platform, real-target, fuzz, model, fault, sanitizer, and soak suites that apply.

Evidence and completion

  • Run the authoritative cargo xtask quality profile required by the change and retain its exact revision-bound evidence.
  • Record exact source revision, artifact digests, target/environment, configuration, fixtures, dataset/workload, fault schedule, toolchain, command, duration, raw measurements, safe logs/metrics, result, owner, and verifier as applicable.
  • Retain passing, failing, inconclusive, exceptional, timeout, cancellation, and missing-tool attempts. A later pass must not erase a failure.
  • Verify no panic/unwrap/expect, unchecked indexing, ignored result, detached task, unbounded resource, ambient authority, prohibited unsafe code, secret leak, or hidden best-effort path was introduced.
  • Verify the working tree and generated artifacts are clean after the authoritative runner.
  • Do not close this issue from an ad hoc command, mock-only proof, emulator-only proof, local dirty evidence, or partial Qualification Cell.

Explicit non-goals

  • No operator-owned database state machine or requirement to deploy Kubernetes for standalone use.
  • No HA database, replication, automatic failover, multi-writer storage, or CSI snapshot substitution.
  • No Release 1 Metrics or Profiles implementation.
  • No replication, consensus, HA, automatic failover, follower reads, clustering, or live shard split/merge.
  • No hidden feature flags, placeholder APIs, empty adapters, speculative modules, or disabled deferred behavior.

Agent handoff checklist

  • Re-read the referenced contracts and ADRs before changing code.
  • Identify the exact semantic owner, caller-visible seam, durable publication owner, and affected Qualification Cells in the implementation PR.
  • Explain the lifecycle and failure boundaries before editing.
  • Keep implementation, qualification, publication, deployment, and release as separate states and authorizations.
  • Leave an evidence-backed status if blocked; never fabricate Implemented, Qualified, or merge eligibility.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:kubernetesHelm, Operator, and Kubernetes qualificationkind:qualificationExact-artifact target qualification workphase:M6M6 Release Qualificationready-for-agentReady for implementation by an agentrelease:1Required for Positron Release 1

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions