Publish runtime presence in the contract Odin admits
Heimdall published `idunn.signed_daemon_health.v1`, the previous generation's contract. Odin admits a document as runtime presence only when it carries `gamecult.runtime_presence_health.v2` and its record key equals the signed target; everything else it stores as an ordinary document. So Heimdall's health arrived, was filed away, and no topology correlation for it was ever produced -- which is what held every deployment at Warming. The statement is dual-proved, so the process must also prove it is the incarnation Idunn started, using the activation key passed as a descriptor beside the presence identity. Every field describing the launch is read from the runtime bundle rather than configuration. Two things had to be fixed for that to be possible at all: The descriptor lookup compared LISTEN_PID to our own pid. Under PrivatePIDs systemd sets it to a pid in the outer namespace, so it never matched, and because the lookup answers "undefined" rather than throwing, Heimdall quietly self-enrolled a key nothing trusts -- exactly the failure its own comment warns about. The name in LISTEN_FDNAMES identifies the descriptor. The publisher sequence was an in-process counter starting at zero every boot. Idunn treats a repeat or regression as a replay, so a restart would have made every later statement refusable; it now lives beside the target's state. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
edef7f1352
commit
97ea976954
7 changed files with 418 additions and 80 deletions
2
vendor/CultLib
vendored
2
vendor/CultLib
vendored
|
|
@ -1 +1 @@
|
|||
Subproject commit 5cefa0db0079a8e3ee22f29d7b9e6e5aa60912a9
|
||||
Subproject commit d1a9edad3a116be341b0b5198c6998c31a083bda
|
||||
Loading…
Reference in a new issue