Commit graph

503 commits

Author SHA1 Message Date
Meta Vens
bc2fdedcb0 Refuse agent scratch
.codex-tmp had grown to 50MB of build tarballs and lockfile snapshots.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-04 15:08:44 +02:00
Meta Vens
27cc8156bc Consume CultCache and CultNet from CultLib instead of forking them
The CultNet submodule and the in-tree CultCache copy are gone. Both now come
from CultLib, and vendor/cultmesh-rs is the only fork left -- it too consumes
CultLib, so exactly one version of each crate spans the graph. That mattered:
mixing sources would have put two cultnet-rs crates in one build, and the types
would not have unified.

The in-flight CultMesh RUDP document server comes with it because it is a
prerequisite, not a coincidence. The previously committed CultMesh calls
assume_connected(), a CultNet method Odin's fork carried and CultLib does not,
so the old code cannot build against CultLib at all. The newer code no longer
calls it. Verified by reverting the file and watching it fail.

Three API differences needed adapting: CultLib's transport options carry a
reconnect_policy the fork lacked (7 sites), its create_ack builds the packet
straight from ack state and so cannot fail, and its transport profile owns each
channel's reliable expiry.

Everything but odin-daemon builds; odin-daemon is Unix-only and does not compile
on this machine either way. muninn and sleipnir pass 162 tests. The one failure,
rudp_media_transport_options_follow_low_latency_profile, expects an Unreliable
media channel while every CultNet lineage including both revisions Odin had
pinned declares it Reliable, so it failed before this change too.

The in-flight idunn-daemon work is deliberately left uncommitted; the committed
tree was verified to build without it. Also left alone: the untracked
odin-daemon crate and deployment recipe, and the root manifest, whose now-dead
vendor excludes are inert. That recipe still requires the vendor/cultnet-rs
gitlink and will refuse admission until that line is dropped -- the fix is in
the working tree, waiting on that directory being tracked.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-04 14:54:58 +02:00
Meta Vens
515a864ef0 Rebase Idunn actuator scripts off the projects root
The previous commit fixed the target catalog and the operator alarm, but the
actuators the catalog invokes carried the same E: paths. Idunn would have
resolved every target and then failed on the first restart or deploy it ran,
for exactly the reason the alarm failed.

Rebased 41 references across 27 scripts:

- .cmd bodies invoke their sibling .ps1 through %~dp0 instead of an absolute
  drive path, and restart-weksa.cmd reaches its sibling repo the same way.
- .ps1 parameter defaults and assignments derive from $PSScriptRoot: one level
  up for paths inside Odin, two for sibling repos under the projects root.

Left deliberately alone: $RemoteViliRoot and $StateRoot in restart-vili.ps1.
Both are consumed inside the EncodedCommand block that restart-vili ssh's to
raven, so they describe raven's filesystem, not starfire's. Whether raven also
moved off E: is an operator question, not something to infer from here.

Verified: all 46 scripts under scripts/ parse clean, and the derivation
resolves to F:\Projects\Odin and F:\Projects on this host.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-04 01:05:40 +02:00
Meta Vens
70ad92c8e3 Restore Idunn starfire paths after the E: drive loss
The projects root moved from E: to F:, but Idunn's starfire-local surfaces
still named E:\Projects. Local Idunn died on 2026-08-16 with "fatal: cannot
change to 'E:\Projects\Heimdall'" and every one of its 16 operator alarms
also failed (0xfffd0000), because notify-idunn-operator-alarm.cmd shelled to
an E: path that no longer existed. The supervisor was down for 18 days and
could not say so.

Rather than swap one hardcoded drive letter for another, derive the projects
root the way this catalog already derives its repo root:

- notify-idunn-operator-alarm.cmd invokes its sibling via %~dp0.
- notify-idunn-operator-alarm.ps1 resolves Bifrost from the projects root.
- idunn-deployment-targets.ps1 gains $projectsRoot and rebases 19 LocalPath
  values onto it. The remote /srv/build/VoidBot path is left alone.

Verified: the catalog resolves 15 of 20 targets to real directories, the
remote target is untouched, and the alarm chain now runs to exit 0 emitting
a valid gamecult.operator_dm_request.v1 under IDUNN_OPERATOR_ALARM_DRY_RUN.

Still broken, not addressed here: stonks, vili, StreamPixels and repixelizer
have no directory under F:\Projects, and the Bifrost publisher's non-dry path
throws "definition.schema.parse is not a function" against the current
CultMesh.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-03 23:14:48 +02:00
Meta Vens
65cf2b2f5c Reject pre-OpenFile control records 2026-09-03 06:05:23 +02:00
Meta Vens
8692553908 Fence parent-only runtime signing credentials 2026-09-03 06:02:54 +02:00
Meta Vens
412978aeb1 Rebuild Idunn deployment transaction authority 2026-09-03 05:23:06 +02:00
Meta Vens
d527d72700 Map Idunn source actuation authority 2026-09-03 00:36:41 +02:00
Meta Vens
af1d4e537e Freeze exact deployment source before actuation 2026-09-03 00:28:29 +02:00
Meta Vens
92d2b27e15 Harden Idunn native authority drivers 2026-09-02 23:54:20 +02:00
Meta Vens
330e4cd75d Rebuild Idunn around typed authority ports 2026-09-02 23:13:36 +02:00
Meta Vens
cebe4259ce Simplify Idunn deployment authority contracts 2026-09-02 21:02:30 +02:00
Meta Vens
167c234276 Lock Idunn deployment parser dependencies 2026-09-02 18:53:12 +02:00
Meta Vens
d44881fb4a Define Idunn deployment authority contract 2026-09-02 18:31:13 +02:00
Meta Vens
33ebcd9271 Encode a genuinely noncanonical admission fixture 2026-09-02 14:21:04 +02:00
Meta Vens
45fa0385d7 Keep canonical origin output alive for validation 2026-09-02 14:16:48 +02:00
Meta Vens
32cbb5f028 Bind Idunn deployment and runtime admission 2026-09-02 13:53:07 +02:00
Meta Vens
ffcc7eb820 Read CultMath shaders from CultLib 2026-08-26 17:57:36 +02:00
Meta Vens
7e31921c4b Align capstone release with package identity 2026-08-25 12:28:36 +02:00
Meta Vens
446657a1bd Rename Epiphany capstone target 2026-08-25 12:11:43 +02:00
Meta Vens
32009991ee Retire unadmitted Gjallar transport claims 2026-08-25 04:38:28 +02:00
Meta Vens
fa0057c0c1 Add isolated Epiphany container target 2026-08-25 04:33:18 +02:00
Meta Vens
06a297d122 Retire Nightwing Gjallar from active state 2026-08-25 04:29:07 +02:00
Meta Vens
a8db89d961 Expose typed Eve surfaces beyond loopback 2026-08-25 03:56:53 +02:00
Meta Vens
45e98fe8d4 Give Codex Connector an independent Idunn target 2026-08-24 21:19:13 +02:00
Meta Vens
1fc13e0df6 Let systemd own unsigned Gjallar continuity 2026-08-24 20:58:33 +02:00
Meta Vens
22897fdbaa Refresh Gjallar Yggdrasil memory 2026-08-24 20:51:02 +02:00
Meta Vens
98c67e3579 Move Gjallar supervision to Yggdrasil 2026-08-24 20:40:19 +02:00
Meta Vens
0fc29fa559 Record live reliable discovery body 2026-08-23 19:55:01 +02:00
Meta Vens
ba76a7239a Serialize Odin provider document persistence 2026-08-23 19:41:59 +02:00
Meta Vens
17d45abe06 Adopt reliable CultNet transport in Odin 2026-08-23 19:37:34 +02:00
Meta Vens
ed56dab812 Persist Ghostlight public schema catalogs 2026-08-23 19:31:47 +02:00
Meta Vens
28c0497260 Bound Idunn operational history 2026-08-23 00:54:06 +02:00
Meta Vens
f875a6e795 Bound Idunn authenticated health history 2026-08-23 00:40:52 +02:00
Meta Vens
8b972715c4 Expose Idunn deployment brake denial causes 2026-08-22 16:09:20 +02:00
Meta Vens
11b7669c75 Let Idunn lock deployment brake snapshots 2026-08-22 15:57:02 +02:00
Meta Vens
93d17187ba Authorize Epiphany unit promotion 2026-08-22 13:00:07 +02:00
Meta Vens
8ddf81400b Validate generic signed health admissions 2026-08-22 09:45:55 +02:00
Meta Vens
0ed9562387 Document Heimdall discovery admission 2026-08-22 04:08:47 +02:00
Meta Vens
b4f9a2e95f Register Heimdall access discovery documents 2026-08-22 03:53:10 +02:00
Meta Vens
2a5cb3e08f Authorize Ghostlight deployment surfaces 2026-08-22 03:00:49 +02:00
Meta Vens
472d50c325 Admit root-authorized health signer rotation 2026-08-22 02:56:36 +02:00
Meta Vens
d418523d05 Rotate one provider health trust signer 2026-08-22 02:37:57 +02:00
Meta Vens
3ec90d59f6 Witness Heimdall source-selected releases 2026-08-22 02:17:55 +02:00
Meta Vens
745e01093c Preserve millisecond health admission time 2026-08-21 21:33:01 +02:00
Meta Vens
209bb6e166 Document source-selected release authority 2026-08-21 21:28:54 +02:00
Meta Vens
fbd54f82fb Select deployable source revisions 2026-08-21 21:15:58 +02:00
Meta Vens
78e299a980 Admit Ghostlight to Idunn continuity 2026-08-21 21:02:20 +02:00
Meta Vens
7c5246fc09 Give Idunn Epiphany source change authority 2026-08-21 20:59:11 +02:00
Meta Vens
0ad0067c39 Fix signed daemon health schema admission 2026-08-21 20:14:15 +02:00