# Live Run-Block Planner

**UNOFFICIAL/EXPERIMENTAL.** Generated by
`scripts/generate-live-run-blocks.mjs`. Do not hand-edit. Regenerate with
`npm run live-run-blocks`.

A read-only plan that turns the **ready-to-run todo** rows in
[live-matrix-burndown/work-items.csv](../live-matrix-burndown/work-items.csv)
into small, ordered run blocks for the serial live lane. It does not run
anything, edit any receipt, or change any status; it only sequences the next
commands. Per-row decisions live in
[live-parity-decisions](../live-parity-decisions/summary.md) and
[kind-parity-decisions](../kind-parity-decisions/summary.md); residue families are
defined in [residue-families](../../docs/reference/residue-families.md).

## Predictions are not claims

Each row carries a **predicted** residue family and target profile, derived from
committed evidence (a sibling receipt for the same chart, a recipe support
artifact, or the chart-family pattern). A prediction is a hint for sequencing,
never a result. Where there is no evidence the prediction is `unknown`, not a
guess. Always classify from the actual receipt after a run.

## Counts

```text
ready-to-run rows:   7
run blocks:          2  (G/P: 2, K: 0)
derived predictions: 7
unknown predictions: 0
```

Order: G/P live-parity blocks first (one command classifies both the G and P
cells), then two-cluster kind-parity blocks; within each, hard charts
(operators, CRD/webhook/lifecycle, platform/networking) before ordinary apps,
then by predicted residue family and chart family. Blocks are capped at
5 commands.

## GP-01 — G/P · app

**Goal:** G/P: run the 4 ready live-parity row(s) with predicted gitops-runtime (grafana/grafana@10.5.15, prometheus-community/prometheus@29.8.0); each live-parity command classifies both the G and P cells. Confirm or reclassify from each receipt.

**Stop:** Stop when every command in the block has written a committed receipt. If an actual residue differs from the prediction, keep the receipt and let the decision surfaces reclassify — never force the predicted family.

| Chart | Base | Command | Predicted residue | Confidence | Serial safety |
| --- | --- | --- | --- | --- | --- |
| grafana/grafana@10.5.15 | customer-acme-prod | `npm run live-parity:run -- --recipe recipes/grafana/grafana/10.5.15 --base customer-acme-prod` | gitops-runtime | medium | light controller — safe within a block |
| grafana/grafana@10.5.15 | prod-us-east | `npm run live-parity:run -- --recipe recipes/grafana/grafana/10.5.15 --base prod-us-east` | gitops-runtime | medium | light controller — safe within a block |
| prometheus-community/prometheus@29.8.0 | prod-us-east | `npm run live-parity:run -- --recipe recipes/prometheus-community/prometheus/29.8.0 --base prod-us-east` | gitops-runtime | high | light controller — safe within a block |
| prometheus-community/prometheus@29.8.0 | staging-eu-west | `npm run live-parity:run -- --recipe recipes/prometheus-community/prometheus/29.8.0 --base staging-eu-west` | gitops-runtime | high | light controller — safe within a block |

## GP-02 — G/P · app

**Goal:** G/P: run the 3 ready live-parity row(s) with predicted operate-policy / remote-image (hashicorp/vault@0.32.0, bitnami/redis@25.5.3); each live-parity command classifies both the G and P cells. Confirm or reclassify from each receipt.

**Stop:** Stop when every command in the block has written a committed receipt. If an actual residue differs from the prediction, keep the receipt and let the decision surfaces reclassify — never force the predicted family.

| Chart | Base | Command | Predicted residue | Confidence | Serial safety |
| --- | --- | --- | --- | --- | --- |
| hashicorp/vault@0.32.0 | regulated-prod-us-east | `npm run live-parity:run -- --recipe recipes/hashicorp/vault/0.32.0 --base regulated-prod-us-east` | operate-policy | high | stateful/heavy — run alone, allow a longer timeout, verify PVC/cluster cleanup |
| hashicorp/vault@0.32.0 | staging-us-east | `npm run live-parity:run -- --recipe recipes/hashicorp/vault/0.32.0 --base staging-us-east` | operate-policy | high | stateful/heavy — run alone, allow a longer timeout, verify PVC/cluster cleanup |
| bitnami/redis@25.5.3 | prod-us-east | `npm run live-parity:run -- --recipe recipes/bitnami/redis/25.5.3 --base prod-us-east` | remote-image | medium | stateful/heavy — run alone, allow a longer timeout, verify PVC/cluster cleanup |

## Boundaries

- Read-only projection over committed sources. No live run, no cluster, no
  `runs/` receipt edited, and no status changed.
- Predictions are derived hints, never claims. `unknown` means no evidence —
  it is not a defect and not a guess.
- Blocks only sequence existing ready-to-run rows; they never invent rows or
  promote a row's status.
