Idunn/docs
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Eureka d5ea779096 Idunn: static release transaction (flip in Starting) and the v5 control record
A static release is the same DeploymentTransaction in three phases: Sealing,
Starting (carry and flip, behind the deployment brake) and Complete. It has no
Expected, activation, workload, warming, isolation, fencing, leasing, ready or
routing, and creates no AdmittedGeneration.

DeploymentTransaction gains key 37 `flip` (FlipEvidence: release, previous
release, carry source, carried sha256, time). Adding a key changes the bytes of
every record, and the control store refuses a record that does not re-encode to
what is stored, so this is schema idunn.deployment_transaction.v5. The v4
layout is kept as LegacyDeploymentTransactionV4 and lifted by the existing
mechanism (read_transaction_record, history decode, and the boot migration,
which rewrites v4 records in control.cc to v5). Migration is forward-only: an
Idunn that predates v5 cannot read a migrated control.cc.

Also: is_static() and brake_subject() (the brake names the binding's runtime id
and the sealed release, read by deployment_authorization, durable-authority
validation and status); validate_static; advance_sealing skips readiness_class
and expected_projection for static; advance_starting delegates to
advance_static (intent with the previous release read from current_link,
carry_and_flip then record, observe link == release, then Complete with
Admitted{generation-<tx>} and post_commit_cleanup(SkippedNoIncumbent, source
Pending)); a failure in Starting takes the existing pre-fencing abort;
Engine.static_release Arc<dyn StaticReleasePort>. Docs: a Static release
section in deployment-authority.md and a scope line in
deploy-provenance-target.md.

Tests: control_plane::tests::static_release_ (3), a pinned v4 record lifts and
re-encodes as the pinned v5, a v4 control store copy in a temp dir migrates to
v5 and an already-v5 store is untouched byte for byte, and the pinned-bytes
test now pins v5 with the v4 bytes kept as a legacy fixture. The test runner is
a stand-in over the real seal_artifact behind a cfg(test) Engine seam, because
DockerRunnerDriver workspace ownership requires root.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-13 16:32:06 +00:00
..
research Research: restart budgets and rollout/restart handover prior art (idunn-reincarnation forks) 2026-10-18 23:22:33 +02:00
authority-map.md Docs: member connection limit and the cached presence answer 2026-10-23 04:34:28 +02:00
deploy-provenance-map.md deploy-provenance map: runner failure evidence (body facts R1-R8) 2026-10-25 02:04:37 +01:00
deploy-provenance-target.md Idunn: static release transaction (flip in Starting) and the v5 control record 2026-11-13 16:32:06 +00:00
deployment-authority.md Idunn: static release transaction (flip in Starting) and the v5 control record 2026-11-13 16:32:06 +00:00
guide.md Soul fixes: grammar; cite the gamecult-ops merge 2026-11-11 08:57:51 +00:00
host-actuator.md Body map after reincarnation cut 2: two slots, take_target, forward retry, operator-required 2026-10-20 02:40:55 +02:00
migration.md Topology publishes never wait: one private-lock exchange primitive 2026-10-01 01:28:05 +02:00
reincarnation-map.md Reincarnation map: cut 2 installed 2026-10-20 02:36:25 +02:00
reincarnation-target.md Reincarnation: continuity never stops (target r2), cut 1 never-stop mapped 2026-10-18 23:44:14 +02:00
route-continuity-cut.md Route map: B5 merged (fcb8ba1) and installed on Yggdrasil 2026-09-30 22:36:02 +02:00
route-continuity-target.md c2d fix 2/2: a continuity yields only while unproven, and only to a Deploy that can move 2026-10-19 21:43:34 +02:00
secret-files-cut.md Secrets map: Heimdall secrets merged at ca2366c after Soul pass 7 2026-09-30 22:49:57 +02:00
signed-daemon-health-authority.md State Idunn's health wire contract where Idunn can own it 2026-09-06 19:27:00 +02:00
verify-transaction-cut.md Record the ninth batch: the frozen-source digest was exposed too 2026-09-23 05:54:43 +02:00
watchdog-reporting-map.md Body map after reincarnation cut 2: two slots, take_target, forward retry, operator-required 2026-10-20 02:40:55 +02:00
watchdog-reporting-postmortem.md Body map after reincarnation cut 1; cut 1 installed on Yggdrasil 2026-10-19 10:36:21 +02:00
watchdog-reporting-target.md Body map after reincarnation cut 2: two slots, take_target, forward retry, operator-required 2026-10-20 02:40:55 +02:00