Commit graph Odin/scripts
Author SHA1 Message Date
Meta Vens
3f22fd1d76 Hermodr leaves Odin
Hermodr is a browser lowering, not an all-seer organ. It lived here as Node
inside a Rust repository, sharing a module directory with the coordinator, and
until this week it ran its own provider ingress and accepted publications into a
private store. The ingress went first on purpose: extracting it beforehand would
have relocated a second acceptance authority and called that progress.

Removed: the daemon, its provider subscription source and state stream, both
test files, four lifecycle scripts, the persona avatar, the hermodr:start
script, and src/odin/utils.cjs, whose only remaining consumer was Hermodr and
which it used for one of six functions.

src/odin/ falls from fourteen modules to eleven. The CommonJS surface falls from
sixteen files to twelve. What is left is the coordinator, the Rust organs, and
two adapters declaring contracts other repositories own.

The plan document stays as the record of what left and why. Phase 5, static
lowering, is Hermodr's business now.

5 tests pass, syntax check clean over twelve files.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-06 19:46:06 +02:00
Meta Vens
222fe03896 Move Idunn's unit files, docs and operator scripts out of Odin
Completes the extraction. Unit files and documentation went to the Idunn
repository, where a service's own deployment surface belongs. Operator scripts
went to gamecult-ops, which is where fleet tooling lives.

To Idunn: scripts/linux/idunn-yggdrasil{,.service,.sudoers}, docs/idunn.md,
docs/idunn-deployment-authority.md,
docs/idunn-signed-daemon-health-authority.md, src/Idunn/README.md.

To gamecult-ops/scripts/idunn/: the eight PowerShell and cmd operator tools --
deployment targets, startup install, swarm coverage health, operator alarm
notification, local start.

Staying in Odin, deliberately: crates/odin-core/src/idunn.rs, Odin's own
projection of Idunn state for aggregation; src/odin/idunn-rudp.cjs, its client
for talking to Idunn; test/idunn-signed-health.test.cjs, its own integration
test; and deployment/idunn/recipe.toml, which despite the path builds
odin-daemon and is Odin's recipe expressed in Idunn's format.

docs/transport-shortcut-inventory.md is a dated evidence ledger citing several
of the moved script paths. Its entries are left as written and a path note
added at the top -- rewriting a ledger to match a later reorganisation would
destroy the record it exists to keep.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-05 18:16:38 +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
32cbb5f028 Bind Idunn deployment and runtime admission 2026-09-02 13:53:07 +02:00
Meta Vens
446657a1bd Rename Epiphany capstone target 2026-08-25 12:11:43 +02:00
Meta Vens
fa0057c0c1 Add isolated Epiphany container target 2026-08-25 04:33:18 +02:00
Meta Vens
45e98fe8d4 Give Codex Connector an independent Idunn target 2026-08-24 21:19:13 +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
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
2a5cb3e08f Authorize Ghostlight deployment surfaces 2026-08-22 03:00:49 +02:00
Meta Vens
7c5246fc09 Give Idunn Epiphany source change authority 2026-08-21 20:59:11 +02:00
Meta Vens
13caf9bad5 Remove Odin runtime from Idunn bootstrap inputs 2026-08-21 20:07:57 +02:00
Meta Vens
c7012a87c9 Admit Odin as a signed Idunn target 2026-08-21 19:50:24 +02:00
Meta Vens
325442a0fa Decouple Idunn runtime from Epiphany 2026-08-20 19:14:45 +02:00
Meta Vens
b907a9d0c0 Make Idunn deployment brake read-only 2026-07-20 00:07:04 +01:00
Meta Vens
2b1f1ee64e Gate Idunn actuation with typed deployment brake 2026-07-19 23:56:42 +01:00
Meta Vens
67e752c562 Move Bifrost Persona feedback deployment onto Yggdrasil 2026-07-18 21:20:00 +01:00
Meta Vens
92fab01d37 Make Idunn admission atomic and request-bound 2026-07-17 02:37:42 +01:00
Meta Vens
ecaac7f835 Gate Yggdrasil releases through Bifrost 2026-07-16 18:34:26 +01:00
Meta Vens
b529dc4375 Carry Idunn authority through sudo actuator 2026-07-15 20:37:42 +01:00
Meta Vens
4c6670d89b Grant Idunn its hosted release roots 2026-07-15 20:34:00 +01:00
Meta Vens
c5d71e1991 Give Idunn ownership of Yggdrasil VoidBot releases 2026-07-15 20:25:16 +01:00
Meta Vens
4ffcf5d8e2 Add Heimdall Idunn build deploy manifest 2026-07-15 03:53:32 +01:00
Meta Vens
641f0d3c56 Add Yggdrasil Idunn service boundary 2026-07-15 03:18:04 +01:00
Meta Vens
60f5c97059 Add Yggdrasil-local Idunn authority 2026-07-15 03:17:04 +01:00
Meta Vens
b5c7add6cf Advertise Nightwing commands over WireGuard 2026-07-13 05:34:11 +01:00
Meta Vens
cf87d1ca4b Tune Move tracker exposure per camera 2026-07-13 01:23:11 +01:00
Meta Vens
137ef85dbe Terminate private Move workers with their Muninn generation 2026-07-13 01:14:47 +01:00
Meta Vens
c70020e8ba Collapse Nightwing Move cameras into one Muninn provider 2026-07-13 00:22:23 +01:00
Meta Vens
69a9a736ef Run Nightwing cameras as isolated Muninn observers 2026-07-12 23:56:39 +01:00
Meta Vens
dd82ae7302 Trace Muninn provider command handshakes 2026-07-12 23:22:43 +01:00
Meta Vens
ca56e65e78 Advertise Nightwing command ingress on working LAN route 2026-07-12 23:12:28 +01:00
Meta Vens
e2ef0c9087 Give Muninn a provider-owned command route 2026-07-12 22:54:41 +01:00
Meta Vens
c078e77e94 Restore single healthy Nightwing tracker 2026-07-12 22:48:46 +01:00
Meta Vens
0e5aef7bc5 Observe both Nightwing PS3 Eyes 2026-07-12 22:45:15 +01:00
Meta Vens
c246ce424e Run Nightwing Eye as a light-passive observer 2026-07-12 22:10:03 +01:00
Meta Vens
88534fca87 Deploy explicit-runtime health on Starfire 2026-07-12 21:53:52 +01:00
Meta Vens
673f1f36ad Deploy independent Muninn heartbeat on Starfire 2026-07-12 21:50:01 +01:00
Meta Vens
6b40422a55 Serialize Starfire Muninn restart authority 2026-07-12 21:46:19 +01:00
Meta Vens
a02c97d5e2 Collapse versioned Starfire Muninn processes 2026-07-12 21:45:35 +01:00
Meta Vens
ae5a14f8d4 Keep Move ownership entirely on Nightwing 2026-07-12 21:45:00 +01:00
Meta Vens
6722351cca Run Starfire Muninn from current versioned body 2026-07-12 21:44:16 +01:00
Meta Vens
4b482028c2 Restore stable Nightwing Move light ownership 2026-07-12 21:34:04 +01:00
Meta Vens
af1a4f3ac3 Keep Nightwing tracker on one PSMoveAPI owner 2026-07-12 21:23:39 +01:00
Meta Vens
a014e38e99 Run Move tracking through PSMoveAPI 2026-07-12 21:11:20 +01:00
Meta Vens
4af02540bd Pair Nightwing Moves through PSMoveAPI 2026-07-12 20:52:44 +01:00