Delete the signed release path (deployment_brake_release, the operator enroll/export verbs, the anchor option and flag, the consumed-once scan, the durable re-verification, DeploymentAuthorization::validate_shape). src/brake.rs is the one reader and writer of the stop (idunn.deployment_stop.v1: engaged|clear, by from the process uid, reason, at, sequence). Absent or clear admits; a foreign, corrupt, symlinked, other-runtime or foreign-owned store fails closed. advance_sealing stamps deployment_admitted_at_unix_millis (key 38) for Deploy and Rollback alike, so static releases and rollbacks use the same stop. Control record v6: key 38 changes canonical bytes, so v5 gets a legacy layout, a lift, boot migration and pinned bytes tests. Key 16 stays a never-written legacy field so old terminal records decode. idunn-provision: deployment-brake-engage|clear|status take --store, --runtime-id, --reason only; status exits nonzero unless deployments admit. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
3.5 KiB
Deployment provenance instead of an approval gate: target
Status: target, Self, 2026-10-19 (campaign idunn-deploy-provenance in
Eureka's mind). It states the ends. The map will live in
deploy-provenance-map.md.
Live as of cut brake-is-a-stop (2026-11-13): the deployment brake is the
stop of invariant 3 and the signed per-deploy release is gone. src/brake.rs
reads and writes it; idunn-provision deployment-brake-engage|clear|status
take only --store, --runtime-id and --reason; the writer's login name and
the verb's clock are recorded; an absent or clear store admits. The
transaction stamps deployment_admitted_at_unix_millis (record v6). Still
planned: the typed authority provenance on the transaction (invariant 2), and a
steward-scoped store.
Why
Operator, 2026-10-19:
The rule about the deployment brake was instituted by a cautious agent, but it doesn't actually suit how GameCult operates. The whole point of Eureka is to give the Mind, Persona and Self agency over its own Body. It's requiring my approval for every deployment that violates our principles. Yes, we certainly want to know which agent approved the deployment and why (this is the authority provenance which we might want to add to the transaction), but that's not the same as gating every deploy on my approval.
On the same day a StreamPixels deploy (tx-b40c7240) waited on the brake because only the root-held operator identity could release it. The agent running the deploy could neither proceed nor record why it should.
F:\Projects\CLAUDE.md says a deployment brake may gate artifact, revision,
configuration, schema, unit or authority changes. It does not say that
operator approval is the gate.
Invariants
- No deployment waits on a per-transaction operator approval. An agent acting for the Mind, Persona or Self may admit a deployment of a target it is authorized for.
- Every transaction carries typed authority provenance. That is: who
approved it (agent or instance, and faculty), under which session or
ruling, and why. It is written before Fencing, it is immutable, and
idunn statusand history show it. It is part of the transaction document, not a log line. - A brake that survives is a stop, not a gate. The operator or an
authorized agent can halt deployment of a target, and the halt is itself
provenance-bearing. The deployment brake and the continuity lifecycle brake
stay separate (
F:\Projects\CLAUDE.mdInfrastructure). Neither gates Idunn itself, and the deployment brake never gates continuity. - Existing invariants hold. These are
idunn-reincarnationtarget r2,route-continuity-target.md1-7 andauthority-map.md.
Scope
In:
-
The deployment-brake release path in Idunn and
idunn-provision. -
The provenance record on the transaction.
-
idunn statusand history projection of the provenance. -
The gamecult-ops runbooks that describe a per-transaction operator release (
heimdall-discord-launch.md,idunn-host-raven.md, the StreamPixels runbook). -
A static release (a sealed tree published by repointing a link, with no workload): its transaction records
flip(release, previous release, the sha256 of the carried per-site file) beside the brake bytes. Seedeployment-authority.md, "Static release".
Out:
idunn-reincarnation. This campaign is mapped after that campaign's cut 2 merges, and coordinates with it rather than bundling.- Harness permission rules on the workstation, which are the operator's.
- Heimdall's onboarding failures.