Commit graph Muninn/scripts
Author SHA1 Message Date
Meta Vens
344de9f9a1 Quarantine Muninn's Eve operator surfaces: move-hue and input-mirror dashboards, Eve command ingress
Parked at tag parked/Muninn-eve-surface per thing2:ruling:eve-dashboards-quarantined. Provider advertisements and the Odin provider lease stay; their surfaces entries go. --command-rudp-bind is rejected as removed.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 20:17:52 +02:00
Meta Vens
2742b4ddcf Correct stale health text, pin per-host boundary identity, note deploy order
The MuninnRecords comment claimed muninn-contracts decides every muninn.*
binding; today odin-core registers identical strings first and the
registration is inert until Odin deletes its copies. The help text no
longer describes the retired --idunn flags, the health-*.cmd stubs no
longer claim daemon-published health, and docs/muninn.md says to install
the binary and the scripts together. A test now pins daemon_id, state and
current_transport for raven, starfire and nightwing.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 00:17:51 +02:00
Meta Vens
e9580009ea Retire --idunn-rudp-health and the daemon-health publisher
The flag family (--idunn-rudp-health, --idunn-daemon,
--idunn-health-contract), IdunnRudpHealthOptions, the health worker
thread, idunn_health_payload, the RUDP health connection and the
idunn.daemon_health document had no consumer since the previous Idunn
generation. The raven-muninn recipe never passed them; liveness is the
runtime-presence publisher. Removes the IdunnDaemonHealthRecord odin-core
symbol (three remain).

The daemon id is now derived from the host alone. The transport profile
and command-boundary records no longer carry health_publication, and
health_contract is null. The starfire, nightwing and raven health and
restart scripts stop passing and checking the flags; muninn.md follows.

Tests: the retired flags are unknown arguments; the boundary record
carries the host-derived daemon id and no health_publication.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 23:17:13 +02:00
Meta Vens
8e2f935984 Presence publisher sequence survives a restart
Odin admits a signer's presence only above the sequence it last stored,
across the signer's restarts. The sequence is now the observation clock,
which a fresh process cannot restart below.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-11 14:40:05 +02:00
Meta Vens
0b8d738f78 A translated request is stamped by Muninn's clock
The command engine orders commands by comparing updated_at strings. A
consumer's RFC 3339 stamp sorts below every `unix-` stamp Muninn writes,
so the first stop request sent tonight lost to a start command stored in
July and Raven kept encoding to nobody. Translated commands now carry
Muninn's own stamp; the test pins the ordering.

Idunn daemon health on the Raven launch is optional now and omitted by
default: no Idunn manages this host, and the publisher only filled
yggdrasil's firewall log.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-11 00:52:19 +02:00
Meta Vens
887efa7543 Make the Raven deploy run again from this repository
The loopback capture script the restart ships was still only in Odin's
tree; it lives here now. Both scripts wrote sftp batches that Win32-OpenSSH
rejects today: backslashes in quoted local paths are read as escapes, and
"C:/..." remote paths resolve under the login home rather than the drive.
Local paths go in with slashes and remote Windows paths as "/C:/...".
The alias-carried SSH user is honoured by passing -SshUser "".

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-11 00:34:37 +02:00
Meta Vens
3823f1e2c0 Drop the media-profile verifier: its subject left the restart script
The check asserted ffmpeg video-proof constants in restart-muninn.ps1 that
were removed with the VideoProof task; the encoder profile lives in the
daemon and its tests. It blocked every deploy for a machine that is gone.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-11 00:10:29 +02:00
Meta Vens
07c70ac4e9 Muninn listens for receivers instead of dialling them
The activation child binds one CultNet RUDP hub on --media-rudp-bind and
serve advertises it as the stream's media_endpoint; receivers dial it and
are known by their connect payload. Video rides the media channel lossy
under parity, audio the new audio channel reliably with the assembly
deadline as expiry, both on one session per receiver. Repairs go back to
the receiver that asked; a receiver silent for 6 s is dropped.

Gone: --obs-target-host/--obs-port (refused with the reason), the second
audio connection, the Odin provider-catalog lookup of an OBS receiver, the
receiver advertisement request-stream used to publish, and the cultmesh://
target requirement on activate. The consumer's host no longer needs a
firewall rule; Raven opens one UDP port, and restart-muninn.ps1 adds it
beside the HID controller rule.

CultLib pin c84cb2e.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-10 23:03:14 +02:00
Meta Vens
3ae8e361d6 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
7f030eb2a1 Advertise Nightwing commands over WireGuard 2026-07-13 05:34:11 +01:00
Meta Vens
8ec2b61b4b Tune Move tracker exposure per camera 2026-07-13 01:23:11 +01:00
Meta Vens
cd57e07352 Terminate private Move workers with their Muninn generation 2026-07-13 01:14:47 +01:00
Meta Vens
14b2b3734f Collapse Nightwing Move cameras into one Muninn provider 2026-07-13 00:22:23 +01:00
Meta Vens
77686c6fc9 Run Nightwing cameras as isolated Muninn observers 2026-07-12 23:56:39 +01:00
Meta Vens
1ee07c4c01 Trace Muninn provider command handshakes 2026-07-12 23:22:43 +01:00
Meta Vens
06d1a973ad Advertise Nightwing command ingress on working LAN route 2026-07-12 23:12:28 +01:00
Meta Vens
7a5093509a Give Muninn a provider-owned command route 2026-07-12 22:54:41 +01:00
Meta Vens
3930194974 Restore single healthy Nightwing tracker 2026-07-12 22:48:46 +01:00
Meta Vens
dc608fdcb9 Observe both Nightwing PS3 Eyes 2026-07-12 22:45:15 +01:00
Meta Vens
c792f38274 Run Nightwing Eye as a light-passive observer 2026-07-12 22:10:03 +01:00
Meta Vens
fba2adf00c Deploy explicit-runtime health on Starfire 2026-07-12 21:53:52 +01:00
Meta Vens
43c800ef2a Deploy independent Muninn heartbeat on Starfire 2026-07-12 21:50:01 +01:00
Meta Vens
d47eeeb974 Serialize Starfire Muninn restart authority 2026-07-12 21:46:19 +01:00
Meta Vens
3a061396fb Collapse versioned Starfire Muninn processes 2026-07-12 21:45:35 +01:00
Meta Vens
100cbd6d4f Keep Move ownership entirely on Nightwing 2026-07-12 21:45:00 +01:00
Meta Vens
287e5c922f Run Starfire Muninn from current versioned body 2026-07-12 21:44:16 +01:00
Meta Vens
160dc667ab Restore stable Nightwing Move light ownership 2026-07-12 21:34:04 +01:00
Meta Vens
22a1a68e8b Keep Nightwing tracker on one PSMoveAPI owner 2026-07-12 21:23:39 +01:00
Meta Vens
f35c346918 Run Move tracking through PSMoveAPI 2026-07-12 21:11:20 +01:00
Meta Vens
7a2b921f93 Route Muninn discovery through Odin 2026-07-12 19:49:36 +01:00
Meta Vens
cee1a8a007 Keep Starfire and Nightwing Muninn alive 2026-07-12 19:41:21 +01:00
Meta Vens
789748834b Require Odin CultMesh bootstrap for Raven Muninn 2026-07-05 22:11:55 +01:00
Meta Vens
4057e595e5 Rework Odin transport ownership and service names 2026-07-04 22:38:43 +01:00
Meta Vens
8215de8b29 Align Raven Muninn Idunn keepalive defaults 2026-06-29 22:02:35 +01:00
Meta Vens
4c211e8c5d Publish Muninn startup respect to Odin 2026-06-23 22:45:39 +01:00
Meta Vens
3ff770d0f8 Merge working Muninn transport changes onto main-sync branch 2026-06-23 17:05:09 +01:00
Meta Vens
544668b6ef Make Idunn witness checks use daemon-owned state 2026-06-23 17:04:07 +01:00
Meta Vens
2a4f08dd83 Switch Muninn RUDP audio to PCM packets 2026-06-23 17:03:54 +01:00
Meta Vens
cf2caab206 Merge origin/main before Muninn transport experiment 2026-06-23 02:58:48 +01:00
Meta Vens
3edceb7f3a Checkpoint working Muninn OBS discovery state 2026-06-23 02:57:29 +01:00
Meta Vens
4c2815ec63 Fix Raven Muninn source discovery fallback 2026-06-22 00:49:00 +01:00
Meta Vens
af3215edc3 Publish Muninn input audio sources 2026-06-22 00:02:34 +01:00
Meta Vens
f400e36b76 Make Raven Muninn serve a real daemon 2026-06-19 23:48:35 +01:00
Meta Vens
c8622e5e77 Harden Raven Muninn remote script runners 2026-06-19 23:40:33 +01:00
Meta Vens
7891ecf610 Support split Muninn audio and video activation 2026-06-19 22:56:12 +01:00
Meta Vens
19523e4518 Align Raven Muninn health target with live launcher 2026-06-19 22:19:14 +01:00
Meta Vens
8db93d93d3 Discover Raven Muninn OBS sources at launch 2026-06-19 22:17:34 +01:00
Meta Vens
e66c98b649 Publish split Muninn OBS source catalog 2026-06-19 22:11:46 +01:00
Meta Vens
e36ff92bd7 Project Muninn OBS catalog over RUDP 2026-06-19 00:46:45 +01:00
Meta Vens
8601a3350b Fix Raven Muninn LAN deployment supervisor 2026-06-18 23:21:58 +01:00