Lifecycle Route Actions

A repository document, rendered for the site. View source markdown.

Generated at: 2026-07-30T12:38:02.000Z UTC · source: committed helm-expt evidence for this rendered repository document.

UNOFFICIAL/EXPERIMENTAL. Generated by scripts/generate-lifecycle-route-actions.mjs. Do not hand-edit. Regenerate with npm run lifecycle:route-actions.

This projects the legible lifecycle-route contract (../lifecycle-routes/) into machine-readable action packets: per route, the lifecycle phase, the action kind, required target facts, an agent-readable input block, the evidence required to advance, and an explicit automatic flag. It lets a UI or agent turn "where a hook/lifecycle action should go" into a checkable preflight/action/observe plan - without claiming live or automatic execution.

Schema: schemas/lifecycle-route-action.schema.json. Forms: actions.csv, actions.json (agent interface), field definitions in contract.md.

The honest flag

0 of 53 packets are automatic. No route is executed by the product today, so automatic is false everywhere; a packet is a plan, not a claim that anything ran. automatic only becomes true when execution_mode is product-executes and committed evidence proves it.

Distribution

DispositionPackets
observed42
blocked7
routed2
not-run1
per-target1
Lifecycle phasePackets
pre-apply17
observe16
preflight11
post-apply8
pre-render1
Action kindPackets
run-job13
accept-target-policy7
run-preflight7
preserve-ordering5
install-crd4
observe-webhook4
run-test4
stage-target-facts4
run-check3
gitops-sync-hook1
verify-render1

Named source drift

7 packet(s) carry a source-version drift, named (not hidden):

Not yet projected

These hook-like lifecycle behaviors are real but are not in the hook-disposition source, so they are not projected here yet. They are illustrated in the user doc (../../docs/user/chart-hooks-what-happens.md):

Folding those sources into this projection (so they get action packets too) is the next primitive worth adding to the model.

How To Read One Packet

route_name is the route; lifecycle_phase is when it happens (pre-render → preflight → pre-apply → post-apply → observe, or refuse); action_kind is what kind of step it is; disposition is one of observed, routed, per-target, not-run, blocked, refused; automatic says whether the product runs it (always false today); required_target_facts and human_command are the inputs; agent_inputs (JSON) is the stable block an agent selects from; evidence_required is what must exist before the row can advance to observed.

Boundaries