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>
206 KiB
Transport Shortcut Inventory
Path note, 2026-09-05. Idunn was extracted to https://github.com/GameCult/Idunn. Entries below citing
scripts/idunn-*.ps1,scripts/health-idunn-*,scripts/notify-idunn-*orscripts/start-idunn-local.ps1refer to paths that moved togamecult-ops/scripts/idunn/; unit files and Idunn documentation moved to the Idunn repository. This is a dated ledger and the entries are left as written.
Status date: 2026-07-03
Authority Map
Owner: Odin owns Verse rendezvous, accepted provider/interface catalogs, and CultMesh/CultNet document discovery.
Inputs: child-daemon CultMesh/CultCache witness stores, daemon-published idunn.daemon_health over cultnet.transport.rudp.v0, provider advertisements, Eve surface records, and explicit lifecycle command boundaries.
Outputs: accepted provider catalog, interface surfaces, daemon desired state, transport profiles, command boundaries, keepalive decisions, and operator-facing lowerings.
Derived state: browser HTTP/WebSocket endpoints, Hermodr pages, .cmd wrappers, health scripts, and SSH/systemd probes are lowerings, debug witnesses, or command ergonomics. They do not own daemon health, service discovery, input transport selection, or Sleipnir input mapping route selection.
Forbidden writers: compatibility health commands, HTTP status endpoints, WebSocket decks, explicit endpoint mapping fields, stale HID records, and local command probes must not decide daemon health or transport selection.
Shared paths: user UI actions, typed input-mapping updates, startup, reconnect, and RUDP timeout recovery must all discover Muninn input streams from Odin/CultMesh provider advertisements and consume actual HID frames through the advertised CultNet/RUDP endpoint.
Deletion line: delete endpoint overrides and fallback health/input paths before adding ergonomic replacement controls.
Cut In This Pass
- Sleipnir no longer accepts
--muninn-rudpfrom the launcher or CLI. - Sleipnir no longer reads
muninnRudp/muninn_rudpfrom mapping JSON as transport authority. - Sleipnir no longer applies virtual HID state from stale CultMesh store records when the fast RUDP stream is absent.
- Sleipnir UI actions no longer carry
muninnRudp; they select device/remap only. - Hermodr no longer requires or writes
muninnRudpfor Sleipnir mapping commands. - Hermodr no longer synthesizes
gamecult.hermodr.fallback_odin_catalog.v1from/eve/deck/providerswhen Odin's snapshot is unreadable. - Idunn no longer runs compatibility health commands to decide daemon health when fresh daemon-published RUDP health is missing.
- Idunn now publishes a non-actuating
dependency-unavailablesupervisor observation on the daemon key when daemon RUDP health is absent. - Odin interface discovery no longer scrapes
/eve/deck/providersfrom seeded WebSocket deck URLs. - Odin no longer performs LAN Eve deck scans to find provider truth.
- Odin no longer fetches provider surfaces over compatibility WebSocket decks or converts legacy dashboard
nodesinto Eve surfaces. - Odin provider normalization no longer promotes
compatibility-eve-deckroutes to provider transport endpoints. - Odin no longer hosts an HTTP health endpoint or
/eve/deckWebSocket/HTTP renderer surface at all. Thesrc/odin/websocket.cjsside-door module was deleted,odin-coordinator.cjsrefreshes only into CultMesh/CultNet state, and Idunn reads Odin health asdaemon-published-rudp:odin.cultnet-rudp-provider-health.health-odin.ps1remains an explicit daemon witness inspection only. - Muninn transport profiles no longer advertise local CLI health/activation as fallback transport; activation is a command lowering and provider routes remain provider transport only.
- Stonks no longer binds daemon-owned HTTP health, JSON snapshot, or WebSocket Eve deck side doors. The daemon refreshes typed CultCache/CultMesh records, publishes Idunn RUDP health, and optionally announces its provider advertisement to Odin through CultMesh/RUDP; renderer lowerings must be owned outside Stonks.
- VoidBot swarm transport profile no longer advertises
health-voidbot.cmdorcompatibility.local-command fallback; operations health remains a debug witness only. - VoidBot Idunn health publisher and orchestrator wrapper no longer default health publication to
127.0.0.1:17870;--endpointorVOIDBOT_IDUNN_RUDP_HEALTHis required for publication, otherwise the orchestrator records an explicit skipped-health-publication event. - StreamPixels, Heimdall, and Repixelizer no longer describe SSH/systemd/HTTP witnesses as fallback transport authority; missing RUDP health is represented as missing daemon publication.
- Vili no longer describes HTTP/WebSocket/JSON lowerings as compatibility transport, and missing Idunn RUDP health now surfaces as missing publication instead of local-only fallback.
- Weksa command and transport profiles no longer carry null
compatibilityobjects; deleted HTTP command lanes and debug lowerings are explicit non-authorities. - Gjallar no longer falls back to Odin
/eve/deckWebSocket catalog/provider input when Odin CultNet/RUDP snapshot input is absent. - Gjallar runtime config and provider advertisement no longer publish a
DeckUrl/--urlinput endpoint; missing Odin RUDP configuration is visible missing input transport. - Idunn generated transport profiles no longer append local-command, HTTP/WebSocket, or SSH/systemd/HTTP fallback transport for migrated targets.
- Idunn command boundaries no longer grant health authority to command probes; health authority is daemon-published RUDP health, while local commands remain lifecycle/debug entrypoints only.
- Odin WebSocket provider lowering no longer accepts
compatibility-eve-deckroutes as provider transport endpoints. - Mimir Nightwing Eve dashboard and browser reference command boundaries no longer publish
idunn.local-command.restart + compatibility.systemd...lifecycle authority. - Mimir Nightwing Eve dashboard and browser reference transport profiles no longer publish
compatibility.*input transports; health checks now reject HTTP/WebSocket if it reappears as transport authority. - Odin health scripts for the Nightwing Eve dashboard and browser reference now verify the daemon-owned supervisor/debug-lowering records instead of requiring the old compatibility lifecycle/input transport values.
- Idunn transport profile and command boundary schema fields have been renamed from compatibility-shaped field names to
debug_mechanismandcommand_loweringswhile preserving their CultCache slot positions. - VoidBot swarm command boundary and transport profile exports now use
command_loweringsanddebug_mechanisminstead of compatibility-shaped field names. - Mimir's OBS diagnostic program route is now labelled
obs-debug-sink; OBS remains a diagnostic sink, not program composition or Verse publication authority. - Bifrost provider advertisements and interface bindings no longer advertise the Starfire Odin WebSocket deck bridge or
compatibility-eve-deckroute; the remaining provider route is the CultCache/CultMesh witness. - Odin, Mimir Eve dashboard, Stonks, Spotiverse, and Vili no longer serve local
/eve/deck/providersprovider catalogs as discovery shortcuts. - Mimir Eve dashboard no longer serves
/eve/deck/manifestor/eve/dashboard/manifestas HTTP publication side doors; provider manifests remain daemon-owned CultCache/CultMesh records. - Eve Android no longer scrapes Mimir
/eve/deck/providers; provider options come from the CultMesh dashboard state document it already consumes. - VoidBot worker no longer reads Odin
/eve/deck/providersor jumps from an Odin-discovered interface to a provider WebSocket for command execution. Provider listing is derived from Odin's embedded interface state, and command execution now refuses until a CultMesh command document path exists. - Spotiverse and Vili smoke/export surfaces now use typed provider advertisements instead of deck provider manifests.
- Active Mimir branch worktrees (
Mimir-obs-muninn-branch,Mimir-raven-build) had stale/eve/deck/providers/manifest handlers removed from dashboard/Muninn/Raven/Fensalir daemon code, and persisted witness route metadata was demoted fromwebsocket-bridgeto debug lowerings. - Odin no longer accepts or reports seeded Eve deck URLs as a discovery configuration surface; provider/interface discovery is from CultMesh stores and live announcements.
- VoidBot MCP Odin tools no longer read Odin through
/eve/deckWebSocket snapshots or acceptODIN_BASE_URL; they read Odin'sgamecult.eve.surface_state.v1from the configured Odin CultMesh store (ODIN_CULTMESH_STOREor the defaultE:\Projects\Odin\scratch\odin\odin.ccmp). - Idunn generated swarm plans no longer use
compatibility/fallbackwording for demoted probes; probe paths are described as debug witnesses and cannot satisfy daemon truth. - Ymir no longer serves HTTP routes for discovery, operator state, projectile steps, overlap queries, or cast queries.
ymir-daemon publish-servicewrites provider, operator, and Eve surface records to a CultCache service publication store; local step smokes are CLI-only. - Spotiverse, Stonks, Vili, active Mimir branch docs, and Nightwing ops runbooks no longer advertise provider catalogs or manifest endpoints as live discovery surfaces.
- Aetheria's Unity Ymir bridge no longer posts JSON to hard-coded local Ymir HTTP endpoints for projectile steps, overlap queries, or cast queries. The bridge now calls the typed
YmirPhysicsQueriessurface directly, andAetheria.State.Verifynow guards against reintroducing the deleted HTTP fields/methods. - StreamPixels no longer hand-assembles its service boundary
.ccfile with bespoke MessagePack/CultCache store encoding.apps/service/src/verse-state.tsopens a CultMesh node and writes provider advertisement, command boundary, transport profile, and Idunn health records through typed CultCache document definitions. - Heimdall no longer hand-assembles its auth runtime
.ccfile with bespoke MessagePack/CultCache store encoding.src/verse-state.tsopens a CultMesh node and writes provider advertisement, command boundary, transport profile, and Idunn health records through typed CultCache document definitions. - Loki no longer writes durable Chrome/provider/Eve state as typed text
.ccwitness sidecars while describing CultMesh publication as future.src/loki-daemon.mjsnow writes snapshot, provider advertisement, Eve surface, command boundary, transport profile, debug probe, page snapshot, and Idunn health records through a typed CultMesh store atstate/loki.service.ccmp, with optional explicit Odin startup announcement through--odin-cultmesh-uri/LOKI_ODIN_CULTMESH_URI. - Idunn-managed restart scripts in Odin no longer act as independent deploy/restart authorities.
restart-odin.ps1, Muninn/Vili/Nightwing restart scripts, and the Stonks/Weksa/VoidBot restart.cmdwrappers now requireIDUNN_ACTUATOR=1plusIDUNN_COMMAND_AUTHORITY=idunn-daemon; without those Idunn actuator marks they fail before SSH, systemd, Task Scheduler, or local process launch work can begin. - Idunn-managed deploy/restart
.cmdwrappers in Odin no longer present manual side doors over guarded actuator bodies. The deploy wrappers for Nightwing Gjallar and Yggdrasil StreamPixels/Heimdall/Repixelizer, plus Odin/Muninn/Vili/Nightwing restart wrappers, now requireIDUNN_ACTUATOR=1andIDUNN_COMMAND_AUTHORITY=idunn-daemonbefore they delegate. - Odin's Idunn deployment target catalog now names every guarded deploy/restart actuator path as a target command, target alias, or shared Idunn actuator. Odin, Stonks, Weksa, VoidBot, Raven Muninn, Vili, Nightwing Eve dashboard, and Nightwing Eve browser reference are represented in
scripts/idunn-deployment-targets.ps1, so the guarded scripts are configuration-owned instead of floating side doors. - Yggdrasil StreamPixels, Heimdall, and Repixelizer remote deploy bodies in
gamecult-opsno longer act as standalone server-side deployment runbooks. Odin's Idunn deploy wrappers passGAMECULT_IDUNN_REMOTE_ACTUATOR=1plusIDUNN_COMMAND_AUTHORITY=idunn-daemonthroughsudo env, and the remote bodies reject missing marks. StreamPixels and Repixelizer also no longer git-clone/fetch/reset on the target host; they require the audited source tarball shipped by Idunn. - Odin no longer has an
--includeRemoteWitnessespath that imports copied Nightwing/Raven Muninn/sleipnir witness stores fromscratch/remote-witnesses. The untrackedscripts/sync-muninn-remote-witnesses.ps1SCP/SFTP helper was deleted outright; remote providers must announce through Odin/CultMesh/RUDP or an explicitly configured live CultMesh store, not copied local witness files. - Weksa no longer writes or health-checks top-level provider/operator text witness sidecars (
provider-advertisement.cc,operator-state.cc,eve-surfaces.cc,command-boundary.cc,transport-profile.cc,cultmesh-publications.cc). The daemon writes provider advertisement, operator state, Eve surface, command boundary, and transport profile records to.weksa/provider-advertisement-store.cc;--healthnow reads those typed CultMesh records, while MiMo request/receipt.ccartifacts remain command trace records. - Bifrost no longer exports or advertises a singleton
.bifrost/provider-advertisement.ccwitness as its Odin discovery surface.tools/provider-advertisement.mjs exportnow writes.bifrost/provider-store.cccontaining provider advertisement, operator surface, and Eve interface binding records, and advertises the route ascultmesh-store. - Odin no longer seeds interface discovery from repo-local
.ccpaths or machine-localC:\Meta\Odin\state\...stores. Provider discovery is owned by live CultMesh/RUDP announcements through Odin; explicit local store inspection is a debug import and must be configured as acultmesh-store:file://...URI via--interfaceBindingStoreorODIN_INTERFACE_BINDING_STORES. - Mimir Eve dashboard no longer accepts arbitrary
--provider id|title|ws-urlWebSocket deck registrations or synthesizes a StreamPixels SSH/LAN edge provider. The broker catalog now contains only its local/dashboard providers and typed witness-backed surfaces. - Eve browser reference no longer includes a hardcoded
VoidBot Liveprovider that dials Mimir's/eve/deckbroker with a custommimir-eve-decktransport. The browser reference is fixture/local-advertisement only until live provider advertisements arrive through Odin/CultMesh. - Eve Android no longer bakes in
ws://192.168.1.66:8795/eve/deck/cultmeshorws://192.168.1.66:8796/eve/periwinkle. The native app reads explicitorg.gamecult.eve.DASHBOARD_URIandorg.gamecult.eve.SENSOR_URIlaunch extras; when absent, receive/publication stays visibly disabled until Odin/CultMesh discovery provides the endpoints. - Eve iOS no longer cycles through baked localhost/Starfire WebSocket candidates for frame stream, dashboard, camera, or microphone routes.
EVE_STREAM_URLS,EVE_DASHBOARD_URLS,EVE_CAMERA_URLS, andEVE_MIC_URLSmust be configured by Odin/CultMesh tooling or operator config; absent configuration stays visibly missing. - Mimir's Verse recorder, Nightwing typed witness publisher, and
start-nightwing-move-tracking.ps1wrapper no longer default to localhost/Starfire Periwinkle WebSocket endpoints. The wrapper requires-WitnessUrl/MIMIR_NIGHTWING_WITNESS_URLand-SubscribeUrl/MIMIR_NIGHTWING_SUBSCRIBE_URLsupplied by Odin/CultMesh discovery or explicit operator config. gamecult-opsNightwing visible-ops TUI/framebuffer lowerers no longer default tows://192.168.1.66:8797/eve/deck. The Python lowerers require--url, and the shell launchers requireGAMECULT_VISIBLE_OPS_URLfrom Odin/CultMesh discovery.- Odin's README, architecture map, and Gjallar handoff doc no longer describe LAN deck URLs, seeded deck URLs, or the old HTTP/WebSocket deck bridge as discovery/input mechanisms.
- Sleipnir input mapping no longer uses
starfire.sleipnir.mapping.json,raven.sleipnir.mapping.json,--mapping-path, Hermodr SSH/PowerShell writes, or an hermodr-configured local store fallback. Hermodr accepts only acultmesh://Sleipnir command route advertised by Odin, publishessleipnir.input_mapping.v1to Odin over the configured Odin CultMesh/RUDP substrate, and rejects raw host/port routes instead of dialing them. Sleipnir pullssleipnir.input_mapping.v1from Odin discovery and chooses the newest local-or-Odin mapping record. - Odin marquee generation no longer falls back to Stonks' HTTP
/market/stateendpoint. Stonks market tape must arrive through the provider's CultMesh/Eve surface (marqueeText) in the Stonks CultCache store. - Odin provider advertisement inspection no longer promotes
ws://endpoints ahead of CultMesh/provider addresses when derivingtransportEndpoint; WebSocket endpoints remain lowerings/debug routes unless explicitly represented by typed CultMesh state. - Vili provider advertisements no longer publish HTTP routes or deck WebSocket URLs as provider endpoints; the provider endpoint is the Vili CultMesh service store, while HTTP/WS routes live under
debugLowerings. - Vili motion generation no longer accepts HTTP command authority through
/motion/generate; that route now returns410 command_route_removed. Vili pollsgamecult.vili.motion_request.v1documents fromvili.service.cc, runs the Kimodo worker from that typed request, and writesgamecult.vili.motion_job.v1receipts before JSON debug exports. - VoidBot repo-face and Metame owner voice projection no longer submit Weksa MiMo VoiceDesign commands over
WEKSA_DAEMON_BASE_URL/ HTTP/speech-provider/mimo/voicedesign;WeksaSpeechClientnow requires the configuredWEKSA_CULTMESH_COMMAND_URIand fails closed until a real CultMesh command-document writer publishesweksa.mimo_voicedesign_command.v0. - VoidBot no longer defaults Weksa speech command transport to a localhost/direct endpoint or advertises stale
ODIN_BASE_URLin.env.example.REPO_FACE_WEKSA_SPEECH_ENABLED=truenow requires an explicitWEKSA_CULTMESH_COMMAND_URIsupplied by Odin/CultMesh discovery or operator config. - Weksa's service contract and Idunn's generated Weksa surgery plan no longer teach a direct MiMo VoiceDesign command ingress. The command path is described as the Odin/CultMesh command URI carrying
weksa.mimo_voicedesign_command.v0. gamecult-opsNightwing tunnel runbook and service inventory no longer present Nightwing LAN broker/browser URLs, Starfire Eve deck URLs, or Starfire Periwinkle URLs as current operator recipes. Broker checks are SSH-local debug probes, browser access is explicit tunnel/Odin-discovered URL only, Gjallar consumes configuredGJALLAR_ODIN_CULTMESH_URI, and the Nightwing witness publisher uses configuredMIMIR_WITNESS_URL.- Bifrost's provider advertisement help and Verse contract no longer show
127.0.0.1:17871as the Odin publication endpoint. Publication uses--odin-cultmesh-uri/BIFROST_ODIN_CULTMESH_URI, and the examples use Odin's CultMesh rendezvous URI. - Spotiverse's README no longer shows a raw Odin RUDP startup publication endpoint; startup publication remains optional and explicit through
SPOTIVERSE_ODIN_CULTMESH_URI, with examples using Odin's CultMesh rendezvous URI. - Active Mimir branch Fensalir daemon docs, launcher output, provider manifest wording, and state capability labels no longer call local
/eve/deckor/eve/deck/cultmeshWebSocket routes provider/bridge transport. They are explicitly local debug lowerings while CultCache.ccmpand typed CultMesh/Eve state remain authority. - Active Mimir branch Raven daemon no longer starts a daemon-owned HTTP/WebSocket Eve side door.
Mimir.RavenDaemonnow publishes onlymimir.raven_capture_mux_state.v1through its CultMesh/CultCache store while FFmpeg/SRT owns media fanout; the deleted server body no longer exposes a health route, deck route, or deck-shaped shadow document. - Active Mimir branch Fensalir daemon no longer starts a daemon-owned HTTP/WebSocket Eve side door.
Mimir.FensalirDaemonnow runs only its Well-drinking state loop and persistsmimir.fensalir_daemon_state.v1,mimir.fensalir_reservoir_worker_state.v1, andmimir.fensalir_reservoir_pressure.v1through CultCache; the deleted server body no longer exposes a health route, deck route, binary deck route, provider manifest, or deck-shaped shadow surface. - Active Mimir branch EveDashboard no longer starts the old deck broker or accepts launch-time
id|title|urlprovider registrations.Mimir.EveDashboardnow publishes built-in dashboard provider state through CultNet/CultMesh only; the deleted broker path no longer exposes health, deck, compatibility, per-provider deck, frame-command, or external-provider WebSocket routes. - Active Mimir branch online supervisor no longer passes a Fensalir port, writes a Fensalir deck bridge route, or waits on Fensalir HTTP health after starting
Mimir.FensalirDaemon. It now waits for the run-local Fensalir CultCache state store instead of treating the deleted network surface as readiness. - Active Mimir branch EveSensorReceiver no longer exposes an HTTP health route or starts with baked camera port/path defaults.
--portand--pathare required from Odin/CultMesh tooling or explicit operator config, and the online supervisor now waits for the receiver startup log instead of probing localhost health. The remaining receiver WebSocket lane is classified as explicit media/sensor ingress, not service discovery or daemon health authority. - Standalone Gjallar docs/state no longer teach
192.168.1.66:17871or the old Odin Eve deck WebSocket input as a retained compatibility fallback. They now match the already-cut runtime: configured Odin CultNet/RUDP snapshot input only, with the deck bridge removed. - Standalone Fensalir's native Eve surface client no longer defaults to
ws://127.0.0.1:8795/eve/deck.FENSALIR_EVE_BROKERmust be supplied by Odin/CultMesh tooling or explicit operator config; absent configuration is visible missing input instead of a localhost broker guess. - Ghostlight's provider advertisement fixture no longer advertises CultMesh/Odin provider discovery as future work. The fixture now names
CultMesh/Odin provider discovery, matching the existingpublish-odinCultMesh/RUDP publication path. gamecult-opslocal inventory no longer preserves Raven/Starfire/Qwen LAN addresses as operator recipes. It usesOFFSITE_BACKUP_SSH_TARGET,LOCAL_INFERENCE_BASE_URL, andLOCALCAST_RECEIVER_HOSTplaceholders so local notes do not re-teach deleted transport shortcuts.gamecult-opsscript inventory now names localhost HTTP checks as deployment/debug probes for product web stacks and nginx routing. The note explicitly denies ownership of Verse discovery, provider catalogs, daemon health, or command transport, and requires CultMesh-boundary checks to verify configured witnesses instead of replacing them with localhost truth.- Eve renderer parity docs no longer say the browser reference renders "live VoidBot" through the provider picker. The web reference is documented as local provider advertisements and fixture surfaces only; live provider feed remains future Odin/CultMesh input.
- Bifrost's provider-advertisement exporter no longer hardcodes
http://127.0.0.1:5080/healthzand/readyzinto the operator-surface stats path. HTTP probe URLs are optional explicit inputs via--health-url/--ready-urlorBIFROST_HEALTH_URL/BIFROST_READY_URL; absent probes render asunprobedinstead of localhost-shaped daemon truth. - VoidBot's local
.envno longer carries the deleted Weksa HTTP shortcut. It now follows the live config surface with blankWEKSA_CULTMESH_COMMAND_URIwhileREPO_FACE_WEKSA_SPEECH_ENABLED=false, so enabling Weksa speech still requires an explicit Odin/CultMesh-discovered route. - Heimdall state memory and fresh-workspace handoff no longer tell operators to deploy with
GC_ACCESS_IDUNN_RUDP_HEALTH=10.77.0.2:17870or confirm source-address acceptance from10.77.0.1. They now describe Odin/CultMesh-discovered Idunn RUDP health routing, with HTTP/JWKS/systemd/nginx as product/debug witnesses. - Heimdall no longer has hardcoded Repixelizer or Spotiverse backend-callback URL exceptions in
src/app.ts. Backend handoff trust is owned byGC_ACCESS_APP_<APP>_BACKEND_CALLBACK_URLS/config.appBackendCallbacks, so app callback routes are configured operator knowledge instead of app-specific transport lore in Heimdall code. - Spotiverse no longer defaults its Heimdall peer service URL to
http://127.0.0.1:4100.HEIMDALL_BASE_URLis required and must come from Odin/CultMesh discovery or explicit operator config; Spotiverse's own local return/callback defaults remain local product-web callback ergonomics, not daemon discovery authority. - Spotiverse command authority now ingests
spotiverse.command_request.v1documents from the daemon.ccmp, routes CultMesh requests through the same executor as debug lowerings, and writesspotiverse.command_receipt.v1documents back to CultMesh./commands/add-to-queueand Evespotiverse-commandWebSocket frames are debug lowerings only. - Odin no longer runs TCP/SSH/systemd/GPU host probes during provider catalog state builds or uses LAN-IP source inference to assign Verse body identity. Remote Verse tiles are derived from provider advertisements and interface records; absent provider-owned witnesses stay visibly
waiting. gamecult-opsGjallar systemd unit no longer pins Odin input to a raw RUDP endpoint; the unit consumesGJALLAR_ODIN_CULTMESH_URIfrom/etc/gamecult/gjallar.envor defaults to Odin's CultMesh rendezvous URI, and rejects stale raw Odin endpoint env.- Weksa start/restart wrappers no longer default Odin startup publication to
127.0.0.1:17871;-OdinCultMeshUricomes from an explicit parameter orWEKSA_ODIN_CULTMESH_URI, otherwise the daemon uses Odin's CultMesh rendezvous URI. - Bifrost bridge, dispatch, request-lane, and governance mutation CLIs no longer accept
--allow-unreceipted-activity,BIFROST_ALLOW_UNRECEIPTED_ACTIVITY,--allow-ungated-github, orBIFROST_ALLOW_UNGATED_GITHUBas operator recovery hatches. Mutating activity now fails closed unlessBIFROST_BRIDGE_BASE_URLandBIFROST_BRIDGE_TOKENroute it through the Bifrost receipt/gate path. - Odin's Starfire/Raven/Nightwing Muninn and Sleipnir launchers no longer default Odin startup publication to
192.168.1.66:17871;-OdinCultMeshUricomes from an explicit parameter orODIN_CULTMESH_URI. - Odin's Raven Sleipnir launcher no longer advertises or opens a raw command RUDP endpoint. Sleipnir publishes
cultmesh://odin/command/sleipnir/input_mappingas its command route and reads the typedsleipnir.input_mapping.v1command document from Odin discovery;--command-rudp-bindis a fail-closed removed flag. - Odin's Raven Sleipnir deploy/restart actuators no longer default SSH to
192.168.1.84; they use the namedraventarget by default while endpoint-bearing daemon transport remains explicit CultMesh/CultNet configuration. - Odin's Starfire Sleipnir launcher no longer passes
E:\Projects\Odin\scratch\odin\odin.ccmpas a default discovery store. Sleipnir discovers Muninn provider records from Odin through--odin-cultmesh-uri; local--discovery-storeuse is explicit debug/operator input only. - Active
Odin-clean-move-identityworktree deploy/restart scripts no longer preserve stale Idunn/Odin endpoint defaults, Raven media target defaults, or direct Vili operator-state HTTP checks. Deploy/restart.ps1bodies and.cmdwrappers now requireIDUNN_ACTUATOR=1plusIDUNN_COMMAND_AUTHORITY=idunn-daemon, matching the current Odin actuator boundary. - Active
Odin-clean-move-identitysource no longer keeps Odin's old seeded deck discovery, LAN deck scan, copied/SFTP witness import, Stonks HTTP market fallback, remote TCP/SSH/systemd health probes, orcompatibility-eve-deckroute promotion. Provider/interface discovery is CultMesh/Odin-owned, and explicit local debug imports must usecultmesh-store:file://.... - Odin's Nightwing Gjallar deploy actuator no longer defaults the live snapshot input to
192.168.1.66:17871; it requires-OdinCultMeshUri,GJALLAR_ODIN_CULTMESH_URI, orODIN_CULTMESH_URIand fails closed on stale raw endpoint env. - Odin's Raven/Starfire/Nightwing Muninn restart and health wrappers no longer default daemon health publication checks to
192.168.1.66:17870;-IdunnRudpHealthcomes from an explicit parameter orIDUNN_RUDP_HEALTH, and wrappers fail closed without it. - Odin's own start/restart wrappers no longer default daemon health publication to
127.0.0.1:17870;-IdunnRudpHealthcomes from an explicit parameter,ODIN_IDUNN_RUDP_HEALTH, orIDUNN_RUDP_HEALTH, and wrappers fail closed without it. - Odin's Nightwing Gjallar deploy actuator, Raven Vili restart actuator, and Nightwing Muninn health actuator no longer default Idunn health publication/checks to
10.77.0.2:17870; their Idunn endpoint comes from explicit parameters or service-specific environment variables. - Vili's own start/restart/task-install wrappers no longer default Idunn health publication to
10.77.0.2:17870; they require-IdunnRudpHealth,VILI_IDUNN_RUDP_HEALTH, orIDUNN_RUDP_HEALTH. gamecult-opsStreamPixels, Heimdall, and Repixelizer deploy scripts no longer write10.77.0.2:17870into missing service env files. They require an existing service env assignment or an explicit*_IDUNN_RUDP_HEALTH_DEFAULTdeployment variable.- Odin's Starfire/Raven/Nightwing Muninn restart wrappers no longer default HID controller provider advertisements to
192.168.*endpoints; when HID RUDP bind is enabled,-HidControllerRudpAdvertiseorMUNINN_HID_CONTROLLER_RUDP_ADVERTISEis required. - Odin's Raven Muninn restart wrapper no longer defaults media, OBS, or OBS catalog publication to Starfire LAN endpoints.
-TargetHostorMUNINN_MEDIA_TARGET_HOSTis required,-ObsTargetHost/MUNINN_OBS_TARGET_HOSTderives from the media target when omitted, and-ObsCatalogRudpTarget/MUNINN_OBS_CATALOG_RUDP_TARGETis optional instead of guessed. - Odin's Raven Muninn restart and health wrappers no longer expose capture-command RUDP target or bind knobs.
request-streampublishes typed commands through Odin/CultMesh,servepulls them from Odin, and local activation storage is daemon-owned persistence/receipt body only. - Odin's Raven Muninn activation launcher no longer defaults media or OBS targets to
10.77.0.2.activate-muninn-raven-av-srt.ps1requires-TargetHostorMUNINN_MEDIA_TARGET_HOST, and-ObsTargetHostderives from the explicit media target unless supplied. - Muninn itself no longer defaults media or OBS targets to
10.77.0.2.activate,request-stream, and dry-run media plans require an explicit--target-host, and the published command boundary advertises no executable activation lowering until a media target is configured. - Odin core discovery tests and Eve's provider advertisement contract no longer preserve real LAN/WireGuard addresses as example discovery routes. Tests use documentation address space, and Eve's route example uses a CultMesh URI instead of
cultnet://10.77.0.4:3075. - Odin's Starfire WireGuard elevation helper no longer rewrites unresolved
Nightwing.Hometo a baked Nightwing LAN endpoint or logs a baked Starfire LAN address. The fallback endpoint and optional LAN address must come from explicit parameters orSTARFIRE_WIREGUARD_NIGHTWING_ENDPOINT_FALLBACK/STARFIRE_LAN_ADDRESS. gamecult-opsRaven connectivity checker no longer defaults Raven LAN ICMP to192.168.1.84; the required check is Raven's WireGuard address, and LAN probing only runs when-RavenLanIporRAVEN_LAN_IPis supplied.- Active Mimir branch proof/relay scripts no longer default Raven senders, Starfire receivers, Nightwing witness URLs, or Eve relay LAN host to
192.168.1.*endpoints. The scripts andMimir.EveRelaynow require explicit parameters orMIMIR_*environment variables and fail closed without them. - Root Mimir CultMesh AV sender/receiver scripts and media runtime no longer default relay input to
10.77.0.1;MIMIR_CULTMESH_RELAY_HOST,--host, or--endpointmust be supplied by Odin/CultMesh discovery or operator config. - Root Mimir Raven Muninn OBS feed,
Mimir-raven-buildMimir.Muninn, andMimir-obs-muninn-branchMimir.RavenDaemonno longer default media/OBS target host to10.77.0.2;MIMIR_MUNINN_TARGET_HOST/--target-hostis required, and OBS target derives from the explicit media target unless supplied. - Active Mimir branch Well/VerseRecorder stream producers no longer default publish or subscribe transport to localhost Periwinkle WebSocket endpoints.
Mimir.Wellrequires--publish-urlorMIMIR_WELL_PUBLISH_URL;Mimir.VerseRecorderrequires--urlorMIMIR_VERSE_RECORDER_URL;start-online-verse-daemons.ps1requires-WellPublishUrl/-SubscribeUrlor the same environment variables. - Mimir's neighbor sender setup doc no longer presents old Raven/Starfire LAN addresses as current SSH or SRT endpoint recipes; it now names configured aliases and receiver-host placeholders supplied by Odin/CultMesh discovery or explicit operator config.
- Active Mimir branch Nightwing typed witness publishers no longer default to Starfire's Periwinkle WebSocket URL.
--urlorMIMIR_WITNESS_URLis required. Mimir-obs-muninn-branchOBS Muninn source no longer carries baked Raven command or Starfire media endpoints as defaults, no longer migrates stale private endpoints to another private endpoint, and no longer reconstructs provider-supplied RUDP URLs from local media-target defaults. Missing command/media endpoints remain empty until supplied by typed catalog/discovery or explicit settings.- Active Mimir docs and
audio-field.example.jsonexamples no longer present old Raven/Starfire LAN addresses as sender, receiver, Eve dashboard, SRT, CultNet, SSH, or calibration host recipes. They now use configured aliases, placeholders, or example hostnames. Gjallar-rollbackno longer preserves a runnable Odin Eve deck WebSocket renderer. The rollback executable is a fail-closed archive tombstone that exits before dialing the removed transport and points operators at active Gjallar's CultMesh URI input path.- Hermodr no longer treats Odin's localhost HTTP/WebSocket deck or
latest-surface.jsonexport as default discovery truth. It reads Odin'sgamecult.eve.surface_state.v1document from the Odin CultMesh store (--odinCachePath,--odinSurfaceKey), with--odinStatePathleft as an explicit debug fallback only. - Vili no longer writes provider/operator/surface/command/transport/backend JSON sidecars by default.
--write-debug-sidecarsorVILI_WRITE_DEBUG_SIDECARS=1is required for explicit debug exports, and the daemon/smoke tooling no longer defaults to Raven's baked WireGuard HTTP URL. - Odin's
health-vili.cmdis archived and no longer curls Vili HTTP health at all; Vili health is daemon-published asvili.cultnet-rudp-animation-health. - Muninn's Odin startup RUDP parser test no longer preserves
10.77.0.2:17871as the example endpoint literal. - Weksa no longer writes provider/operator/surface/command/transport/publication or MiMo request/receipt JSON mirrors by default.
--write-debug-jsonorWEKSA_WRITE_DEBUG_JSON=1is required for explicit debug exports;.ccwitnesses and the CultMesh store remain authority. - Weksa start/restart wrappers no longer default Idunn health publication to
127.0.0.1:17870;-IdunnRudpHealthcomes from an explicit parameter orWEKSA_IDUNN_RUDP_HEALTH, and service launch fails closed without it. - Stonks start wrapper no longer defaults Idunn health publication to
127.0.0.1:17870or Odin startup publication to127.0.0.1:17871;-IdunnRudpHealthcomes from explicit parameters orSTONKS_IDUNN_RUDP_HEALTH/IDUNN_RUDP_HEALTH, and-OdinCultMeshUricomes fromSTONKS_ODIN_CULTMESH_URI. - Spotiverse no longer writes
latest-surface.jsonorlatest-spotify-state.jsonby default, and no longer hydrates playback state fromlatest-spotify-state.jsonon boot by default.--write-debug-json/SPOTIVERSE_WRITE_DEBUG_JSON=1and--read-debug-json/SPOTIVERSE_READ_DEBUG_JSON=1are explicit debug/migration paths; the durable surface witness is the CultMesh.ccmpstore. - Odin's Raven Vili restart actuator no longer waits on Vili's HTTP operator-state route. It verifies restart through the Raven-local daemon state file and the configured Idunn RUDP health status.
- Odin no longer writes
scratch/odin/latest-surface.jsonby default. The accepted network surface is persisted to the Odin CultMesh store, and the JSON surface export requires--write-debug-surface-jsonorODIN_WRITE_DEBUG_SURFACE_JSON=1. - Weksa no longer reads
docs/fixtures/weksa-provider-advertisement.jsonas live daemon provider truth. The daemon constructs the livegamecult.eve.provider_advertisement.v1from runtime-owned code and current transport settings; checked-in provider fixtures stay examples only. - Repixelizer's docs and repo state map no longer describe
/api/health,/api/config, nginx, orrepixelizer-gui.serviceas live daemon truth. The live GUI runtime writes provider, surface, queue/job, command-boundary, transport-profile, andidunn.daemon_healthrecords to its configured.ccstore, and missing Idunn RUDP health remains visible missing publication. - Idunn swarm targets no longer carry
health_commandas part of the target contract, desired daemon records publishhealth_command: None, transport profiles reportdebug_mechanism: none, and--health-commandis rejected. Missing daemon health is represented as a non-actuating missing CultNet/RUDP publication on the daemon key. - Muninn transport profiles no longer advertise a literal
muninn --health --store ...command as a debug lowering. Theserveprocess owns Idunn health publication over CultNet/RUDP;--healthremains an explicit diagnostic publisher, not a transport/profile shortcut. - Idunn's README no longer teaches
--health-commandor command-exit health examples. Manual runs now document missing daemon RUDP publication as typed absence, and actuation examples use deploy/restart authority only. - Idunn's architecture doc no longer describes command probes as compatibility health fallback. It now names daemon-published RUDP health as the health owner and missing/stale publication as typed missing-publication state.
- Odin surface/layout scoring no longer carries
legacy-dashboard-nodesorlegacy-node-groupscompatibility branches. Provider-owned Eve/CultUI surface structure now drives overview eligibility without old dashboard-node marker exceptions. - Spotiverse's local agent notes no longer describe CultMesh command documents as future work; they name
spotiverse.command_request.v1as the live command input and HTTP/Eve command frames as debug lowerings. - Repixelizer's README and witness contract no longer describe CultCache/CultMesh publication as future/reserved witness work. They name
RepixelizerVerseRuntimeandrepixelizer.service.ccas the live daemon-owned witness while keeping the provider-advertisement fixture read-only. - StreamPixels now accepts typed
streampixels.command_request.v1CultMesh command documents forpreview-event, routes them throughEventService.applyPreviewEvent, and writesstreampixels.command_receipt.v1receipts./api/admin/preview-eventis a debug/operator lowering into the same executor, not the command authority. - Aetheria's package metadata and Perfect Machine map no longer describe CultMesh catalog/command bridge work as future where the typed state runtime and
AetheriaEveCommandBridgealready exist. Runtime presenters emit typed command documents; provider-owned bridge code accepts them from the CultCache/CultMesh state node. - Odin and active Mimir branch docs no longer call WebSocket deck routes or old dashboard paths compatibility transports; they name renderer/debug lowerings. StreamPixels docs no longer show concrete
10.77.0.2Idunn/Odin RUDP examples and instead require configured endpoints. - Active Mimir branch Eve program-output docs no longer teach EveCanvas to try localhost and then fall back to a receiver host. Eve uses explicit
EVE_STREAM_URLS; SSH tunnels and direct relay URLs are operator-supplied lowerings, not candidate fallback discovery. - Heimdall's fresh-workspace handoff no longer teaches
GC_ACCESS_IDUNN_RUDP_HEALTH=10.77.0.2:17870; it uses a configured Idunn endpoint placeholder. gamecult-opsand VoidBot offsite-backup docs/scripts no longer teach Raven's old LAN IP or a named Qwen box as the backup target. VoidBot already requiresOFFSITE_BACKUP_SSH_TARGET; the docs now describe the configured SSH target instead of a baked workstation route.
Current Shortcut Inventory
| Area | Current State | Required Direction |
|---|---|---|
| Sleipnir input transport and mapping | Uses Odin/CultMesh provider advertisements to discover Muninn HID RUDP endpoints, publishes the Sleipnir command route as cultmesh://odin/command/sleipnir/input_mapping, and reads sleipnir.input_mapping.v1 from local plus Odin discovery CultMesh stores for device/remap intent. Hermodr command lowering has no configured store fallback and no direct raw endpoint dial; it publishes the typed mapping document to Odin through the configured Odin CultMesh/RUDP substrate only when Odin advertises a cultmesh:// Sleipnir command route. Startup publication to Odin is explicit/env-configured, not a Starfire LAN default. |
Keep endpoint choice and command route selection derived from provider advertisements only, and route cross-host command ergonomics through Odin/CultMesh documents instead of remote file writes, raw host routes, or local store assumptions. |
| Idunn health | Fresh daemon-published RUDP health is the only healthy daemon truth; missing publication becomes an alarmable supervisor observation. | Keep command probes unable to satisfy health. |
| Hermodr browser lowering | Lowers Odin's typed gamecult.eve.surface_state.v1 document from the Odin CultMesh store and proxies browser command ergonomics into Odin-advertised writable routes; no provider-catalog fallback, local Sleipnir store fallback, or default Odin HTTP/WebSocket deck input remains. Explicit --odinStatePath is debug fallback only. |
Keep browser surfaces as lowerings only; do not let Hermodr invent Verse catalogs, command routes, or read renderer exports as default truth. |
| Odin daemon surface | Uses CultMesh stores and live CultNet/RUDP announcements for provider/interface truth; compatibility deck scraping, legacy node lowering, remote TCP/SSH/systemd probes, LAN-IP body inference, default JSON surface export, HTTP health, and Odin-hosted /eve/deck are removed from daemon runtime. |
Keep Odin as a CultMesh/CultNet daemon. Renderers lower typed CultMesh state outside Odin; do not reintroduce HTTP/WebSocket side doors in Odin. |
| Muninn telemetry, HID, and media | Publishes provider advertisement, command boundary, transport profile, telemetry surfaces, HID input streams, media profile, and daemon health through CultCache/CultMesh/CultNet; activation commands are command lowerings, not provider routes. Startup publication to Odin, daemon health publication to Idunn, HID provider advertisement, and Raven media/activation targets are explicit/env-configured rather than Starfire LAN or WireGuard defaults. Muninn's own media CLI no longer has a baked target host, and boundary records leave activation lowerings empty until a target is configured. Transport profiles no longer advertise one-shot health commands; serve owns daemon health publication over CultNet/RUDP. |
Keep Sleipnir discovery derived from Muninn provider advertisements and HID RUDP streams; move media/OBS routing toward Odin/CultMesh-resolved endpoints instead of launcher constants. |
| Stonks daemon surface | Publishes CultCache/CultMesh provider records and daemon RUDP health; the Stonks daemon no longer binds HTTP health, JSON snapshot, or WebSocket deck routes. | Keep market state and Eve/CultUI surfaces in typed CultCache/CultMesh records. Renderer lowerings must attach outside the daemon and must not become discovery or health authority. |
| Odin marquee/Stonks input | Odin builds market ticker text from Stonks' discovered Eve surface marqueeText only; direct HTTP /market/state scraping and stonksStateUrl config are removed. |
Keep Stonks market data projected through typed CultMesh/CultCache state before Odin uses it. |
| Spotiverse / Stonks / Vili provider catalogs | Local deck provider-list HTTP endpoints are removed; provider advertisements and surfaces remain daemon-owned typed records or explicit debug/operator lowerings. Spotiverse command requests and receipts now use typed CultMesh documents in spotiverse.ccmp; HTTP and Eve WebSocket command shortcuts are removed. Vili motion generation now consumes gamecult.vili.motion_request.v1 from vili.service.cc and writes gamecult.vili.motion_job.v1; /motion/generate is a 410 tombstone. |
Keep provider discovery and command authority through Odin/CultMesh, not service-local manifest scraping or private command lanes. |
| VoidBot swarm surface | Publishes provider advertisement, command boundary, surface state, and transport profile from .voidbot/status/cultmesh/voidbot-swarm-state.cc; Idunn health is RUDP-published from the orchestrator. VoidBot MCP reads Odin embedded interface state from Odin's CultMesh store and refuses command execution without a CultMesh command transport. Repo-face and Metame voice projections send Weksa MiMo VoiceDesign commands over CultNet/RUDP instead of HTTP. |
Keep operations-health JSON and HTML dashboard as debug/render lowerings only; add real CultMesh command document execution before re-enabling agent command sends. |
| StreamPixels / Heimdall / Repixelizer | Command boundaries and transport profiles name SSH/systemd/HTTP/api/nginx surfaces as deployment or debug lowerings, not transport authority. StreamPixels accepts preview-event through typed CultMesh command request/receipt documents, with HTTP preview as a debug/operator lowering only. Deploy scripts require explicit Idunn health endpoint config instead of writing a WireGuard endpoint default. Repixelizer now publishes its live GUI-owned Verse witness through src/repixelizer/verse_state.py; /api/health reports that runtime state rather than owning daemon truth. |
Keep RUDP health publication daemon-owned; missing publication must remain visible instead of hidden by probes. Extend command documents one service primitive at a time instead of reviving private HTTP command lanes. |
| Bifrost bridge and request lane | External bridge writes, GitHub mutations, dispatch runs, request-lane mutations, snapshot imports, and governance mutations require the Bifrost bridge URL/token so receipt/gate state is recorded. The old unreceipted and ungated flags are rejected everywhere, including tests. | Keep Bifrost mutation authority behind the bridge receipt/gate contract; do not reintroduce local recovery hatches that let workers or operators mutate off-book. |
| Raven connectivity ops | Required connectivity checks use Raven's WireGuard address and SSH alias; Raven LAN ICMP is optional explicit diagnostics only. | Keep LAN probes out of required service health/discovery, and prefer Odin/CultMesh daemon publications for service truth. |
| StreamPixels service boundary store | The service writes streampixels.service.cc through CultMesh.createNode(...).put(...) with typed document definitions; the old bespoke single-file MessagePack writer is removed. |
Keep service-owned CultCache/CultMesh publication as the Verse boundary; web SERVICE_URL stays product web/backend routing, not Odin discovery. |
| Heimdall service boundary store | The auth runtime writes heimdall.service.cc through CultMesh.createNode(...).put(...) with typed document definitions; the old bespoke single-file MessagePack writer is removed. |
Keep Heimdall's auth/provider witness publication as typed CultMesh/CultCache state; HTTP auth/JWKS/discovery endpoints remain product and debug lowerings, not Odin discovery authority. |
| Loki Chrome observer | Chrome extension ingest and CDP probing are local observation lowerings. Loki now writes its daemon-owned snapshot, provider advertisement, Eve surface, command boundary, transport profile, debug/page snapshot, and Idunn health records through state/loki.service.ccmp, and only announces to Odin when an explicit Odin CultMesh/RUDP endpoint is configured. |
Keep browser-extension HTTP as local input ergonomics only; do not restore text .cc witness sidecars or future-CultMesh prose as durable Verse state. |
| Repixelizer service boundary store | The GUI runtime writes provider advertisement, Eve surface state, runtime config, auth projection, queue snapshot, job/job-event records, command boundary, transport profile, and idunn.daemon_health to the configured .cc witness store. It publishes Idunn RUDP health when GC_ACCESS_IDUNN_RUDP_HEALTH is configured; otherwise the transport profile reports missing RUDP health publication. |
Keep queue/job ownership in GuiJobManager until a deliberate typed-store ownership move, and keep HTTP/systemd/nginx as deployment/debug witnesses only. |
| Vili / Weksa | Vili publishes provider, operator, command, transport, motion request, and motion job records in its service CultCache store. HTTP/WS are operator/debug lowerings, JSON sidecars require explicit debug export, and the Vili smoke probe requires an explicit base URL. Weksa accepts commands over CultNet/RUDP, records deleted HTTP command lanes as non-authority, writes JSON mirrors only when debug export is explicit, and constructs its live provider advertisement from daemon-owned code rather than docs fixtures. Vili Idunn health, Weksa Idunn health, and Weksa startup publication are explicit/env-configured, not baked endpoint defaults. | Keep renderer, fixtures, and debug endpoints outside provider transport and command ownership, and route future Vili/Weksa command intake through typed records rather than JSON mirrors. |
| Gjallar | Runs headless beside Odin and Idunn on Yggdrasil, consumes Odin accepted provider state through CultNet/RUDP snapshot input, and publishes gjallar.overview; no WebSocket deck scrape, direct provider WebSocket receiver, baked Starfire endpoint, or live Nightwing framebuffer body remains. |
Keep Yggdrasil aggregate membership/layout derived from Odin-owned provider state; EveCanvas, browser, TUI, and optional framebuffer clients lower the published tree without becoming owners. |
| Idunn surgery/profile records | Migrated target profiles name daemon-owned RUDP health plus daemon-owned CultCache/CultMesh stores. Swarm targets no longer carry health commands, desired daemon records publish health_command: None, --health-command fails closed, and missing health becomes a non-actuating missing-publication observation instead of a probe result. |
Rename legacy schema fields in a later schema migration if consumers can move together. |
| Mimir Nightwing Eve dashboard/browser reference | Publish daemon-owned command boundaries and transport profiles with supervisor lifecycle authority and HTTP/WebSocket/static HTTP as lowerings, not compatibility transport authority. The Eve dashboard broker no longer imports arbitrary remote WebSocket deck providers or invents a StreamPixels SSH/LAN provider. Active proof/relay branch scripts require explicit endpoint config instead of baked Starfire/Raven LAN routes. | Keep Odin/Nightwing consumers reading the typed CultMesh/CultCache witnesses rather than service probes; add new remote surfaces through Odin/CultMesh ingestion, not broker launch args. |
| Mimir OBS diagnostic sink | OBS route is labelled and configured as a debug sink; Mimir owns composition and Yggdrasil/site publication remains the publication path. | Keep OBS outside Verse discovery, provider ownership, and publication authority. |
| Eve browser reference | The browser reference renders local fixtures and checked-in provider advertisements only; it no longer opens live providers by dialing Mimir's Eve deck broker directly. | Feed the picker from Odin/CultMesh gamecult.eve.provider_advertisement.v1 documents before reintroducing live provider entries. |
| Eve native edges | Android no longer has hardcoded Mimir dashboard or Periwinkle sensor URLs; dashboard receive and sensor/media publication require explicit launch extras and otherwise report missing Odin/CultMesh discovery. iOS no longer has baked frame/dashboard/camera/mic WebSocket candidate lists; configured URL lists must come from Odin/CultMesh tooling or operator config and otherwise remain visibly missing. Standalone Fensalir's Direct2D Eve client also requires an explicit FENSALIR_EVE_BROKER and fails visible when Odin/CultMesh tooling has not supplied a lowering endpoint. |
Replace explicit launch/config values with Odin/CultMesh-resolved dashboard/sensor/media endpoints, and keep absent discovery visible rather than falling back to LAN constants. |
| Mimir Nightwing sensor tooling | Mimir.VerseRecorder, nightwing_typed_witness_publisher.py, branch witness publishers, and start-nightwing-move-tracking.ps1 no longer carry or synthesize direct default WebSocket endpoints. The wrappers start local receivers where needed but require publication/subscription URLs from Odin/CultMesh discovery or explicit operator config. |
Replace explicit operator config with Odin/CultMesh-resolved sensor publication/subscription endpoints, and keep direct tool invocations fail-closed without discovered/configured endpoints. |
| Mimir OBS Muninn source | The OBS source consumes provider/catalog supplied RUDP URLs and command/media endpoints; stale private endpoint settings are cleared instead of rewritten to another private shortcut, and missing command/media endpoints stay inert. | Keep OBS as a renderer/diagnostic sink consuming typed Muninn catalog discovery; do not let the plugin own Raven/Starfire transport coordinates. |
| Nightwing visible ops lowerers | gamecult-ops TUI and framebuffer lowerers no longer default to the Starfire Odin deck URL; direct runs require --url, and shell launchers require GAMECULT_VISIBLE_OPS_URL. |
Feed visible ops from Odin/CultMesh discovery or a generated operator env file, not hardcoded LAN deck addresses. |
| Starfire WireGuard bootstrap | The elevation helper starts the configured WireGuard service and records local diagnostics, but unresolved Nightwing.Home can only be replaced with an explicit operator-supplied endpoint fallback. |
Keep network bootstrap separate from Verse discovery and do not let it smuggle hardcoded host identity back into service transport configuration. |
| Ymir physics service | Provider advertisement, operator state, and Eve surface publication are CultCache records in .ymir/service.cc; HTTP serve routes and command/query lowerings are removed. Aetheria no longer depends on Ymir's localhost HTTP endpoints for Unity physics queries. |
Keep any future remote Ymir routing behind typed CultMesh query handles, not service-specific endpoint fields. |
| Aetheria Ymir bridge | Unity projectile, overlap, and cast queries use the typed local YmirPhysicsQueries surface; direct localhost Ymir endpoint fields and HttpWebRequest transport are removed. |
Promote the same operation semantics into CultMesh query handles so local/in-process and remote Ymir routing share one semantic API. |
| Stale rollback clones | Gjallar-rollback is now an archived fail-closed tombstone instead of a runnable Odin Eve deck WebSocket client. Odin-clean-move-identity has been cleaned as an active branch worktree. |
Keep rollback clones unable to act as service transport authorities; delete/archive any future clone that cannot be made fail-closed. |
| Remaining remote service witnesses | Framework-level CultMesh fallback route hints and Aetheria verifier guard strings remain; these are not service shortcut authorities. | Continue service-by-service cuts, moving provider, health, command boundary, and surface records into daemon-owned CultMesh/CultCache publication. |
Verification
cargo test -p sleipnir-daemonnode --check E:\Projects\Odin\src\hermodr-daemon.cjsnode --check E:\Projects\Odin\src\odin\documents.cjsnode --check E:\Projects\Odin\src\odin\marquee.cjsnode --check E:\Projects\Odin\src\odin\config.cjsnode --check E:\Projects\Odin\src\odin\state.cjsnode --check E:\Projects\Odin\src\odin-coordinator.cjsnode --check E:\Projects\Odin\src\odin\interfaces.cjsrg -n "mapping_path|mapping-path|starfire\.sleipnir\.mapping\.json|raven\.sleipnir\.mapping\.json|SleipnirMapping|SleipnirMapping|ravenSsh|readRemoteWindowsJson|writeRemoteWindowsJson|ssh-powershell-compat|local-file" E:\Projects\Odin\crates\sleipnir-daemon\src\main.rs E:\Projects\Odin\src\hermodr-daemon.cjs E:\Projects\Odin\scripts\start-hermodr.ps1 E:\Projects\Odin\scripts\restart-hermodr.ps1 E:\Projects\Odin\scripts\start-starfire-sleipnir.ps1returned no hits.rg -n "muninnRudp|muninn_rudp" E:\Projects\Odin\crates\sleipnir-daemon\src\main.rs E:\Projects\Odin\src\hermodr-daemon.cjs E:\Projects\Odin\scriptsonly finds the negative test fixture proving the old key is ignored.node --check E:\Projects\Odin\src\hermodr-daemon.cjs- PowerShell parse checks passed for
scripts\start-hermodr.ps1andscripts\restart-hermodr.ps1after adding-sleipnirProviderId. - Hermodr Sleipnir command smoke started a temporary target-local Hermodr with
--sleipnirProviderId sleipnir.input-mirror.starfire, verified a configured command wrotesleipnir.input_mapping.v1to the CultMesh store, and verified asleipnir.input-mirror.ravencommand was rejected with HTTP 409 instead of being written to the wrong store. rg -n "stonksStateUrl|/market/state|httpGet" E:\Projects\Odin\src\odin\marquee.cjs E:\Projects\Odin\src\odin\config.cjs E:\Projects\Odin\src\odin\state.cjs E:\Projects\Odin\src\odin-coordinator.cjs E:\Projects\Odin\src\odin\interfaces.cjsreturned no hits.rg -n -F 'startsWith(\"ws://' E:\Projects\Odin\src\odin\interfaces.cjsreturned no hits.node --check E:\Projects\Vili\scripts\vili-daemon.mjsnode E:\Projects\Vili\scripts\vili-daemon.mjs --print-provider-advertisement --state-root E:\Projects\Vili\.vili-test-codexprinted a provider advertisement whose only provider endpoint is thecultmesh-storewitness and whose HTTP/WS routes aredebugLowerings.node --check E:\Projects\Vili\scripts\smoke-vili.mjsnode E:\Projects\Vili\scripts\smoke-vili.mjsexits 2 withoutVILI_URLor positional base URL.node E:\Projects\Vili\scripts\vili-daemon.mjs --print-provider-advertisement --host 0.0.0.0 --port 8824shows thecultmesh-storeendpoint and local127.0.0.1:8824debug lowerings, with no10.77.0.4:8824baked URL.- Temporary Vili daemon boot without
--write-debug-sidecarswrotevili.service.cc,vili-daemon.pid, andjobs, and did not writeprovider-advertisement.json,operator-state.json,eve-operator-surface.json,command-boundary.json,transport-profile.json, orbackend-status.json. - Temporary Vili daemon boot with
--write-debug-sidecarswrote the explicit debug JSON sidecars. cmd /c scripts\health-vili.cmdexits 2 as an archived HTTP health probe.cargo test -p muninn-daemon serve_accepts_odin_cultmesh_rudp_startup_targetrg -n "10\.77\.0\.4:8824|10\.77\.0\.2:17871|192\.168\.1\.66:17870|/eve/deck/providers|ODIN_BASE_URL|WEKSA_DAEMON_BASE_URL" E:\Projects\Odin\scripts E:\Projects\Odin\crates\muninn-daemon\src\main.rs E:\Projects\Vili -g '!node_modules' -g '!**/.git/**'returned no hits.node --check E:\Projects\weksa\scripts\weksa-daemon.mjs- Temporary Weksa daemon boot before the provider-store cut wrote the now-deleted top-level text witness sidecars. The later Weksa CultMesh health smoke verified the live daemon now writes
provider-advertisement-store.ccand does not recreateprovider-advertisement.cc,operator-state.cc,eve-surfaces.cc,command-boundary.cc,transport-profile.cc, orcultmesh-publications.cc. - Temporary Weksa daemon boot with
--write-debug-jsonwrote the explicit debug JSON mirrors. - Temporary Weksa daemon boot with
--write-debug-jsonverified the live provider advertisement ismode: daemon-live, contains the MiMo VoiceDesign command boundary withacceptedByDaemon: true, and contains nofixture-read-only,acceptedByFixture, orFixture exportslanguage. rg -n "docs/fixtures/weksa-provider-advertisement\.json|fixturePath|acceptedByFixture|fixture-read-only|Fixture exports" E:\Projects\weksa\scripts\weksa-daemon.mjs E:\Projects\weksa\docs\verse-service-contract.mdreturned no hits.- PowerShell parse checks passed for
E:\Projects\weksa\scripts\start-weksa-daemon.ps1andE:\Projects\weksa\scripts\restart-weksa-daemon.ps1after removing the localhost Idunn health default. powershell.exe -NoProfile -ExecutionPolicy Bypass -File E:\Projects\weksa\scripts\start-weksa-daemon.ps1withWEKSA_IDUNN_RUDP_HEALTHunset exits nonzero before starting the daemon and reports that-IdunnRudpHealthorWEKSA_IDUNN_RUDP_HEALTHis required.- Source/doc scan of Weksa launchers and Odin Idunn docs for
127.0.0.1:17870, stale Weksa command-ingress debt wording, andIdunnRudpHealth = "127returned no hits; the only remaining127.0.0.1:17870hit is this inventory note. - Weksa command-ingress scan now verifies the live daemon publishes a CultMesh command route and no longer exposes
--mimo-command-jsonorsendWeksaMimoVoiceDesignCommandas direct RUDP client shortcuts. - PowerShell parse check passed for
E:\Projects\Odin\scripts\restart-vili.ps1after replacing the HTTP operator-state health wait with Raven-local daemon state file verification. node --check E:\Projects\Odin\src\odin\config.cjsnode --check E:\Projects\Odin\src\odin-coordinator.cjs- Inline
buildConfigsmoke verifiedwriteDebugSurfaceJsonis false by default and true with--write-debug-surface-jsonorODIN_WRITE_DEBUG_SURFACE_JSON=1. rg -n "latest-surface\.json|writeDebugSurfaceJson|ODIN_WRITE_DEBUG_SURFACE_JSON|write-debug-surface-json|fs\.writeFileSync\(path\.join\(config\.stateDir" E:\Projects\Odin\src\odin-coordinator.cjs E:\Projects\Odin\src\odin\config.cjs E:\Projects\Odin\README.md E:\Projects\Odin\docs\transport-shortcut-inventory.mdshows the JSON write is guarded byconfig.writeDebugSurfaceJson.cargo test -p idunn-daemon -p odin-corerg -n "health_command: Some|--health-command \[|manual\.command-health|test\.command-exit|__idunn_probe|exit 1|compatibility_health_key|probe_health" E:\Projects\Odin\crates\idunn-daemon\src\main.rs E:\Projects\Odin\crates\odin-core\src\idunn.rsreturned no hits.cargo test -p muninn-daemonrg -n -e "health_command" -e "muninn --health --store" -e "command-probe exit semantics" E:\Projects\Odin\crates\muninn-daemon\src\main.rsreturned no hits.rg -n "motion_request\.v0|motion_job\.v0|/eve/deck/providers|ravenDeckUrl|compatibilityMechanisms|compatibility lowerings|compatibility export|endpoints:\s*\{|deckBroker|providerDeck" E:\Projects\Vili\scripts\vili-daemon.mjs E:\Projects\Vili\docs\verse-service-contract.md E:\Projects\Vili\README.mdreturned no hits.git -C E:\Projects\Vili diff --check -- scripts/vili-daemon.mjs docs/verse-service-contract.mdpassed with CRLF normalization warnings only.node E:\Projects\VoidBot\node_modules\typescript\bin\tsc -b --pretty falsenode --check E:\Projects\VoidBot\scripts\publish-idunn-rudp-health.cjs- PowerShell parse check passed for
E:\Projects\VoidBot\scripts\run-gamecult-orchestrator.ps1after removing the localhost Idunn health default. node E:\Projects\VoidBot\scripts\publish-idunn-rudp-health.cjswithVOIDBOT_IDUNN_RUDP_HEALTHunset exits nonzero and reports that--endpointorVOIDBOT_IDUNN_RUDP_HEALTHis required.Select-String -SimpleMatchacross VoidBot health publisher and orchestrator wrapper found no127.0.0.1:17870; the onlylocalhost defaulthit is the refusal message saying no localhost default is assumed.rg -n "WEKSA_DAEMON_BASE_URL|daemonBaseUrl|speech-provider/mimo/voicedesign|http://127\.0\.0\.1:8813" E:\Projects\VoidBot\.env.example E:\Projects\VoidBot\packages E:\Projects\VoidBot\apps -g "*.ts" -g "*.example"returned no hits.git -C E:\Projects\VoidBot diff --check -- .env.example packages/core/src/weksa-speech.ts packages/config/src/index.ts apps/worker/src/index.ts apps/bot/src/metame-owner-voice-bridge.tsnode --check E:\Projects\Odin\src\odin\probes.cjsnode --check E:\Projects\Odin\src\odin\state.cjsnode --check E:\Projects\Odin\src\odin\surface.cjs- Mocked Odin state build with
NODE_PATH=E:\Projects\CultLib\packagesverified Nightwing becomesactivefrom provider evidence and Yggdrasil remainswaitingwithout provider evidence. rg -n "hostChecks|checksFor|tcpCheck|remoteServices|remoteGpu|hostState|hostServices|systemdState|systemctl is-active|nvidia-smi|192\.168\.1\.75|192\.168\.1\.84|192\.168\.1\.72|192\.168\.1\.66|yggdrasil\.gamecult\.org|net\.createConnection" E:\Projects\Odin\src\odin E:\Projects\Odin\README.md E:\Projects\Odin\docs\architecture.mdnow only finds the WebSocket bridge'snet.createConnection.cargo test -p idunn-daemoncargo test -p muninn-daemonC:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe scripts/check-syntax.cjsC:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe --check src\stonks-daemon.cjsC:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe --check src\spotiverse-daemon.cjsC:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe --check scripts\export-provider-advertisement.cjsC:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe --check tools\provider-advertisement.mjsinE:\Projects\BifrostC:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe tools\provider-advertisement.mjs printchecked for absence ofcompatibility-eve-deck,websocket-bridge, andws://192.168.1.66:8797/eve/deckC:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe tools\provider-advertisement.mjs print-bindingchecked for absence ofcompatibility-eve-deck,websocket-bridge, andws://192.168.1.66:8797/eve/deckC:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe --check scripts\render-voidbot-swarm-dashboard.mjsC:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe scripts\render-voidbot-swarm-dashboard.mjsC:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe scripts\export-voidbot-provider-advertisements.mjs --checkC:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe ./node_modules/typescript/bin/tsc -p tsconfig.json --noEmitinE:\Projects\HeimdallC:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe ..\..\node_modules\typescript\bin\tsc -p tsconfig.json --noEmitinE:\Projects\StreamPixels\apps\serviceC:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\python\python.exe -m py_compile src\repixelizer\verse_state.pyE:\Projects\repixelizer\.venv\Scripts\python.exe -m pytest tests\test_verse_state.pypassed 2 tests.rg -n "future CultCache export|next Idunn transport cut|plain GUI/systemd transport debt|still the live witnesses|does not own queue truth or write CultCache|add a daemon-owned \.cc` witness|publish Repixelizer daemon health to Idunn" E:\Projects\repixelizer\docs\verse-service-contract.md E:\Projects\repixelizer\state\map.yaml E:\Projects\Odin\docs\idunn.md` returned no hits; the inventory ledger is excluded so the quoted scan pattern cannot self-match.C:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe --check scripts\vili-daemon.mjsC:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe --check scripts\smoke-vili.mjsC:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe --check scripts\weksa-daemon.mjsnode node_modules\typescript\bin\tsc -b --pretty falseinE:\Projects\VoidBot- Active-code and steering-doc scan for
compatibility-eve-deck,/eve/deck/providers, deck manifests,ODIN_BASE_URL,odinBaseUrl, seeded deck URLs, and Odin/provider WebSocket snapshot helpers across active repo worktrees; remaining hits are this inventory plus thegamecult-opsaudit detector. Mimir scratch build copies and state/evidence ledgers were excluded as historical/generated records. rg -n "compatibility|fallback" crates\idunn-daemon\src\main.rs src\odin\config.cjs src\odin\interfaces.cjs src\odin-coordinator.cjsreturned no hits.dotnet build .\src\Gjallar\Gjallar.csprojdotnet build .\src\Mimir.EveDashboard\Mimir.EveDashboard.csprojinE:\Projects\Mimirdotnet build .\src\Mimir.EveBrowserReference\Mimir.EveBrowserReference.csprojinE:\Projects\Mimirdotnet build .\src\Mimir.Runtime\Mimir.Runtime.csprojinE:\Projects\Mimirdotnet build .\src\Mimir.EveDashboard\Mimir.EveDashboard.csproj --no-restoreinE:\Projects\Mimir-obs-muninn-branchdotnet build .\src\Mimir.RavenDaemon\Mimir.RavenDaemon.csproj --no-restoreinE:\Projects\Mimir-obs-muninn-branchdotnet build .\src\Mimir.FensalirDaemon\Mimir.FensalirDaemon.csprojinE:\Projects\Mimir-obs-muninn-branchdotnet build .\src\Mimir.EveDashboard\Mimir.EveDashboard.csproj --no-restoreinE:\Projects\Mimir-raven-builddotnet build .\src\Mimir.Muninn\Mimir.Muninn.csproj --no-restoreinE:\Projects\Mimir-raven-builddotnet build .\src\Mimir.FensalirDaemon\Mimir.FensalirDaemon.csprojinE:\Projects\Mimir-raven-buildcargo test -p odin-core idunn_records_round_trip_through_cultmeshcargo test -p muninn-daemon runtime_boundary_records_use_explicit_activation_store_pathdotnet build .\src\ymir-daemon\ymir-daemon.csprojinE:\Projects\Ymirdotnet testinE:\Projects\Ymirpassed 23 tests.dotnet run --project .\src\ymir-daemon -- publish-service --path .ymir\service.ccinE:\Projects\Ymirrg -n "HttpListener|System\.Net|serve|8877|/simulate/step|/query/overlap|/query/cast|CommandLowerings = Http|remote/debug physics|local HTTP daemon|HTTP endpoints|provider-advertisement|operator-state|eve/operator|GET /health" src README.md docs -SinE:\Projects\Ymir; remaining hits are ordinary prose words, not routes or transport code.rg -n "http://127\.0\.0\.1:8877|PostJson|ServiceUrl|OverlapSphereUrl|OverlapCircleUrl|CastCircleUrl|CastSphereUrl|TimeoutMilliseconds|HttpWebRequest|Ymir daemon URL|JSON-over-local-HTTP|local HTTP Ymir|posts JSON to Ymir|hard-coded local URL|/simulate/step|/query/overlap|/query/cast" Assets\Scripts docs Aetheria.State -SinE:\Projects\Aetheriareturned no hits.rg -n "http://127\.0\.0\.1:8877|PostJson<|public string ServiceUrl|public string OverlapSphereUrl|public string OverlapCircleUrl|public string CastCircleUrl|public string CastSphereUrl|/simulate/step|/query/overlap|/query/cast|HttpListener|Ymir serving physics" E:\Projects\Ymir E:\Projects\Aetheria -S ... -g "!**/Aetheria.State.Verify/Program.cs"returned no hits; the verifier file intentionally retains old symbols as forbidden strings.powershell -ExecutionPolicy Bypass -File .\Aetheria.State\scripts\verify-stage7d-unity-parity.ps1inE:\Projects\Aetheriafailed before Ymir checks on existingMainMenu must read Verse host settings through the typed document handle.dotnet run --project .\Aetheria.State.Verify\Aetheria.State.Verify.csproj --no-restoreinE:\Projects\Aetheriacompiled far enough to run verifier checks and failed later on existing provider-advertisement state refs inRequireDaemonVersePublication; the updated Ymir HTTP guard did not trigger.dotnet build .\Assembly-CSharp.csproj /clp:ErrorsOnly /p:UseSharedCompilation=falseinE:\Projects\Aetheriafailed on existing missingAetheriaRuntimeEveSurfaceAdvertisement; one parallel build also hit lockedobj\Debug\UniRx.dll.dotnet build .\Tests.csproj /clp:ErrorsOnly /p:UseSharedCompilation=falseinE:\Projects\Aetheriafailed on existing missingAetheriaRuntimeEveSurfaceAdvertisement.node node_modules\typescript\bin\tsc -p apps\service\tsconfig.json --noEmitinE:\Projects\StreamPixels- StreamPixels verse-state smoke with
STREAMPIXELS_CULTCACHE_PATH=.streampixels-data\cultcache\codex-smoke.service.ccwrote the store throughpublishStreamPixelsVerseState. inspectCultCacheByteson the StreamPixels smoke store foundstreampixels.command_boundary.v1,streampixels.transport_profile.v1,gamecult.eve.provider_advertisement.v1, andidunn.daemon_health.v1.pnpm installinE:\Projects\Heimdallrestored local links and updatedpnpm-lock.yaml; pnpm exited nonzero only because build-script approval foresbuild@0.27.7is enforced in this environment.node node_modules\typescript\bin\tsc -p tsconfig.json --noEmitinE:\Projects\Heimdallnode node_modules\vitest\vitest.mjs run --config vitest.config.ts tests/verse-runtime.test.tsinE:\Projects\Heimdallnode node_modules\vitest\vitest.mjs run --config vitest.config.tsinE:\Projects\Heimdallpassed 29 tests.- Heimdall verse-state smoke with
GC_ACCESS_CULTCACHE_PATH=.heimdall-data\cultcache\codex-smoke.service.ccwrote the store throughpublishHeimdallVerseState. inspectCultCacheByteson the Heimdall smoke store foundgamecult.eve.provider_advertisement.v1,heimdall.command_boundary.v1,heimdall.transport_profile.v1, andidunn.daemon_health.v1.rg -n -e 'STORE_FORMAT_VERSION' -e 'CultCacheRecord' -e 'writeCultCacheSnapshot' -e 'mkdir, rename, rm, writeFile' -e 'from "@msgpack/msgpack"' -e 'encode\(\[STORE_FORMAT_VERSION' -e 'schemaId: "idunn\.daemon_health"' E:\Projects\Heimdall\src\verse-state.ts E:\Projects\Heimdall\tests\verse-runtime.test.tsreturned no hits.- Active-service scan for
STORE_FORMAT_VERSION,writeCultCacheSnapshot,CultCacheRecord, and hand-built schema catalog JSON acrossE:\Projectsfound no remaining daemon shortcut writers; remaining hits are CultCache library implementations/tests, vendored CultCache sources, and historical clean-room/rollback clones. dotnet build .\src\Mimir.EveDashboard\Mimir.EveDashboard.csproj --no-restoreinE:\Projects\Mimirrg -n "RemoteDashboardProvider|YggdrasilStreamPixelsProvider|--provider|External EveDeck|registered WebSocket endpoint|id\|title\|ws-url|TCP/WebSocket over LAN|ssh-tunnel|yggdrasil\.streampixels\.edge" E:\Projects\Mimir\src\Mimir.EveDashboard\Program.csreturned no hits.node --check web\surface.jsinE:\Projects\Everg -n "mimir-eve-deck|openVoidBot|VoidBot Live|Mimir broker error|8795/eve/deck" E:\Projects\Eve\web\surface.js E:\Projects\Eve\README.md E:\Projects\Eve\docs\renderer-parity.md E:\Projects\Eve\docs\cultmesh-streaming-ui-framework.mdreturned no hits.powershell -ExecutionPolicy Bypass -File .\scripts\build-android.ps1inE:\Projects\Evebuiltartifacts\android\eve-debug.apk; the script printed twofindstrcommand-not-found diagnostics plus Java/Kotlin deprecation warnings, but exited 0.Select-Stringscan for192.168.1.66:8795,192.168.1.66:8796,URI.create("ws://192.168.1.66,waiting for Mimir,waiting for receiver,Mimir broker health,monkey -p org.gamecult.eve,mimir-eve-deck,openVoidBot, andVoidBot Liveacross the touched Eve Android/browser/docs files returned no hits.rg -n "ws://127\.0\.0\.1|ws://192\.168\.1\.66|8792/stream|8793/eve/camera|8794/eve/mic|8795/eve/deck|8797/eve/deck|awaiting Mimir|waiting for Mimir" E:\Projects\Eve\Sources E:\Projects\Eve\README.md E:\Projects\Eve\docs\cultmesh-streaming-ui-framework.md E:\Projects\Eve\docs\renderer-parity.mdreturned no hits.git -C E:\Projects\Eve diff --check -- Sources/EVEViewController.mm README.mdpassed with CRLF normalization warnings only.dotnet build .\src\Mimir.VerseRecorder\Mimir.VerseRecorder.csproj --no-restoreinE:\Projects\Mimirdotnet run --project .\src\Mimir.VerseRecorder\Mimir.VerseRecorder.csproj --no-build -- --seconds 0.01inE:\Projects\Mimirexits 2 and prints that--urlis required from an explicit CultMesh/Odin-discovered sensor subscription endpoint.C:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\python\python.exe -m py_compile tools\nightwing_typed_witness_publisher.pyinE:\Projects\MimirC:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\python\python.exe tools\nightwing_typed_witness_publisher.py --onceinE:\Projects\Mimirexits 2 and reports required--url.Select-Stringscan forws://127.0.0.1:8796/eve/periwinkle/subscribe,ws://192.168.1.66:8796/eve/periwinkle,parser.add_argument("--url", default, andParseString(args, "--url", "ws://acrossMimir.VerseRecorder,nightwing_typed_witness_publisher.py, andstart-nightwing-move-tracking.ps1returned no hits.powershell -NoProfile -ExecutionPolicy Bypass -File E:\Projects\Mimir\scripts\start-nightwing-move-tracking.ps1 -DryRunexits 1 and reports required-WitnessUrl/MIMIR_NIGHTWING_WITNESS_URL.powershell -NoProfile -ExecutionPolicy Bypass -File E:\Projects\Mimir\scripts\start-nightwing-move-tracking.ps1 -DryRun -WitnessUrl ws://example.invalid:8796/eve/periwinkle -SubscribeUrl ws://example.invalid:8796/eve/periwinkle/subscribeshows the receiver, recorder, and Nightwing publisher using only the supplied URLs.Select-Stringscan forStarfireHost,192\.168\.1\.66,ws://127\.0\.0\.1:\$Port,witnessUrl = "ws://, andsubscribeUrl = "ws://inE:\Projects\Mimir\scripts\start-nightwing-move-tracking.ps1returned no hits.C:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\python\python.exe -m py_compile scripts\nightwing-visible-ops-tui.py scripts\nightwing-visible-ops-fb.pyinE:\Projects\gamecult-opsC:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\python\python.exe scripts\nightwing-visible-ops-tui.py --helpand... scripts\nightwing-visible-ops-fb.py --helpshow required--url.C:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\python\python.exe scripts\nightwing-visible-ops-tui.py --tty /dev/null --provider odin.providersand... scripts\nightwing-visible-ops-fb.py --frames 1exit 2 without--url.Select-Stringscan forws://192.168.1.66:8797/eve/deck,GAMECULT_VISIBLE_OPS_URL:-ws, and--url", defaultacrossgamecult-opsvisible-ops lowerers returned no hits.- Shell syntax for
gamecult-opsvisible-ops launchers was not executed locally because the onlybash.exeis the WSL shim and WSL is unavailable in this environment; the changed shell blocks were inspected and the removed LAN default was scanned. Select-Stringscan forws://192.168.1.66:8797/eve/deck,ws://127.0.0.1:8796/eve/deck,known provider seed,seed deck URLs,defaulting to ws://192, andcompatibility HTTP/WebSocket deck bridgeacrossE:\Projects\Odin\README.md,docs\gjallar.md, anddocs\architecture.mdreturned no hits after the architecture wording update.- PowerShell parse checks passed for
scripts\start-starfire-sleipnir.ps1,scripts\restart-starfire-muninn.ps1,scripts\restart-nightwing-muninn.ps1,scripts\restart-muninn.ps1,scripts\deploy-nightwing-gjallar.ps1,E:\Projects\weksa\scripts\start-weksa-daemon.ps1, andE:\Projects\weksa\scripts\restart-weksa-daemon.ps1. cargo test -p idunn-daemonpassed 16 tests after replacing Idunn's embedded Gjallar Starfire endpoint steering text with configured-endpoint language.- Active-code scan across Odin,
gamecult-ops, Weksa, Vili, VoidBot, Eve, and Mimir for192.168.1.66:17871,127.0.0.1:17871, Starfire Odin deck URLs, visible-ops URL defaults,ODIN_BASE_URL, and/eve/deck/providersnow returns only this inventory, thegamecult-opsaudit detector, and Odin README local debug endpoint documentation. - PowerShell parse checks passed for
scripts\restart-starfire-muninn.ps1,scripts\restart-nightwing-muninn.ps1,scripts\restart-muninn.ps1,scripts\health-muninn.ps1, andscripts\health-starfire-muninn.ps1after removing the192.168.1.66:17870health default. cargo test -p idunn-daemonpassed 16 tests after replacing Idunn's embedded Raven Muninn health endpoint steering text with configured-endpoint language and adding negative assertions against192.168.1.66:17870.cargo test -p idunn-daemonpassed 17 tests after replacing Idunn's swarm surgery plan source-address lore (10.77.0.xand127.0.0.1acceptance text) with daemon-id/configured-route language and flipping the tests to negative assertions against those endpoint literals.rg -n "10\.77\.0\.[0-9]+|192\.168\.1\.66:17870|from 127\.0\.0\.1|from 10\.77|Idunn accepts .* from" E:\Projects\Odin\crates\idunn-daemon\src\main.rsnow finds only negative assertions and configured-route/source-address-folklore wording, not active plan guidance.rg -n -e '192\.168\.1\.66:17870' -e '--idunn-rudp-health 192\.168\.1\.66:17870' E:\Projects\Odin E:\Projects\gamecult-ops ...now finds only this inventory's cut note, negative Idunn assertions, and unrelated deployed-service env examples for Yggdrasil service health endpoints.- PowerShell parse checks passed for
scripts\start-odin.ps1andscripts\restart-odin.ps1after removing the localhost Idunn health default. powershell.exe -NoProfile -ExecutionPolicy Bypass -File E:\Projects\Odin\scripts\start-odin.ps1withODIN_IDUNN_RUDP_HEALTHandIDUNN_RUDP_HEALTHunset exits nonzero before starting Odin and reports that an explicit Idunn RUDP health endpoint is required.Select-Stringacross Odin, Weksa, Vili, andgamecult-opsscript targets plus Odin README/Muninn docs for127.0.0.1:17870,10.77.0.2:17870,192.168.1.66:17870, and localhost-shapedIdunnRudpHealthdefaults returned no hits.- PowerShell parse check passed for
E:\Projects\Stonks\scripts\start-stonks.ps1after removing localhost Idunn/Odin RUDP defaults. powershell.exe -NoProfile -ExecutionPolicy Bypass -File E:\Projects\Stonks\scripts\start-stonks.ps1withSTONKS_IDUNN_RUDP_HEALTHandIDUNN_RUDP_HEALTHunset exits nonzero before starting Stonks and reports that an explicit Idunn RUDP health endpoint is required.Select-Stringacross Stonks launcher, README, and source for127.0.0.1:17870,127.0.0.1:17871, localhost-shaped Idunn/Odin RUDP parameter defaults, and the old--idunn-rudp-health 127.0.0.1:17870recipe returned no hits.- Active publication-default scan across Odin, Stonks, VoidBot, Weksa, Vili, and
gamecult-opslaunch scripts plus Odin/Stonks/Muninn README surfaces found no remaining localhost-shaped Idunn health parameter defaults or old--idunn-rudp-health 127.0.0.1:17870launch recipe. Remaining local127.0.0.1:17870references document Idunn's own ingress bind, not child-daemon publication defaults. node --check E:\Projects\Spotiverse\src\spotiverse-daemon.cjsnode --check E:\Projects\Spotiverse\scripts\export-provider-advertisement.cjs- PowerShell parse check passed for
E:\Projects\Spotiverse\scripts\start-spotiverse.ps1after adding explicit-WriteDebugJson/-ReadDebugJsonswitches. - Spotiverse no-debug smoke started the daemon with a temporary state dir and no debug flags, then verified
latest-surface.jsonandlatest-spotify-state.jsonwere not written. - Spotiverse debug smoke started the daemon with
--write-debug-json, then verifiedlatest-surface.jsonandlatest-spotify-state.jsonwere written only on that explicit path. rg -n -e 'loadLatestSnapshot\(\) \|\|' -e 'Debug witnesses:latest-surface.json,latest-spotify-state.json, and' -e 'currentDebugMirror' -e 'Promotelatest-spotify-state.json' E:\Projects\Spotiverse\src\spotiverse-daemon.cjs E:\Projects\Spotiverse\README.md E:\Projects\Spotiverse\docs E:\Projects\Spotiverse\scripts\export-provider-advertisement.cjsnow finds only Heimdall-account and command-receipt debug mirrors, not the demoted surface/playback JSON mirrors.- Follow-up active JSON shortcut scan for
latest-surface.json,latest-spotify-state.json, provider/operator JSON mirrors, deck provider manifests,ODIN_BASE_URL,WEKSA_DAEMON_BASE_URL, and compatibility deck transports across Odin, Spotiverse, Stonks, Vili, Weksa, VoidBot, Mimir, and Eve found only debug-gated writers (Odin,Vili,Weksa,Spotiverse) plus static fixture references. The relevant code contexts all gate JSON output behind explicit debug flags. - PowerShell parse checks passed for
scripts\deploy-nightwing-gjallar.ps1,scripts\restart-vili.ps1, andscripts\health-nightwing-muninn.ps1after removing the10.77.0.2:17870defaults. cargo test -p idunn-daemonpassed 16 tests andcargo test -p muninn-daemonpassed 141 tests after replacing remaining real Idunn endpoint fixtures/steering text with configured-endpoint language.- Bash syntax checks for
gamecult-opsdeploy scripts could not run locally becausebash.exeis the WSL shim and/bin/bashis unavailable in this environment. rg -n -e '10\.77\.0\.2:17870' -e '192\.168\.1\.66:17870' E:\Projects\Odin E:\Projects\gamecult-ops ...now finds only this inventory's cut notes and negative Idunn assertions.- PowerShell parse check passed for
scripts\restart-muninn.ps1after removing Raven media/OBS/OBS catalog Starfire LAN defaults. cargo test -p muninn-daemonpassed 141 tests after the Raven Muninn launcher media-target cut.Select-Stringscan ofscripts\restart-muninn.ps1confirmed no192.168.1.66media/OBS endpoint remains; media target comes fromMUNINN_MEDIA_TARGET_HOST, OBS target fromMUNINN_OBS_TARGET_HOSTor the media target, and OBS catalog target fromMUNINN_OBS_CATALOG_RUDP_TARGETonly.- PowerShell parse check passed for
scripts\activate-muninn-raven-av-srt.ps1; invoking it withMUNINN_MEDIA_TARGET_HOSTandMUNINN_OBS_TARGET_HOSTcleared fails before remote upload with the required explicit-target error. rg -n -e '\$TargetHost = "10\.77\.0\.2"' -e '\$ObsTargetHost = "10\.77\.0\.2"' -e 'muninn\.exe --health.*fallback' -e 'fallback/manual proof' E:\Projects\Odin\scripts\activate-muninn-raven-av-srt.ps1 E:\Projects\Odin\docs\muninn.md E:\Projects\Odin\docs\idunn.mdreturned no hits.cargo test -p muninn-daemonpassed 142 tests after removing Muninn's baked media target defaults.rg -n "10\.77\.0\.2|192\.168\.1\.66" E:\Projects\Odin\crates\muninn-daemon\src\main.rsreturned no hits.rg -n -e '--health-command' -e 'command probe' -e 'compatibility probe' -e 'fallback' -e 'exit 0' -e 'exit 1' E:\Projects\Odin\src\Idunn\README.mdreturned no hits.rg -n -e "compatibility command" -e "command-probe fallback" -e "command probe remains" -e "local compatibility command" -e "compatibility probes" -e "fallback proof" -e "fallback health" -e "health/deck" -e "compatibility health" E:\Projects\Odin\docs\idunn.md E:\Projects\Odin\src\Idunn\README.mdreturned no hits.node --check E:\Projects\Odin\src\odin\surface.cjsnode --check E:\Projects\Odin\src\odin\layout.cjsrg -n "legacy-dashboard-nodes|legacy-node-groups|props\?\.compatibility" E:\Projects\Odin\src\odin E:\Projects\Odin\README.md E:\Projects\Odin\docs -g '!node_modules'returned no hits.- PowerShell parse check passed for
scripts\start-starfire-wireguard-elevated.ps1after replacing the baked Nightwing endpoint fallback and Starfire LAN diagnostic address with explicit config. rg -n "192\.168\.1\.(66|75|84)|10\.77\.0\.2:17870" E:\Projects\Odin\scripts E:\Projects\Odin\crates E:\Projects\Odin\src E:\Projects\Odin\docs E:\Projects\Odin\README.mdnow finds only this inventory and negative Idunn assertions.- PowerShell parse check passed for
E:\Projects\gamecult-ops\scripts\check-raven-connectivity.ps1after demoting Raven LAN ICMP to optional explicit diagnostics. rg -n "192\.168\.1\.(66|75|84)...|/eve/deck/providers|ODIN_BASE_URL|WEKSA_DAEMON_BASE_URL" E:\Projects\gamecult-ops ...now finds only inventory/runbook history plus the audit detector string.- PowerShell parse checks passed for the active Mimir branch proof scripts after replacing baked Starfire/Raven/Nightwing endpoints with
MIMIR_*environment configuration and fail-closed guards. dotnet build .\src\Mimir.EveRelay\Mimir.EveRelay.csprojpassed inE:\Projects\Mimir-raven-buildandE:\Projects\Mimir-obs-muninn-branch; both builds restored missing project assets and reported only the pre-existing CA2024 analyzer warning.rg -n "192\.168\.1\.(66|75|84)...|/eve/deck/providers|ODIN_BASE_URL|WEKSA_DAEMON_BASE_URL" E:\Projects\Mimir-obs-muninn-branch\src ... E:\Projects\Mimir-raven-build\scripts ...returned no hits after the branch proof/relay cut.E:\Projects\Mimir\docs\neighbor-sender-setup.mdwas updated so sender SSH and SRT receiver routes are configured placeholders rather than old LAN addresses.C:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\python\python.exe -m py_compilepassed for both active Mimir branchtools\nightwing_typed_witness_publisher.pyfiles.C:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\python\python.exe E:\Projects\Mimir-raven-build\tools\nightwing_typed_witness_publisher.py --onceexits 2 and reports required--url/MIMIR_WITNESS_URL.cmake --build E:\Projects\Mimir-obs-muninn-branch\native\obs_stem_source\build --target muninn_rudp_url_tests --config Releaseand the resultingmuninn_rudp_url_tests.exepassed after replacing real LAN fixture URLs with documentation addresses.cmake --build E:\Projects\Mimir-obs-muninn-branch\native\obs_stem_source\build --target mimir_obs_stem_source --config Releasepassed after removing OBS Muninn source endpoint defaults.- Corrected
Get-ChildItem | Select-Stringscan acrossE:\Projects\Mimir,E:\Projects\Mimir-raven-build, andE:\Projects\Mimir-obs-muninn-branchdocs/config for192.168.1.66,192.168.1.75,192.168.1.84, Starfire WebSocket/CultNet URLs,TargetHost 192.168.1.66, andaudio-field.example.jsonRaven address returned no hits. - Active-code scan across Odin,
gamecult-ops, Vili, Weksa, VoidBot, Eve, Mimir, and active Mimir branch source/script/tool/native paths for the old LAN/WireGuard endpoint families,/eve/deck/providers,ODIN_BASE_URL, andWEKSA_DAEMON_BASE_URLnow returns only negative Idunn assertions, a Weksa state-map note, and thegamecult-opsaudit detector. - Follow-up active-code scan after the Vili sidecar/health cuts across Odin,
gamecult-ops, Vili, Weksa, VoidBot, Eve, Mimir, and active Mimir branch source/script/tool/native paths for the old LAN/WireGuard endpoint families,/eve/deck/providers,ODIN_BASE_URL, andWEKSA_DAEMON_BASE_URLstill returns only negative Idunn assertions, a Weksa state-map note, and thegamecult-opsaudit detector. - Broad active-code scan after the Weksa/Odin JSON cuts for old LAN/WireGuard endpoint families, deck provider/manifest shortcuts,
ODIN_BASE_URL,WEKSA_DAEMON_BASE_URL,latest-surface.json, and service JSON sidecar names returns only gated debug writers/docs, checked-in fixtures, negative Idunn assertions, thegamecult-opsaudit detector, and this inventory. node --check E:\Projects\Odin\src\hermodr-daemon.cjspassed after moving Hermodr's Odin input from default HTTP/JSON export to the Odin CultMesh store.- PowerShell parse checks passed for
scripts\start-hermodr.ps1andscripts\restart-hermodr.ps1after replacing-OdinHttpBase/-OdinWsBasewith-OdinCachePath/-OdinSurfaceKey. - Hermodr CultMesh smoke created a temporary Odin store containing
surface:gamecult.network.status, startedsrc\hermodr-daemon.cjswith--odinCachePath, and verified/hermodr/verse/catalogreturned the typedsmoke.providersurface. rg -n "odinHttpBase|odinWsBase|OdinHttpBase|OdinWsBase|latest-surface\.json|http://127\.0\.0\.1:8797|ws://127\.0\.0\.1:8797|hermodr-http-to-odin-cultmesh-bridge"across Hermodr source and launchers returned no hits.dotnet build .\src\Mimir.Well\Mimir.Well.csprojanddotnet build .\src\Mimir.VerseRecorder\Mimir.VerseRecorder.csprojpassed in bothE:\Projects\Mimir-obs-muninn-branchandE:\Projects\Mimir-raven-buildafter removing the localhost Periwinkle defaults.- PowerShell parser checks passed for both active Mimir branch
scripts\start-online-verse-daemons.ps1files. dotnet run --project .\src\Mimir.Well\Mimir.Well.csproj --no-build -- --seconds 0.01now exits before startup in both active Mimir branches and reports that--publish-url/MIMIR_WELL_PUBLISH_URLis required.dotnet run --project .\src\Mimir.VerseRecorder\Mimir.VerseRecorder.csproj --no-build -- --seconds 0.01now exits before startup in both active Mimir branches and reports that--url/MIMIR_VERSE_RECORDER_URLis required.start-online-verse-daemons.ps1 -DryRunwith onlyMIMIR_WITNESS_URLset now fails in both active Mimir branches with the required-SubscribeUrl/MIMIR_VERSE_RECORDER_URLmessage; explicit dry-runs with example Well/Recorder URLs route only the suppliedexample.invalidendpoints.rg -n "ws://127\.0\.0\.1:8796/eve/periwinkle|ws://127\.0\.0\.1:8798/eve/periwinkle|MIMIR_WELL_PUBLISH_URL|MIMIR_VERSE_RECORDER_URL"across the touched active Mimir branch Well, VerseRecorder, and online-daemon launcher files now finds only the explicit environment-variable controls and fail-closed messages, not the deleted endpoint defaults.node node_modules\typescript\bin\tsc -b --pretty falsepassed inE:\Projects\VoidBotafter deleting the Weksa RUDP localhost default.- VoidBot config smoke verified
REPO_FACE_WEKSA_SPEECH_ENABLED=falseaccepts a blankWEKSA_CULTMESH_COMMAND_URI, whileREPO_FACE_WEKSA_SPEECH_ENABLED=truerejects a blank URI with the explicit Odin/CultMesh-discovered command URI message. rg -n -e 'ODIN_BASE_URL' -e 'WEKSA_CULTMESH_COMMAND_URI=.*127\.0\.0\.1' -e 'weksa.*127\.0\.0\.1:8813' E:\Projects\VoidBot\.env.example E:\Projects\VoidBot\packages\config\src E:\Projects\VoidBot\apps E:\Projects\VoidBot\packages\core\srcreturned no live shortcut hits.cargo test -p idunn-daemonpassed 17 tests after replacing the remaining Weksa generated-plan text with Odin/CultMesh command URI language.rg -n "rudp://127\.0\.0\.1:8813|speech_provider\.mimo\.voicedesign now arrives on rudp://|VoiceDesign commands arrive onrudp://"` across Idunn's daemon source plus Weksa docs/scripts/README returned no hits after the Weksa contract wording cut.- Aetheria's
Aetheria.Rts.Web\Electron\main.tslocalhost RUDP default was inspected and left in place because it is the Electron shell's local-daemon launch path when no remote daemon endpoint is configured, not a provider discovery or command shortcut.AETHERIA_RTS_PEER_CULTMESH_ENDPOINTSlocalhost references are smoke/test fixtures. rg -n -e '192\.168\.1\.75' -e '192\.168\.1\.66' -e '8795/eve/deck' -e '8796/eve/periwinkle' -e 'http://192\.168\.' -e 'ws://192\.168\.' E:\Projects\gamecult-ops\runbooks\nightwing-cultmesh-worker-tunnel.md E:\Projects\gamecult-ops\inventory.mdreturned no hits after demoting the old Nightwing/Starfire LAN recipes.git -C E:\Projects\gamecult-ops diff --check -- runbooks\nightwing-cultmesh-worker-tunnel.md inventory.mdpassed with CRLF normalization warnings only.node --check tools\provider-advertisement.mjspassed inE:\Projects\Bifrostafter replacing the local Odin publication endpoint example.node tools\provider-advertisement.mjs --helpnow shows$env:BIFROST_ODIN_CULTMESH_URI="cultmesh://odin/rendezvous/provider-catalog"; node tools/provider-advertisement.mjs publish-odininstead of a localhost endpoint.rg -n "127\.0\.0\.1:17871|BIFROST_ODIN_CULTMESH_RUDP" E:\Projects\Bifrost\tools\provider-advertisement.mjs E:\Projects\Bifrost\docs\verse-service-contract.mdreturns no active publication path outside removed-config guards and this inventory.node --check tools\provider-advertisement.mjspassed inE:\Projects\Bifrostafter making HTTP health/readiness probes explicit, andnode tools\provider-advertisement.mjs print-surface --generated-at 2026-07-03T00:00:00.000Zreportsstatus: "unprobed"with health/readynot configuredwhen no probe URLs are supplied.Select-StringoverE:\Projects\Bifrost\tools\provider-advertisement.mjsnow finds no implicitfetchProbe("http://127.0.0.1:5080..."); only the explicitBIFROST_HEALTH_URL/BIFROST_READY_URLcontrols and help example remain.node --check tools\agent-transport.mjs,node --check tools\dispatch-agent-requests.mjs,node --check tools\governance-threads.mjs, andnode --check tools\bifrost-bridge.mjspassed inE:\Projects\Bifrostafter deleting the unreceipted/ungated recovery paths.DOTNET_ROLL_FORWARD=Major dotnet test tests\Bifrost.Web.Tests\Bifrost.Web.Tests.csproj --filter FullyQualifiedName~BridgeCliTests --no-restorepassed 30 focused Bifrost bridge CLI tests after moving successful fixtures onto a fake bridge receipt/gate endpoint and leaving old flags as rejection coverage.node --check E:\Projects\Spotiverse\src\spotiverse-daemon.cjsand a PowerShell parser check forE:\Projects\Spotiverse\scripts\start-spotiverse.ps1passed after replacing the Spotiverse README's local Odin publication recipe.rg -n "SPOTIVERSE_ODIN_CULTMESH_RUDP|127\.0\.0\.1:17871" E:\Projects\Spotiverse\README.md E:\Projects\Spotiverse\.env.example E:\Projects\Spotiverse\scripts\start-spotiverse.ps1 E:\Projects\Spotiverse\src\spotiverse-daemon.cjs E:\Projects\Spotiverse\docs\verse-service-contract.mdreturned no active raw Odin publication path outside removed-config guards.node --check E:\Projects\Spotiverse\src\spotiverse-daemon.cjspassed after removing the localhost Heimdall peer default, andrg -n -e 'HEIMDALL_BASE_URL=http://127\.0\.0\.1:4100' -e 'http://127\.0\.0\.1:4100/v1/oauth/spotify/callback' -e 'process\.env\.HEIMDALL_BASE_URL \|\| "http://127\.0\.0\.1:4100"' E:\Projects\Spotiverse\README.md E:\Projects\Spotiverse\.env.example E:\Projects\Spotiverse\src\spotiverse-daemon.cjsreturned no hits.node --check E:\Projects\Spotiverse\src\spotiverse-daemon.cjsandnode --check E:\Projects\Spotiverse\scripts\export-provider-advertisement.cjspassed after promoting Spotiverse command requests/receipts to typed CultMesh documents.- Spotiverse CultMesh command smoke started the daemon with a temporary
.ccmp, wrotespotiverse.command/requests/codex-smoke-commandfrom a separate CultMesh node, and observedspotiverse.command/receipts/codex-smoke-commandwithsource: "cultmesh"and the expected unlinked-Spotify rejection. rg -n "future CultMesh|commandFramesDelegateTo|/eve/deck/providers|HTTP/WebSocket frame|provider manifest|http-provider-manifest|compatibility-eve-deck" E:\Projects\Spotiverse\README.md E:\Projects\Spotiverse\docs\verse-service-contract.md E:\Projects\Spotiverse\docs\architecture.md E:\Projects\Spotiverse\scripts\export-provider-advertisement.cjs E:\Projects\Spotiverse\src\spotiverse-daemon.cjsreturned no hits.rg -n "future CultMesh|commandFramesDelegateTo|/eve/deck/providers|HTTP/WebSocket frame|provider manifest|http-provider-manifest|compatibility-eve-deck" E:\Projects\Spotiverse\AGENTS.md E:\Projects\Spotiverse\README.md E:\Projects\Spotiverse\docs\verse-service-contract.md E:\Projects\Spotiverse\docs\architecture.md E:\Projects\Spotiverse\scripts\export-provider-advertisement.cjs E:\Projects\Spotiverse\src\spotiverse-daemon.cjsreturned no hits after the local agent-note cleanup.rg -n "future CultCache|future CultMesh|future \\.cc|reserved witness path|future durable witnesses|future CultMesh publication" E:\Projects\repixelizer\README.md E:\Projects\repixelizer\docs\repixelizer-witness-contract.mdreturned no hits.node node_modules\typescript\bin\tsc -p apps\service\tsconfig.json --noEmitpassed inE:\Projects\StreamPixelsafter addingstreampixels.command_request.v1/streampixels.command_receipt.v1and the service command poller.- StreamPixels CultMesh command smoke wrote
streampixels.command/requests/codex-smokefrom a separate CultMesh node, ranpollStreamPixelsCommandRequests, and observedstreampixels.command/receipts/codex-smokewithsource: "cultmesh"andstatus: "accepted". node node_modules\vitest\vitest.mjs run --config vitest.config.ts apps/service/src/app.test.tspassed 28 tests inE:\Projects\StreamPixels.rg -n "future CultMesh|future CultCache|future CultMesh catalog boot|future CultMesh command" E:\Projects\Aetheria\docs\aetheria-perfect-machine-map.md E:\Projects\Aetheria\Packages\org.gamecult.aetheria.state\package.jsonreturned no hits.Get-Content E:\Projects\Aetheria\Packages\org.gamecult.aetheria.state\package.json | ConvertFrom-Jsonparsed successfully after the package description update.rg -n -e 'compatibility deck' -e 'compatibility transports' -e '10\.77\.0\.2:1787(0|1)' E:\Projects\Odin\README.md E:\Projects\Odin\docs\architecture.md E:\Projects\Mimir-raven-build\README.md E:\Projects\Mimir-obs-muninn-branch\README.md E:\Projects\StreamPixels\docs\configuration.mdreturned no hits.rg -n "triesws://127.0.0.1:8792/streamfirst|falls back to\s*ws://:8792/stream|ws://127\.0\.0\.1:8792/stream|10\.77\.0\.2:17870" E:\Projects\Mimir-raven-build\docs\eve-program-output.md E:\Projects\Mimir-obs-muninn-branch\docs\eve-program-output.md E:\Projects\Heimdall\notes\fresh-workspace-handoff.mdreturned no hits.rg -n "EVE_STREAM_URLS|ws://127\.0\.0\.1:8792/stream|ws://<receiver-host>:8792/stream" E:\Projects\Eve\Sources\EVEViewController.mm E:\Projects\Mimir-raven-build\docs\eve-program-output.md E:\Projects\Mimir-obs-muninn-branch\docs\eve-program-output.mdconfirmed Eve reads explicitEVE_STREAM_URLSand the Mimir docs no longer preserve endpoint candidates.rg -n "192\.168\.1\.84|local inference box|Qwen box|madman's lullaby@192\.168\.1\.84" E:\Projects\gamecult-ops\runbooks\voidbot-local-stack-and-reindex.md E:\Projects\gamecult-ops\inventory.md E:\Projects\VoidBot\README.md E:\Projects\VoidBot\scripts -g '!**/node_modules/**'returned no hits after the offsite-backup route cleanup.- PowerShell parser check passed for
E:\Projects\VoidBot\scripts\install-offsite-backup-task.ps1. dotnet build .\src\Mimir.FensalirDaemon\Mimir.FensalirDaemon.csprojpassed in bothE:\Projects\Mimir-obs-muninn-branchandE:\Projects\Mimir-raven-buildafter demoting Fensalir's local Eve/CultMesh WebSocket routes to debug lowerings.- PowerShell parser checks passed for both active Mimir branch
scripts\start-fensalir-daemon.ps1launchers. rg -n -e 'bridge: ws://127\.0\.0\.1:8799/eve/deck' -e 'speaks a CultNet-shaped WebSocket Eve provider' -e 'speaking Eve/CultMesh' -e 'CultNet/WebSocket transport' -e 'cultnet-websocket' -e 'MessagePack WebSocket provider' -e 'Bridge route:' -e 'Eve provider:'across both active Mimir branch Fensalir docs, daemon sources, and launchers returned no hits.E:\Projects\Heimdall\tests\verse-runtime.test.tsno longer uses the live-looking10.77.0.2:17870Idunn health fixture; the fixture uses documentation address203.0.113.10:17870while preserving endpoint parse and publication behavior.node node_modules\vitest\vitest.mjs run --config vitest.config.ts tests\verse-runtime.test.tspassed inE:\Projects\Heimdall.E:\Projects\VoidBot\docs\persona-intake\sai.persona-intake.yamlno longer describes Sai/Eve projection as future CultMesh renderer work; the persona prose now says CultMesh-fed renderers.dotnet build .\src\Gjallar\Gjallar.csproj --no-restorepassed in standaloneE:\Projects\Gjallarafter aligning README/state with the runtime's configured CultNet/RUDP input.rg -n -e '192\.168\.1\.66:17871' -e 'compatibility Eve deck bridge' -e 'compatibility fallback' -e 'old Odin Eve deck WebSocket path retained' -e '--url' -e '/eve/deck/providers' E:\Projects\Gjallar\README.md E:\Projects\Gjallar\state\gjallar-state.md E:\Projects\Gjallar\src -g '!**/bin/**' -g '!**/obj/**'returned no hits.dotnet build .\src\Aquarium.EveSurface\Aquarium.EveSurface.csproj --no-restorepassed in standaloneE:\Projects\Fensalirafter removing the local Eve deck broker default.rg -n -e 'ws://127\.0\.0\.1:8795/eve/deck' -e 'DefaultBrokerUrl' -e 'Mimir.*eve/deck|Mimir.*VoidBot dashboard' -e '/eve/deck/providers' E:\Projects\Fensalir\src E:\Projects\Fensalir\README.md E:\Projects\Fensalir\docs -g '!**/bin/**' -g '!**/obj/**'returned no hits.cargo test operator_snapshot_distills_status_json_into_typed_cultmesh_documentpassed inE:\Projects\EpiphanyAgent\epiphany-coreafter demoting the Codex app-server note from compatibility transport to external edge adapter.- Ghostlight provider advertisement JSON parsed with
ConvertFrom-Json,node --check tools\publish_odin_provider_advertisement.cjspassed, andC:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\python\python.exe -m py_compile tools\ghostlight_state.pypassed after the provider-discovery wording cut. rg -n 'future CultMesh|future CultMesh provider discovery|CultMesh/Odin provider discovery' E:\Projects\Ghostlight\examples\ghostlight-provider-advertisement.v0.json E:\Projects\Ghostlight\tools E:\Projects\Ghostlight\docs -g '!**/node_modules/**'now finds only the liveCultMesh/Odin provider discoveryphrase.node --check src\loki-daemon.mjs,node --check test\fixture-cdp-smoke.mjs,node --check test\extension-ingest-smoke.mjs, andnode --check test\cultmesh-store.mjspassed inE:\Projects\Lokiafter replacing Loki's text.ccwitness writer with typed CultMesh store publication.node test\fixture-cdp-smoke.mjsandnode test\extension-ingest-smoke.mjspassed inE:\Projects\Loki; both smokes read Loki records back fromstate/loki.service.ccmpthroughCultMesh.createNode(...).rg -n "state-dir|loki\.chrome_snapshot\.cc|provider_advertisement\.cc|eve_surface\.cc|CultNet/CultMesh publication|typed text witnesses|awaits a direct|cultcache-text-witness|LOKI_STATE_DIR|Add CultCache|Add CultNet" E:\Projects\Lokireturned no hits after the Loki CultMesh promotion.- Guarded deletion removed the untracked runnable stale
E:\Projects\Mimir\scratch\raven-daemon-buildtree after verifying it was untracked and contained 699 files underE:\Projects\Mimir\scratch; a follow-upgit -C E:\Projects\Mimir status --short -- scratch\raven-daemon-buildreturned no output. - PowerShell parser checks passed for
restart-nightwing-eve-dashboard.ps1,restart-nightwing-eve-browser-reference.ps1,restart-nightwing-gjallar.ps1,restart-odin.ps1,restart-starfire-muninn.ps1,restart-nightwing-muninn.ps1,restart-vili.ps1, andrestart-muninn.ps1after adding the Idunn-only actuator guard. - Direct no-env probes of
restart-nightwing-eve-dashboard.ps1,restart-nightwing-eve-browser-reference.ps1,restart-nightwing-gjallar.ps1, andrestart-vili.ps1failed at the Idunn actuator guard before any remote or local restart action. - Direct no-env probes of
restart-odin.ps1,restart-starfire-muninn.ps1,restart-nightwing-muninn.ps1, andrestart-muninn.ps1failed at the Idunn actuator guard before any remote or local restart action. - Direct no-env probes of
restart-stonks.cmd,restart-weksa.cmd, andrestart-voidbot.cmdfailed at the Idunn actuator guard before delegating to their restart bodies. - Direct no-env probes of
deploy-yggdrasil-streampixels.cmd,deploy-nightwing-gjallar.cmd,restart-muninn.cmd, andrestart-nightwing-eve-dashboard.cmdfailed at the wrapper-level Idunn actuator guard before delegating to child scripts. - PowerShell parser checks passed for
deploy-nightwing-gjallar.ps1,deploy-yggdrasil-streampixels.ps1,deploy-yggdrasil-heimdall.ps1, anddeploy-yggdrasil-repixelizer.ps1after tightening deploy guards to requireIDUNN_COMMAND_AUTHORITY=idunn-daemonas well asIDUNN_ACTUATOR=1. - Direct no-env probes of those four deploy scripts failed at the Idunn actuator guard before SFTP, SSH, build, or remote deploy work.
- Focused guard scan over active Idunn deploy/restart command bodies found every script requiring both
IDUNN_ACTUATORandIDUNN_COMMAND_AUTHORITY. - PowerShell parser checks passed for the Yggdrasil Idunn deploy wrappers after adding
sudo env GAMECULT_IDUNN_REMOTE_ACTUATOR=1 IDUNN_COMMAND_AUTHORITY=idunn-daemonto the remote deploy call. - Static residue scan over
gamecult-opsYggdrasil deploy bodies found no remaininggit clone, target-hostgit fetch,git checkout,reset --hard,REPO_URL, orBRANCHfallback path in StreamPixels/Repixelizer, and confirmed all three remote bodies requireGAMECULT_IDUNN_REMOTE_ACTUATORplusIDUNN_COMMAND_AUTHORITY. git diff --checkpassed for the touched Odin deploy wrappers andgamecult-opsYggdrasil remote deploy bodies/README; Git reported only expected LF-to-CRLF working-copy warnings.cargo test -p idunn-daemonpassed 17 tests after the Idunn restart actuator guard cut.node --check src\odin\config.cjsandnode scripts\check-syntax.cjspassed after removing Odin's copied remote witness import knob.rg -n -F -e "includeRemoteWitnesses" -e "remote-witnesses" -e "sync-muninn-remote-witnesses" -e "nightwing.muninn.telemetry.cc" -e "raven.muninn.telemetry.cc" -e "raven.sleipnir.cc" E:\Projects\Odin\src E:\Projects\Odin\scripts E:\Projects\Odin\docs E:\Projects\Odin\README.mdno longer finds an Odin copied-witness import path; Raven Sleipnir's local store is daemon-owned and its lifecycle is represented through Idunn deployment/restart actuators.node --check E:\Projects\weksa\scripts\weksa-daemon.mjspassed after moving Weksa health to.weksa/provider-advertisement-store.cc.- Weksa CultMesh health smoke started the daemon in a temporary state root, waited for
provider-advertisement-store.cc, ranweksa-daemon.mjs --health, receivedstate: healthywith the temp store path, and confirmed the deleted top-level text witnesses were not recreated. Select-StringoverE:\Projects\weksa\scripts\weksa-daemon.mjsandE:\Projects\weksa\docs\verse-service-contract.mdfound no remaining references to the deleted top-level Weksa text witnesses.- Bifrost provider-store smoke ran
node tools\provider-advertisement.mjs export --out <temp>\bifrost-provider-store-*.cc, created a non-empty typed store, and reported.bifrost/provider-store.ccin the exported witness list. node --check E:\Projects\Bifrost\tools\provider-advertisement.mjs,node --check E:\Projects\Odin\src\odin\config.cjs, andnode E:\Projects\Odin\scripts\check-syntax.cjspassed after the Bifrost provider-store rename.- Focused Bifrost/Odin scan found no remaining Bifrost
provider-advertisement.ccroute/docs/tool references; remaining hits now point to.bifrost/provider-store.ccproducer/export documentation, not an Odin default store path. - Odin config smoke verified
buildConfig([])has no default interface store imports, whileODIN_INTERFACE_BINDING_STORES=cultmesh-store:file:///E:/Projects/Odin/scratch/odin/odin.ccmpis preserved as an explicit local debug CultMesh store URI. node E:\Projects\Odin\scripts\check-syntax.cjspassed after cutting Odin's repo-local andC:\Meta\Odin\state\...default interface store imports.powershell.exe -NoProfile -ExecutionPolicy Bypass -File E:\Projects\Odin\scripts\health-idunn-swarm-deployment-coverage.ps1now reports 20 cataloged targets and 30 cataloged actuator paths, and fails if any guardeddeploy-*/restart-*script withIDUNN_ACTUATORis missing from the Idunn catalog/alias/shared-actuator set.cargo test -p idunn-daemonpassed 18/18 after syncing the PowerShell Idunn target catalog with the Rust swarm profile.- PowerShell parser checks passed for
scripts\deploy-raven-sleipnir.ps1,scripts\restart-raven-sleipnir.ps1, andscripts\start-starfire-sleipnir.ps1after removing the Raven IP and local Odin discovery-store defaults. cargo test -p sleipnir-daemonpassed 16/16 after the Sleipnir launcher cleanup.- Focused scan of
scripts\deploy-raven-sleipnir.ps1,scripts\restart-raven-sleipnir.ps1, andscripts\start-starfire-sleipnir.ps1found no active192.168.1.84defaults or defaultE:\Projects\Odin\scratch\odin\odin.ccmpdiscovery-store path; remaining hits are inventory history/debug notes and the explicit--discovery-storeparameter gate. - Active
Odin-clean-move-identityworktree checks verified all deploy/restart.ps1bodies and.cmdwrappers requireIDUNN_COMMAND_AUTHORITY, no actuator scripts retain192.168.1.66:17871,10.77.0.2:17870,127.0.0.1:17870,10.77.0.4, or default10.77.*media target literals, and all branch deploy/restart PowerShell files parse. git -C E:\Projects\Odin diff --check -- ...passed for the touched Idunn docs and restart actuator scripts; Git reported only expected LF-to-CRLF working-copy warnings.rg -n '192\.168\.1\.(66|75|84)|madman''s lullaby@192\.168\.1\.84|http://192\.168\.1\.84|srt://192\.168\.1\.66' E:\Projects\gamecult-ops\inventory.local.mdreturned no hits after the local inventory cleanup.rg -n -i -e 'localhost health|127\.0\.0\.1|/api/health|/healthz|provider|cultcache|idunn|rudp|odin|eve/deck|fallback|compat'overgamecult-ops\scripts\check-*classified localhost health checks as deployment/readiness probes; Heimdall, Repixelizer, and StreamPixels checks validate configured CultCache/Idunn fields where those services expose CultMesh boundaries.- Focused service-to-service HTTP scan found product/API boundaries only: Spotiverse and StreamPixels call Heimdall auth endpoints, StreamPixels web calls its service backend, VoidBot reads Odin through
ODIN_CULTMESH_STOREdespitefetchOdinSnapshotnaming, and Aetheria's Ymir localhost HTTP example is explicitly labelled a "Current leak" with a typed CultMesh desired shape. git -C E:\Projects\gamecult-ops diff --check -- scripts\README.mdpassed after the localhost-probe boundary note.- Sidecar/fixture scan classified Odin's
latest-surface.jsonwriter as gated by--write-debug-surface-json/ODIN_WRITE_DEBUG_SURFACE_JSON=1, Eve's browser reference provider list as local fixtures, and VoidBot JSON hits as fixture/smoke/dashboard debug outputs or typed-state CLI projections rather than Verse discovery authority. rg -n -i 'live VoidBot|Mimir.*deck broker|opens live providers|dialing Mimir|mimir-eve-deck|8795/eve/deck' E:\Projects\Eve\README.md E:\Projects\Eve\docs E:\Projects\Eve\web -g '!**/node_modules/**'now finds only the guard sentence saying the browser reference no longer opens live providers by dialing Mimir's deck broker.git -C E:\Projects\Eve diff --check -- docs\renderer-parity.mdpassed after the Eve parity wording cut.rg -n 'WEKSA_DAEMON_BASE_URL|rudp://127\.0\.0\.1:8813|http://127\.0\.0\.1:8813' E:\Projects\VoidBot\.env E:\Projects\VoidBot\.env.example E:\Projects\VoidBot\packages\config\src E:\Projects\VoidBot\apps -g '!**/node_modules/**'returned no hits after the local env cleanup.- VoidBot config smoke loaded local
.envwithout printing secrets and verifiedREPO_FACE_WEKSA_SPEECH_ENABLED=truefails withoutWEKSA_CULTMESH_COMMAND_URI. rg -n '10\.77\.0\.[0-9]+|192\.168\.1\.66:17870|127\.0\.0\.1:17870|compatibility witnesses|<idunn-rudp-health-host>:17870' E:\Projects\Heimdall\state\map.yaml E:\Projects\Heimdall\notes\fresh-workspace-handoff.md E:\Projects\Heimdall\README.md E:\Projects\Heimdall\.env.example E:\Projects\Heimdall\docs E:\Projects\Heimdall\src E:\Projects\Heimdall\tests -g '!**/node_modules/**'returned no hits after the Heimdall memory cleanup.git -C E:\Projects\Heimdall diff --check -- state\map.yaml notes\fresh-workspace-handoff.mdpassed.node node_modules\vitest\vitest.mjs run --config vitest.config.ts tests\app.test.tspassed 22 tests andnode node_modules\typescript\bin\tsc -p tsconfig.json --noEmitpassed after deleting Heimdall's hardcoded Repixelizer/Spotiverse backend-callback exceptions.rg -n "handoff\.callbackUrl ===|http://127\.0\.0\.1:8796/auth/heimdall/callback" E:\Projects\Heimdall\src\app.ts E:\Projects\Heimdall\tests\app.test.ts E:\Projects\Heimdall\.env.example E:\Projects\Heimdall\docs -g '!**/node_modules/**'returned no hits for the deleted active-code callback shortcut.- Follow-up config/default scans over StreamPixels, Heimdall, Mimir, Vili, Stonks, Weksa, Repixelizer, Bifrost, Gjallar, Fensalir, and Ghostlight source/doc/script surfaces found no additional daemon peer discovery shortcuts. Remaining local endpoint hits were classified as product-web boundaries (
StreamPixelsweb/service URLs, Heimdall public issuer/base examples), daemon-local binds or operator/debug routes (Stonks,Mimir,Spotiverse), explicit debug sidecars (Vili_WRITE_DEBUG_SIDECARS/--write-debug-sidecars), local subprocess plumbing (ViliKimodo worker), or deployment/readiness probes (Bifrost,gamecult-ops). - PowerShell parser checks passed for
scripts\restart-muninn.ps1after removing the Raven Muninn capture-command RUDP loopback target default; Raven Sleipnir's old standalone start script has been removed because Idunn owns deployment and restart. rg -n -e '192\.168\.1\.66:17871' -e '192\.168\.1\.84:17889' -e '127\.0\.0\.1:17884' -e 'CaptureCommandRudpTarget = "127\.0\.0\.1:17884"' E:\Projects\Odin\scripts\deploy-raven-sleipnir.ps1 E:\Projects\Odin\scripts\restart-raven-sleipnir.ps1 E:\Projects\Odin\scripts\restart-muninn.ps1 E:\Projects\Odin\crates\sleipnir-daemon\src\main.rs E:\Projects\Odin\crates\muninn-daemon\src\main.rsreturned no hits after the Raven launcher cuts.cargo test -p odin-core discoverypassed after replacing the remaining live-looking192.168.1.66:17888discovery fixture with documentation address space.rg -n -e '192\.168\.1\.66:17888' -e 'cultnet://10\.77\.0\.4:3075' E:\Projects\Odin\crates\odin-core\src\discovery.rs E:\Projects\Eve\docs\provider-advertisement-contract.mdreturned no hits after the fixture/contract cleanup.- PowerShell parser checks passed for
E:\Projects\Mimir\scripts\start-starfire-cultmesh-av-receiver.ps1,E:\Projects\Mimir\scripts\start-raven-cultmesh-av-sender.ps1,E:\Projects\Mimir\scripts\start-raven-muninn-obs-feed.ps1,E:\Projects\Mimir-raven-build\scripts\start-muninn.ps1, andE:\Projects\Mimir-obs-muninn-branch\scripts\start-raven-daemon.ps1after removing the10.77.0.1/10.77.0.2defaults. dotnet build .\src\Mimir.CultMeshMedia\Mimir.CultMeshMedia.csproj --no-restore,dotnet build .\src\Mimir.Muninn\Mimir.Muninn.csproj --no-restore, anddotnet build .\src\Mimir.RavenDaemon\Mimir.RavenDaemon.csproj --no-restorepassed after making Mimir media relay/target endpoints explicit.- Negative smokes confirmed
Mimir.CultMeshMedia sendfails without--endpoint/--host, andMimir.Muninn/Mimir.RavenDaemonfail without--target-host, each with the explicit Odin/CultMesh discovery or operator config error. rg -n -e '10\.77\.0\.1' -e '10\.77\.0\.2'over the touched root Mimir,Mimir-raven-build, andMimir-obs-muninn-branchmedia launcher/runtime files returned no hits after the Mimir WireGuard default cut.- Focused source/script scans across Aetheria, Ymir, Ghostlight, Gjallar, Fensalir, Brokkr, Huginn, Norn, Loki, Sindri, CultLib, EpiphanyAgent, AquaSynth, Odin, Mimir active branches, VoidBot, and Aetheria found no new daemon discovery shortcuts in active GameCult service paths. Remaining local endpoint hits are classified as local daemon bootstrap/smoke fixtures (
Aetheria.Rts.Web), protocol self-tests/examples (CultLib), local product/debug health lowerings (Odin,Mimir, Fensalir bridge scripts), external local ML/storage dependencies (VoidBotQdrant/Ollama and AquaSynth IPA worker), or negative Idunn assertions against old endpoint strings. rg -n -Ffor old WireGuard/LAN URL forms over Brokkr, Huginn, Norn, Loki, and Sindri source/script/doc surfaces returned no hits.rg -n -Ffor10.77.0.1,10.77.0.2,192.168.1.66, and192.168.1.84over active Odin/Mimir source and scripts now returns only Idunn negative assertions, not runtime defaults.- Consolidated broad scan for
future CultMesh, compatibility deck/HTTP/WebSocket/transport/command phrasing, deck provider manifests,ODIN_BASE_URL,WEKSA_DAEMON_BASE_URL, old LAN/WireGuard endpoint families, localhost Odin/Idunn RUDP literals, Weksa localhost RUDP, and local Eve deck URLs across Odin, active Mimir branches,gamecult-ops, VoidBot, Eve, Spotiverse, Stonks, StreamPixels, Heimdall, Vili, Weksa, Bifrost, repixelizer, Ymir, Aetheria, Gjallar, Fensalir, Ghostlight, CultLib/CultCache/CultNet libraries, gamecult-bifrost, Brokkr, Huginn, Norn, Loki, Sindri, AquaSynth, EpiphanyAgent, and outer client repos now returns only classified residue: local renderer/debug deck docs in Odin/Spotiverse, Odin's own local CultMesh/RUDP bind docs, Idunn's own health bind docs/test default, Muninn parser tests for an explicitly supplied diagnostic endpoint, Idunn negative assertions against old endpoints, thegamecult-opsaudit detector string, CultLib protocol-levelcompatibility.transport_versionfields, and an AquaSynth planning note about Pink Trombone compatibility commands. - Follow-up narrow config/deployment scans on 2026-07-03 found no active daemon peer defaults in Odin/gamecult-ops, VoidBot/Spotiverse/Eve, StreamPixels/Heimdall/Stonks/Vili/Weksa/Repixelizer/Bifrost, Aetheria/Ymir/Gjallar/Fensalir/Ghostlight, or Brokkr/Huginn/Norn/Loki/Sindri. Remaining hits were classified as WireGuard connectivity inventory, external local Ollama dependency, or no-hit groups.
- The same Mimir scan found untracked runnable artifact launchers still embedding direct relay/proof endpoints (
10.77.0.1,10.77.0.2). Because they were untracked generated launchers rather than source-owned contracts, the shortcut was deleted outright:E:\Projects\Mimir\artifacts\mimir-cultmesh-media-raven-stage\run-raven-sender.ps1,run-raven-video-silent-sender.ps1,run-raven-video-silent-sender.cmd, andE:\Projects\Mimir\artifacts\muninn-raven-video-to-starfire-obs.cmd. - Re-running the focused Mimir config/deployment scan after deleting those artifact launchers returned no remaining active hits for the old LAN/WireGuard endpoint families outside archived runtime evidence.
- Follow-up Mimir branch audit found stale
Mimir-raven-build/Mimir-obs-muninn-branchdocs and state maps still describing Starfire/Raven WireGuard SRT and SSH defaults as the current Muninn/Raven route. Those maps now say target hosts come from Odin/CultMesh discovery or explicit operator config; the old direct endpoint route is not a default. - Root Mimir's CultMesh media map no longer names Yggdrasil as
10.77.0.1:3075; it describes Yggdrasil relay routing as Odin/CultMesh-discovered or explicit operator configuration, with only the Starfire OBS lowering remaining local. - Mimir Runtime transport catalogs and provider fixture/export wording no longer describe diagnostic SRT/LAN media or Eve state as "legacy remote program feeds" / "provider manifests"; they now say diagnostic lowering and typed provider advertisements.
- The OBS Muninn source documentation no longer preserves a LAN-default stream fallback when catalog discovery is absent. The native source already uses a
discovery-missingplaceholder with an empty media host and sanitizes stale10.77.*/192.168.*saved endpoints; the docs now match that behavior. - Odin Idunn plan and health-script wording for the Nightwing Eve dashboard now refers to typed provider advertisements rather than provider manifests.
- Focused rerun over the previously suspicious Odin/Mimir/VoidBot/Weksa files now leaves only classified residue: Odin/Idunn local RUDP binds and tests, Idunn negative assertions against old private endpoints, and VoidBot/Weksa external Ollama host notes.
- Odin provider catalogs no longer promote
/eve/deck/{provider}WebSocket lowerings or arbitrary first advertisement endpoints totransportEndpoint; the Odin-hosted deck path has now been deleted outright.src\odin\interfaces.cjsandsrc\odin\provider-ingress.cjsignore non-CultMesh/CultNetprovider.endpointvalues for transport authority instead of falling back to HTTP/WS endpoints. - Hermodr's browser bridge remains a browser-runtime lowering, not a discovery or command authority.
src\hermodr-daemon.cjs,scripts\start-hermodr.ps1,scripts\restart-hermodr.ps1, andscripts\health-hermodr.ps1now run/probe a lowering over Odin's CultMesh store while rejecting old Odin HTTP/WebSocket inputs, raw sleipnir/Aetheria RUDP command endpoints, renderer-export state paths, and local mapping-store fallbacks. Browser ergonomics survive; provider discovery and command route ownership stay with Odin/CultMesh typed documents. node --checkpassed forsrc\odin-coordinator.cjs,src\odin\config.cjs,src\hermodr-daemon.cjs, andscripts\write-gjallar-persona-cc.mjs;node scripts\check-syntax.cjschecked the remaining 15 Odin CommonJS files after deletingsrc\odin\websocket.cjs.- Odin operator layout intent no longer writes durable truth to
scratch\odin\interface-layout.json.odin.interface_layout.v1is now a typed document in Odin's CultMesh store under record keyodin.providers; the old JSON file is migration input only. Renderer WebSocketodin-layout-intentframes call the async layout store and receiveodin-command-rejectedframes if the CultMesh write fails instead of silently becoming a sidecar owner. - Odin layout smoke created a temp
odin.ccmp, seeded an oldinterface-layout.json, verified the layout migrated intoodin.interface_layout.v1, applied a renderertoggleintent, and observed the updated tile in the CultMesh record.node scripts\check-syntax.cjspassed for all 16 CommonJS files after the layout promotion. - Spotiverse no longer accepts command authority through HTTP
/commands/add-to-queueor Eve WebSocketspotiverse-commandframes. The HTTP route now returns410 command_route_removed, the WebSocket frame returnscommand_frame_removed, the old HTTP handler functions were deleted, and the only remainingexecuteCommandcaller is the CultMeshspotiverse.command_request.v1poller. Spotiverse's provider advertisement now uses acultmesh:provider endpoint and no command debug lowerings. node --checkpassed forE:\Projects\Spotiverse\src\spotiverse-daemon.cjsandE:\Projects\Spotiverse\scripts\export-provider-advertisement.cjs; focused scans over Spotiverse source/docs/export find no remaining debug HTTP/WebSocket command authority wording outside the removed HTTP tombstone route.- Vili's Eve surface no longer advertises
href: /motion/generatefor motion generation, and its command boundary no longer names HTTP POST as intake.scripts\vili-daemon.mjsnow pollsgamecult.vili.motion_request.v1from the Vili CultMesh store, processes requests through the existing Kimodo job path, and writesgamecult.vili.motion_job.v1receipts.POST /motion/generateremains only as a410 command_route_removedtombstone. node --check E:\Projects\Vili\scripts\vili-daemon.mjspassed; focused scans found nohref/path/source/lowersToactive HTTP motion-command residues in Vili source/docs. Runtime smoke started Vili in a temp state dir, verifiedPOST /motion/generatereturns HTTP 410, wrote an invalidgamecult.vili.motion_request.v1document intovili.service.cc, and observed exactly one deterministicgamecult.vili.motion_job.v1receipt (jobId: vili-codex-invalid,state: failed) plusmotionCommands.pendingRequests: 0/failedRequests: 1in operator state.rg -n "seedDeckUrls|discoverDeck|refreshLanDeck|localIpv4|fetchEveProvider|sftp://|compatibility-eve-deck|websocket-bridge|providerDeckUrl|activeProviderInterface|stonksStateUrl|http://127\.0\.0\.1:8802|ws://192\.168|192\.168\.1\.75|192\.168\.1\.66|10\.77\.0\.4:8824|10\.77\.0\.2:17870|127\.0\.0\.1:17870" E:\Projects\Odin-clean-move-identity\src E:\Projects\Odin-clean-move-identity\scripts -g "!**/target/**"returned only the intentional raw-network-store rejection guard insrc\odin\interfaces.cjs.node --check src\odin\config.cjs,src\odin\interfaces.cjs,src\odin\marquee.cjs,src\odin\state.cjs,src\odin\surface.cjs,src\odin\probes.cjs,src\odin\websocket.cjs,src\odin-coordinator.cjs, andnode scripts\check-syntax.cjspassed inE:\Projects\Odin-clean-move-identity.- PowerShell parser checks passed in
E:\Projects\Odin-clean-move-identityforscripts\start-odin.ps1,scripts\health-muninn.ps1,scripts\health-nightwing-muninn.ps1,scripts\health-starfire-muninn.ps1, andscripts\start-starfire-wireguard-elevated.ps1. git -C E:\Projects\Odin-clean-move-identity diff --check -- README.md docs/gjallar.md scripts srcpassed; Git reported only expected LF-to-CRLF working-copy warnings.rg -n -FoverE:\Projects\Gjallar-rollbackfor old LAN/WireGuard endpoint literals,/eve/deck/providers,compatibility-eve-deck,websocket-bridge,ODIN_BASE_URL, seeded deck strings, and SFTP/WebSocket shortcut forms returned no hits outside ignored build artifacts after replacing the rollback body with a fail-closed archive stub.dotnet build .\src\Gjallar\Gjallar.csproj --no-restorepassed inE:\Projects\Gjallar-rollback, anddotnet run --project .\src\Gjallar\Gjallar.csproj --no-buildproduced the archived-transport tombstone and exited with the expected code 2.rg -n -FoverE:\Projects\Mimir-obs-muninnfor old Raven/Starfire LAN and WireGuard endpoint literals,/eve/deck/providers,compatibility-eve-deck,websocket-bridge,ODIN_BASE_URL, seeded deck strings, SFTP, WebSocket, and SRT private endpoint forms returned no hits after the neighbor sender docs/config cleanup.git -C E:\Projects\Mimir-obs-muninn diff --check -- config docs stateandgit -C E:\Projects\Gjallar-rollback diff --check -- README.md src statepassed; Git reported only expected LF-to-CRLF working-copy warnings.- Focused Odin scan for
websocket.cjs,createDashboardServer,broadcastState,openWebSocket,/eve/deck,ws://127.0.0.1:8797,http://127.0.0.1:8797,Odin WebSocket,Eve deck,rudp://127.0.0.1:17871, OdinPort = 8797, and--port ... 8797returned no hits outside this inventory after deleting the Odin HTTP/WebSocket server and removing the Hermodr localhost Odin default. - PowerShell parser checks passed for
scripts\start-odin.ps1,scripts\restart-odin.ps1,scripts\health-odin.ps1, andscripts\start-hermodr.ps1after the Odin side-door cut. git -C E:\Projects\Odin diff --check -- README.md docs scripts srcpassed after the Odin HTTP/WebSocket side-door deletion; Git reported only expected LF-to-CRLF working-copy warnings.- Stonks HTTP/WebSocket side-door cut verification passed:
node --check E:\Projects\Stonks\src\stonks-daemon.cjs, PowerShell parser check forE:\Projects\Stonks\scripts\start-stonks.ps1, focused Stonks scan for the old HTTP/WebSocket listener/routes, andgit -C E:\Projects\Stonks diff --check -- src\stonks-daemon.cjs scripts\start-stonks.ps1 README.md docs\architecture.md AGENTS.md. The focused scan found no active listener/route residue after removing one negative AGENTS breadcrumb. - Active Mimir branch Raven daemon verification passed:
dotnet build .\src\Mimir.RavenDaemon\Mimir.RavenDaemon.csproj --no-restore, PowerShell parser check forscripts\start-raven-daemon.ps1, and focused scan oversrc\Mimir.RavenDaemon\Program.cs,scripts\start-raven-daemon.ps1,docs\raven-capture-mux-daemon.md, andstate\map.yamlfor the removed Eve port, deck route, health route, listener class, and WebSocket helper residue. - Active Mimir branch Fensalir daemon verification passed:
dotnet build .\src\Mimir.FensalirDaemon\Mimir.FensalirDaemon.csproj --no-restore, PowerShell parser check forscripts\start-fensalir-daemon.ps1, and focused scan oversrc\Mimir.FensalirDaemon\Program.cs,scripts\start-fensalir-daemon.ps1,docs\fensalir-reservoir-daemon.md, andstate\map.yamlfor the removed port knob, deck route, health route, listener class, WebSocket helpers, dashboard projection types, and debug-lowering residue. - Active Mimir branch EveDashboard verification passed:
dotnet build .\src\Mimir.EveDashboard\Mimir.EveDashboard.csproj --no-restore, focused scan oversrc\Mimir.EveDashboard\Program.csanddocs\eve-dashboard.mdfor the removed listener, HTTP/deck routes, frame-command path, compatibility endpoint, launch-time external provider registration, and WebSocket broker residue, plusgit diff --checkon the touched EveDashboard files. - Active Mimir branch online supervisor follow-through verification passed: PowerShell parser checks for
scripts\start-online-verse-daemons.ps1andscripts\start-fensalir-daemon.ps1,dotnet buildfor Fensalir and EveDashboard, and a focused scan over the touched supervisor/docs/code for stale Fensalir port/bridge/health and EveDashboard broker route residue. Remaining VerseRelay health probing is a separate sensor relay readiness path, not the deleted Fensalir/EveDashboard surface. - Active Mimir branch EveSensorReceiver verification passed:
dotnet build .\src\Mimir.EveSensorReceiver\Mimir.EveSensorReceiver.csproj, PowerShell parser check forscripts\start-online-verse-daemons.ps1, and exact literal scans over the receiver and online supervisor for the deleted HTTP health wait, baked camera path/port defaults, and URL-shaped listener log. - Active Mimir branch Well publication side-door cut:
Mimir.Wellno longer importsSystem.Net.WebSockets, constructs aClientWebSocket, accepts--publish-url, readsMIMIR_WELL_PUBLISH_URL, or publishes Well snapshots/pages/stream frames through a Periwinkle WebSocket. It now opens a CultMesh node at--cultmesh-cache/MIMIR_WELL_CULTMESH_CACHEand writes typedmimir.well_published_document.v1envelopes into CultCache for Odin discovery. scripts\start-online-verse-daemons.ps1now passes Well a run-localmimir-well.ccmpcache instead of a publish URL, and its supervisor manifest no longer advertises debug WebSocket lowerings or URL fields as service routes. The stale generatedartifacts\runtime\online-verse-daemons-20260703-083019\supervisor.jsonresidue that still contained the old lowering routes was untracked and deleted outright.- Active Mimir branch Well verification passed:
dotnet build .\src\Mimir.Well\Mimir.Well.csproj --no-restore, PowerShell parser check forscripts\start-online-verse-daemons.ps1,git diff --checkon the touched Well/supervisor/map files, and focused scans found no remaining WellClientWebSocket,--publish-url,MIMIR_WELL_PUBLISH_URL, debug WebSocket lowering, or WebSocket/JSON publication-pressure residue outside this inventory. - Active Mimir branch sensor relay/recorder subscription side-door cut:
Mimir.EveSensorReceiverno longer exposes/eve/periwinkle/subscribe, maintains WebSocket subscribers, or broadcasts normalized records over a daemon-owned subscriber socket. It publishes accepted observations as typedmimir.sensor_relay_observation.v1CultMesh/CultCache records instead. Mimir.VerseRecorderno longer importsSystem.Net.WebSockets, constructs aClientWebSocket, accepts--url, or readsMIMIR_VERSE_RECORDER_URL. It now requires--cultmesh-cache/MIMIR_SENSOR_RELAY_CULTMESH_CACHE, follows the relay cache, and writes the samesession.json/observations.jsonl/ paged body index outputs from typed relay records.scripts\start-online-verse-daemons.ps1now creates a run-localeve-sensor-relay.ccmp, passes it to both receiver and recorder, and no longer passes the removed subscribe path or recorder URL. Verification passed:dotnet build .\src\Mimir.EveSensorReceiver\Mimir.EveSensorReceiver.csproj --no-restore,dotnet build .\src\Mimir.VerseRecorder\Mimir.VerseRecorder.csproj --no-restore, PowerShell parser check for the supervisor,git diff --checkon the touched relay/recorder/map files, and focused scans found no remaining receiver subscriber route, recorder WebSocket client,MIMIR_VERSE_RECORDER_URL, or debug WebSocket lowering residue outside this inventory.- Active Mimir branch Nightwing witness publisher side-door cut:
tools\nightwing_typed_witness_publisher.pyno longer implements a hand-rolled WebSocket client, accepts--url, readsMIMIR_WITNESS_URL, or sends observations directly toMimir.EveSensorReceiver. It now emits length-prefixed MessagePackmimir.eve_sensor_observation.v1payloads to stdout for local diagnostics/future CultMesh sender plumbing, so it cannot act as a daemon transport shortcut. scripts\start-online-verse-daemons.ps1no longer stages or starts the Nightwing remote witness publisher, and the oldstart-stream-proof.ps1/start-mvp-leap-eyes-kiyo.ps1launchers are fail-closed archive stubs because they depended on the removed Nightwing witness side door. Nightwing compact observations must return through Odin/CultMesh-discovered witness publication before those profiles are live again.- Nightwing witness verification passed: bundled Python
py_compilefortools\nightwing_typed_witness_publisher.py, PowerShell parser checks for the touched launchers,git diff --checkon the touched Nightwing/script/doc/map files, and focused scans found no remainingMIMIR_WITNESS_URL, witness--url,nightwing_typed_witness_publisher.py --url, or oldws://<receiver-host>:8796/eve/periwinkleroute residue outside this inventory. - Active Mimir branch Eve camera/mic receiver side-door cut: active Well and Raven/Eve runtime configs no longer launch
Mimir.EveSensorReceiverforeve-camera/eve-mic, and the8793/eve/cameraplus8794/eve/micreceiver paths were removed from source-owned config/docs.Mimir.EveSensorReceiveritself is now a fail-closed archive stub; stale invocations cannot open the old sensor ingress listener. scripts\start-online-verse-daemons.ps1no longer starts the receiver process or carries the dead relay port/readiness wait. Fensalir's process surface marks the old relay PID shape as archived instead of expected live daemon state. The Raven/Eve ingest doc is now an archive note, and the network-display/implementation/Eve-dashboard docs say Eve observations must return through Odin/CultMesh witness/media publication before rejoining the live profile.- Eve camera/mic receiver verification passed: JSON validation for
config\mimir-runtime.well.local.jsonandconfig\mimir-runtime.raven-eve.example.json,dotnet build .\src\Mimir.EveSensorReceiver\Mimir.EveSensorReceiver.csproj --no-restore,dotnet build .\src\Mimir.FensalirDaemon\Mimir.FensalirDaemon.csproj --no-restore, PowerShell parser check forscripts\start-online-verse-daemons.ps1,git diff --checkon the touched config/receiver/docs/map files, and focused scans found no remaining/eve/camera,/eve/mic,8793,8794, orMimir.EveSensorReceiver --portroute residue outside archive/tombstone references and this inventory. - Active Mimir branch Eve dialogue/program-output/public-edge side-door cut:
Mimir.EveDialogue,Mimir.EveRelay, andMimir.Broadcastare now fail-closed archive stubs. They no longer contain hand-rolled WebSocket stream servers, D3D12-to-H.264/streamrelay code, reverse-tunnel launcher plumbing, or direct RTMP/HLS edge publishing logic. scripts\start-eve-dashboard-stream.ps1is now an archive stub, the Mimir runtime output panel no longer exposesLive/Stopstreaming controls or/program/output/streaming/*command/read bindings, andMimirProgramStreamerno longer knows a default RTMP target or launchesMimir.Broadcast. The Well stream-pressure status string was corrected from the old WebSocket/JSON label tocultmesh-cache-publisher.- Eve dialogue/relay/broadcast verification passed:
dotnet build .\src\Mimir.EveDialogue\Mimir.EveDialogue.csproj,dotnet build .\src\Mimir.EveRelay\Mimir.EveRelay.csproj --no-restore,dotnet build .\src\Mimir.Broadcast\Mimir.Broadcast.csproj --no-restore,dotnet build .\src\Mimir.Runtime\Mimir.Runtime.csproj --no-restore,dotnet build .\src\Mimir.Well\Mimir.Well.csproj --no-restore, PowerShell parser check forscripts\start-eve-dashboard-stream.ps1,git diff --checkon the touched relay/broadcast/runtime/docs/map files, and focused scans found no remaining activeMIMIR_STREAM_TARGET, default localhost RTMP, program-stream command binding, WebSocket handshake/frame implementation, Eve relay listener, or Eve dialogue listener residue outside archive/tombstone references and this inventory. - Active Mimir branch Raven/localcast media side-door cut:
Mimir.RavenDaemonis now a fail-closed archive stub instead of supervising FFmpeg display/audio capture into direct SRT/TCP targets. The Raven sender/demux/audio/screen scripts, stream-proof recorder, localcast sender/stop/discover/desktop launchers, and localcast FFmpeg installer now fail closed rather than constructing SRT URLs or spawning FFmpeg transport processes. - Active Mimir branch runtime configs no longer declare Raven SRT receivers:
mimir-runtime.well.local.json,mimir-runtime.stream-proof.local.json,mimir-runtime.raven-eve.example.json,mimir-runtime.move-stream.local.json, andmimir-runtime.example.jsonhad direct Raven/neighbor network source entries removed.audio-field.example.jsonnow models the neighbor dialogue anchor asCultMeshMediawith acultmesh://odin/...URI instead oftransport.kind = SRT, andlocalcast.example.jsonis an archive marker. - Raven/localcast docs and state maps no longer describe direct SRT as the live bridge path. The Raven capture mux, neighbor sender, OBS receiver, move-controller stream, Spout, implementation plan, viable-stream, native rebuild, perfect-machine, and code algorithm map docs now say media must return through Odin/CultMesh-discovered lanes before those profiles are live again.
- Raven/localcast verification passed: JSON validation for the seven touched config files, PowerShell parser checks for the twelve archived transport scripts,
dotnet build .\src\Mimir.RavenDaemon\Mimir.RavenDaemon.csproj --no-restore,git diff --checkon the touched Raven/localcast config/script/doc/map files, and focused scans found no activesrt://,tcp-listener, Raven media target env, Raven port, localcast sender, or Raven sender launcher residue outside archive/tombstone references and this inventory. - Active Mimir branch OBS/Muninn RUDP side-door cut: the native OBS plugin no longer registers
Muninn Stream,Muninn Video, orMuninn Audiosources. The plugin now registers onlyMimir Program TextureandMimir Audio Stem, so OBS can lower Fensalir/Mimir shared-memory outputs but cannot discover Muninn, publish activation commands, listen on Muninn catalog/media UDP ports, or reassemble Muninn RUDP media directly. - The old OBS Muninn RUDP body was removed from the native plugin build:
mimir_obs_muninn_source.cpp, the RUDP ack/fragment/url headers, andmuninn_rudp_url_tests.cppare deleted;CMakeLists.txtno longer builds the Muninn media decoder probe or URL test target and no longer links the plugin againstws2_32.tools\muninn_media_decoder_probe.cppandscripts\restart-obs-muninn-source.ps1are fail-closed archive stubs. - OBS/Muninn verification passed:
cmake -S native\obs_stem_source -B native\obs_stem_source\build,cmake --build native\obs_stem_source\build --config Release --target mimir_obs_stem_source, PowerShell parser check forscripts\restart-obs-muninn-source.ps1,git diff --checkon the touched OBS plugin/script/doc/probe files, and focused scans found no activerudp://, Muninn RUDP parser, Muninn source registration, command target, media target, catalog port, media port, or OBS Muninn source residue outside archive/tombstone references and this inventory. - Active Mimir branch Well-to-OBS log-tail side-door cut:
Mimir.WellObsDaemonis now a fail-closed archive stub instead of tailingmimir.well_capture_page.v1JSON logs and republishing audio stems toLocal\MimirObsStemBus.scripts\start-well-obs-daemon.ps1is also a fail-closed archive stub. OBS stems must come from the Mimir/Fensalir media owner and shared-memory lowering, not from a Well log tail daemon. - Well-to-OBS verification passed: PowerShell parser check for
scripts\start-well-obs-daemon.ps1,dotnet build .\src\Mimir.WellObsDaemon\Mimir.WellObsDaemon.csprojafter restore,git diff --checkon the touched daemon/script/map files, and focused scans found no active Well-to-OBS launcher or daemon log-tail route outside archive/tombstone references and this inventory.dotnet build --no-restoreinitially failed only becausesrc\Mimir.WellObsDaemon\obj\project.assets.jsonwas absent; the restore-backed build succeeded. - Active Mimir branch Fensalir Well intake side-door cut:
Mimir.FensalirDaemonno longer discovers or tails Well JSONL/log artifacts.--well-log,FindLatestWellLog,WellLogTailState, and the file-tail helper were removed from the live path. The daemon now requires--well-cultmesh-cache/MIMIR_WELL_CULTMESH_CACHEand followsmimir.well_published_document.v1envelopes from the Well CultMesh cache. The sharedMimirWellPublishedDocumentcontract moved intoMimir.Runtimeso Well and Fensalir read/write the same typed document. - The Fensalir launchers now pass the run-local Well CultMesh cache instead of recorder
observations.jsonl:scripts\start-online-verse-daemons.ps1uses--well-cultmesh-cache $WellCultMeshCache, andscripts\start-fensalir-daemon.ps1requires-WellCultMeshCache/MIMIR_WELL_CULTMESH_CACHEinstead of scanning artifacts for Well logs. Docs and state maps now describe recorder JSONL as an offline ledger, not daemon transport authority. - Fensalir Well-intake verification passed:
dotnet build .\src\Mimir.FensalirDaemon\Mimir.FensalirDaemon.csproj --no-restore,dotnet build .\src\Mimir.Well\Mimir.Well.csproj --no-restore, PowerShell parser checks forscripts\start-fensalir-daemon.ps1andscripts\start-online-verse-daemons.ps1,git diff --checkon the touched Fensalir/Well/runtime/script/doc/map files, and a negative smoke confirmeddotnet run --no-build --project .\src\Mimir.FensalirDaemon\Mimir.FensalirDaemon.csproj -- --well-log removed.jsonl ...rejects the archived log-tail option. Focused scans found no remaining active Fensalir JSONL/log-tail intake outside the deliberate rejection guard and this inventory. - Active Mimir branch runtime transport catalog side-door cut:
MimirNetworkTransportConfigurations.BuiltInnow contains only CultMesh typed state plus CultMesh reliable-UDP media/body lanes. The former raw LAN UDP debug window, SRT diagnostic bridge, and WebRTC experimental media entries were deleted instead of left as tempting observe-only profiles. - Mimir authority and OBS publication catalogs no longer grant any model space to diagnostic SRT bridges: the
srt-program-bridgeobserve-only authority rule,DiagnosticSrtBridgepublication profile, SRT diagnostic enum values, and related module-library wording were removed. OBS publication profiles now describe only Spout/shared-texture/Eve-native video and Faust/ASIO audio shapes. - Eve program output and dashboard config no longer carry direct network defaults as diagnostic invitations:
MimirEveProgramOutputConfigurationdroppedTargetHost/TargetPortand the Moonlight/Sunshine diagnostic profile, the unusedBrowserDiagnosticswitness kind was removed, and the StreamPixels EveDashboard provider no longer advertises HTTPS, SSH-forwarded localhost, HLS, or RTMP ingest nodes. - Runtime transport-catalog verification passed:
dotnet build .\src\Mimir.Runtime\Mimir.Runtime.csproj --no-restore,dotnet build .\src\Mimir.EveDashboard\Mimir.EveDashboard.csproj --no-restore,dotnet build .\src\Mimir.BufferSmoke\Mimir.BufferSmoke.csprojafter restore,dotnet run --project .\src\Mimir.BufferSmoke\Mimir.BufferSmoke.csproj --no-build -- --eve-program-output-contract-smoke,dotnet run --project .\src\Mimir.BufferSmoke\Mimir.BufferSmoke.csproj --no-build -- --perfect-machine-profile-smoke,git diff --checkon touched runtime/dashboard/smoke/doc files, and focused scans found no remaining active SRT bridge, WebRTC experiment, LAN UDP debug window, browser diagnostic witness, Moonlight probe, Eve output host/port, or StreamPixels HTTPS/localhost/RTMP dashboard residue outside this inventory. - Active Mimir branch subprocess stream-source side-door cut:
MimirRuntimeConfigurationno longer constructsframe-events,json-lines,ffmpeg-rawvideo,rawvideo-process,ffmpeg-pcmaudio,pcmaudio-process, or genericprocessstream adapters from config. The child-process stdout/JSONL/FFmpeg stream-source classes were deleted, andMimir.BufferSmoke --ffmpeg-rawvideo-source-smokewas removed so tests cannot keep the adapter alive as a backdoor. - Mimir runtime config examples no longer advertise process-backed probes:
mimir-runtime.example.jsoncontains only native/local sources,mimir-runtime.probes.example.jsonis ASIO-focused with no JSONL probe subprocesses,mimir-runtime.sync-smoke.example.jsonis an empty-stream sync settings shell, andmimir-runtime.asio.example.jsonno longer carries the disabled Raven display frame-event receiver. Native probe tools may remain development tools, but they do not feed daemon runtime buffers unless rebuilt as CultMesh publishers. - Subprocess stream-source verification passed:
dotnet build .\src\Mimir.Runtime\Mimir.Runtime.csproj --no-restore,dotnet build .\src\Mimir.BufferSmoke\Mimir.BufferSmoke.csproj --no-restore, JSON parsing for allconfig\mimir-runtime*.json,git diff --checkon touched runtime/config/doc files, and focused scans found no remaining active process/FFmpeg/frame-event stream adapter construction, config adapter entries,argumentsconfig knobs, or FFmpeg raw-video smoke route outside this inventory. - Active Mimir branch program-recording actuator cut: the runtime
Outputpanel no longer exposesprogram.record.start,program.record.stop,/commands/program/record/*, or the recording-folder read binding.MimirProgramRecorderis now a fail-closed archived status object and cannot spawn PowerShell,scripts\record-stream-proof-output.ps1, FFmpeg, or the old Raven sender switch. - Program-recording verification passed:
dotnet build .\src\Mimir.Runtime\Mimir.Runtime.csproj --no-restore,dotnet build .\src\Mimir.BufferSmoke\Mimir.BufferSmoke.csproj --no-restore, PowerShell parser check for the already archivedscripts\record-stream-proof-output.ps1,git diff --checkon touched runtime/doc files, and focused scans found no remaining activeprogram.recordcommand route,MIMIR_RECORD_*knob,StartRavenSenderswitch, recorderProcessStartInfo, or recording child-process launch path outside archive/status text and this inventory. - Active Mimir branch Nightwing Move SSH/hidraw side-door cut:
scripts\start-online-verse-daemons.ps1no longer launchestools\online_move_music_sync.py, no longer exposes-SkipMoves,-MoveFps,-MoveFftSize, or direct-Move ... /dev/hidraw...parameters, and no longer records amoveSyncPidin the supervisor manifest. Online Move actuation must return as typed command schedules through Odin/CultMesh, with Nightwing owning local HID writes and receipts. - The live Starfire-to-Nightwing Move bridge tools are fail-closed archive stubs:
tools\nightwing_psmove_music_pulse.py,tools\online_move_music_sync.py, andtools\music_keyed_move_chirp_sync.pyno longer import ASIO/FFmpeg readers, open SSH sessions, write remote Python receivers, or stream PS Move report0x06frames to/dev/hidraw*.tools\sync_sweep.pyremains offline receipt tooling only, with its comment corrected so it does not call a historical HID path the live authority. - Nightwing Move side-door verification passed: PowerShell parser check for
scripts\start-online-verse-daemons.ps1, bundled Pythonpy_compilefor the three archived tools plustools\sync_sweep.py,dotnet build .\src\Mimir.Runtime\Mimir.Runtime.csproj --no-restore,dotnet build .\src\Mimir.BufferSmoke\Mimir.BufferSmoke.csproj --no-restore,git diff --checkon touched supervisor/tool/doc/state/runtime files, and focused scans found no remaining active online Move worker launch, Move supervisor parameter,moveSyncPid, or livenightwing_psmove_music_pulse/music_keyed_move_chirp_sync/online_move_music_syncreferences outside archive stubs, historical evidence, and this inventory. - Active Mimir branch EVE program-output SSH probe cleanup:
scripts\start-eve-program-output.ps1no longer accepts-Target eveand no longer performs an SSH readiness probe before starting the local shared-D3D12-texture lowering. The launcher now only sets the local Fensalir shared-texture environment and starts the local app process. The EveDashboard StreamPixels provider tile status was also changed fromssh readytocultmesh. - EVE program-output SSH cleanup verification passed: PowerShell parser check for
scripts\start-eve-program-output.ps1,dotnet build .\src\Mimir.EveDashboard\Mimir.EveDashboard.csproj --no-restore,git diff --checkon touched launcher/dashboard files, and focused scans found no remainingChecking EVE SSH,mimir-eve-program-output-check, orssh readyresidue outside this inventory. - Odin Muninn media side-door cut: Muninn no longer accepts direct media hosts as authority. Capture commands still carry the legacy
target_hostwire field, but it must be acultmesh://media target URI. The activation child pulls Odin provider advertisements over CultMesh/RUDP and resolves a provider-ownedmuninn.media.rudp.v1endpoint before opening the CultNet RUDP media lane.request-streamnow publishesmuninn.capture_stream_command.v1through Odin/CultMesh with--odin-cultmesh-uri; it no longer writes directly to the activation store or sends raw command documents to--capture-command-rudp-target.servepulls typed capture commands from Odin before processing its local activation persistence and no longer opens a--capture-command-rudp-bindlistener. - The Muninn daemon vocabulary no longer contains the legacy media transport, OBS target flags, standalone OBS catalog RUDP publisher, direct RUDP URL formatter, or old process-spawner mux path.
scripts\activate-muninn-raven-av-srt.ps1was removed;scripts\activate-muninn-raven-media.ps1is a fail-closed archive stub.scripts\restart-muninn.ps1now redeploys only the serve task, requires-MediaTargetUri/MUNINN_MEDIA_TARGET_URIas acultmesh://URI, and unregisters obsolete Raven activation/video-proof scheduled tasks instead of repairing them.scripts\health-muninn.ps1fails if those obsolete tasks reappear. - Odin Muninn media verification passed:
cargo test -p muninn-daemon, PowerShell parser checks forscripts\restart-muninn.ps1,scripts\health-muninn.ps1, andscripts\activate-muninn-raven-media.ps1,git diff --checkon touched Muninn/Idunn docs and scripts, and a focused scan found no remaining live SRT, OBS target, OBS catalog RUDP, direct media target host env, or old activation-script residue outside the deliberate obsolete-task removal guards and this inventory. - Muninn capture command-route verification passed:
cargo test -p muninn-daemonpassed withrequest_stream_rejects_raw_capture_command_rudp_target,serve_rejects_removed_capture_command_rudp_bind, andrequest_stream_requires_odin_cultmesh_command_route; stalerequest-stream --capture-command-rudp-targetandserve --capture-command-rudp-bindinvocations fail closed; PowerShell parser checks passed forscripts\restart-muninn.ps1andscripts\health-muninn.ps1;git diff --check -- crates/muninn-daemon/src/main.rs scripts/restart-muninn.ps1 scripts/health-muninn.ps1 docs/transport-shortcut-inventory.mdpassed; focused scans found no survivingpublish_capture_command_rudp, capture-command RUDP bind listener, capture-command frame decoder, launcherCaptureCommandRudp*parameter, active--capture-command-rudp-target, or active--capture-command-rudp-bindpath outside intentional removed-flag parser guards/tests and this inventory. - Odin Sleipnir launcher side-door cut:
scripts\start-starfire-sleipnir.ps1is now a fail-closed archive stub. Starfire Sleipnir had no Idunn catalog target and the script directly killed/spawnedsleipnir.exewhile passing Odin/RUDP knobs, so it was an unmanaged lifecycle path rather than a coherent daemon deployment lane. - Raven Sleipnir remains an Idunn-managed target through
scripts\idunn-deployment-targets.ps1,deploy-raven-sleipnir.ps1, andrestart-raven-sleipnir.ps1; those actuator scripts are guarded byIDUNN_ACTUATOR=1/IDUNN_COMMAND_AUTHORITY=idunn-daemon. Remaining Sleipnir raw socket options are HID input bootstrap substrate only; command selection and command delivery are now the Odin/CultMesh route. - Sleipnir command-route side-door cut:
scripts\restart-raven-sleipnir.ps1no longer requiresSLEIPNIR_COMMAND_RUDP_ADVERTISEor passes--command-rudp-advertise.crates\sleipnir-daemonrejects the old flag, publishes the input-mapping command route ascultmesh://odin/command/sleipnir/input_mappingwithresolver: odin-cultmesh, pullssleipnir.input_mapping.v1from Odin discovery, and chooses the newest local-or-Odin mapping record. Hermodr refuses raw Sleipnir command endpoints and publishes mapping commands to Odin's configured CultMesh/RUDP substrate instead of dialing the advertised command address. - Sleipnir command-ingress side-door cut:
crates\sleipnir-daemonno longer starts a--command-rudp-bindlistener, decodes raw command frames, or applies command mappings from an in-process RUDP receiver.scripts\restart-raven-sleipnir.ps1no longer passes--command-rudp-bind, and stale invocations fail closed with a removed-flag error. Sleipnir command state arrives through Odin discovery assleipnir.input_mapping.v1. - Odin discovery endpoint sanitation cut:
src\odin\interfaces.cjsandsrc\odin\provider-ingress.cjsnow sanitize providerendpointsandroutesbefore exposing them through Odin surfaces. CultCache/CultMesh witness locations survive, and CultNet command routes survive only when the advertised address is acultmesh:URI; rawrudp://, HTTP, WebSocket, and host:port endpoints no longer become provider interface truth. Live RUDP announcement source sockets are provenance only; fallback provider endpoints now usecultmesh:live:<providerId>. - Sleipnir launcher verification passed: PowerShell parser check for
scripts\start-starfire-sleipnir.ps1andgit diff --checkon the touched Sleipnir launcher/inventory files. Focused follow-up scan still shows separate Odin-repo HTTP/WebSocket/debug-lowering text and health-wrapper residue that should be treated as the next cleanup target, not as approval to keep side doors. - Sleipnir command-route implementation verification passed:
node --check src\hermodr-daemon.cjs,cargo test -p sleipnir-daemon, andgit diff --check -- src/hermodr-daemon.cjs crates/sleipnir-daemon/src/main.rspassed. Focused scans found no survivingpublishSleipnirMappingRudpdirect command publisher or rawcommandEndpointreceipt path. - Sleipnir command-ingress verification passed:
cargo test -p sleipnir-daemon rejects_removed_command_rudp_bind,cargo run -q -p sleipnir-daemon -- --command-rudp-bind 127.0.0.1:17889fails closed with the removed-flag error, PowerShell parser check passed forscripts\restart-raven-sleipnir.ps1, and focused scans found no survivingstart_command_rudp_ingress,run_command_rudp_ingress,apply_pending_command_mappings, command decoder, command receiver channel, launcherCommandRudpBind, or command routeconnectionIdoutside the intentional parser guard/test. - Odin Idunn health-probe side-door cut:
scripts\health-stonks.cmd,scripts\health-vili.cmd, andscripts\health-mimir-eve-dashboard.cmdare fail-closed archive stubs instead of localhost HTTP curl probes.scripts\idunn-deployment-targets.ps1now names Stonks and Vili health as daemon-published RUDP contracts, andscripts\restart-vili.ps1verifies Raven Vili restart through the daemon state file plus configured Idunn RUDP health status instead of polling HTTP/operator-state. - The Nightwing Eve dashboard health script no longer requires
http-websocket-client-lowering + websocket-binary-command-loweringas the input transport profile. It now fails if HTTP/WebSocket reappears in that field, making the old shape a visible degradation instead of an accepted transport profile. - Idunn health-probe verification passed: PowerShell parser checks for
scripts\restart-vili.ps1,scripts\health-nightwing-eve-dashboard.ps1, andscripts\idunn-deployment-targets.ps1; directcmd /cprobes confirmed the three archived.cmdwrappers exit 2;cargo test -p idunn-daemonpassed; focused scans outside this inventory found no remaining Stonks/Mimir localhost health URLs, Vili HTTP operator-state wait, Stonks/Vili catalog health-script references, or old Nightwing Eve dashboard HTTP/WebSocket input-transport assertion. - Hermodr browser-lowering correction: the earlier archive-stub cut was an overcut.
src\hermodr-daemon.cjshas been restored as a localhost browser lowering that reads Odin's typedgamecult.eve.surface_state.v1and provider advertisement records from the configured Odin CultMesh store, exposes/hermodr/verse/catalogand/hermodr/surface/<providerId>for browser use, reports/healthasauthority=lowering-only, and publishes browser-origin command ergonomics only as typed command documents to Hermodr's CultMesh command store. It still rejects old Odin HTTP/WebSocket discovery,latest-surface.json-style renderer exports, raw sleipnir/Aetheria RUDP command endpoints, andmuninnRudptransport hints. - Odin package scripts advertise
hermodr:startagain because the lowering is valid browser ergonomics. The script starts a lowering adapter only; it does not restore provider discovery, daemon health, or raw command transport authority. - Odin utility and Idunn localhost-ingress cut:
src\odin\utils.cjsno longer exports a generichttpGethelper, andcrates\idunn-daemonno longer defaults--rudp-health-bindto127.0.0.1:17870. Bare Idunn starts without a health ingress; the owned Starfire bootstrap still supplies--rudp-health-bind 0.0.0.0:17870explicitly. - Idunn generated-state breadcrumb cut:
crates\idunn-daemonno longer emits/eve/deck/nightwing-gjallar,renderer-only lowering,browser/WebSocket bridge, orHTTP stays a browser loweringin its live surgery-plan strings. Gjallar/Nightwing Eve docs now point at accepted CultMesh/Eve state and CultNet/RUDP snapshots instead of deck/WebSocket routes as named live paths. - Aetheria Odin route shortcut cut:
E:\Projects\Aetheria\Aetheria.State.Daemon\Program.csno longer advertises rawcultmesh-rudp-document-put/aetheria-command-ingressroutes in Odin provider advertisements. Provider records now expose only Odin/CultMesh announcement routes withresolver: odin-cultmesh; command ergonomics still need a proper CultMesh/Odin command document path rather than a provider-dialed shortcut. - Aetheria Electron daemon-target side-door cut:
E:\Projects\Aetheria\Aetheria.Rts.Web\Electron\main.tsno longer invents or accepts a rawAETHERIA_RTS_DAEMON_ENDPOINTas the daemon identity. The configured/default target is nowAETHERIA_RTS_CULTMESH_URI/cultmesh://odin/aetheria/rts/<daemon>, and stale raw endpoint config fails closed. - Aetheria RTS client path cut:
E:\Projects\Aetheria\Aetheria.Rts.Web\Electron\aetheria-cultmesh.tsnow separates the daemon's CultMesh URI from resolved peer-card transport endpoints. Command/query route metadata uses the CultMesh URI, rawrudp://strings are rejected as daemon targets, and the peer opens throughCultMesh.createRudpPeerForAuthorizedPeer(...)using a peer catalog plus authority lease instead ofcreateRudpPeer(..., this.endpoint). - Aetheria verification passed for the route/target cut:
npm run build:electron, isolated-outputdotnet build E:\Projects\Aetheria\Aetheria.State.Daemon\Aetheria.State.Daemon.csproj --no-restore -p:UseAppHost=false -p:OutDir=<temp>, andgit diff --checkon touched Aetheria/Odin inventory files passed. Focused scans found no survivingAetheriaCommandRoute,aetheria-command-ingress,cultmesh-rudp-document-put, oldrtsCultMeshEndpoint, directcreateRudpPeer(... this.endpoint), or remote verifierAETHERIA_STAGE7D_REMOTE_ENDPOINT.verify-stage7b-rts-client.ps1still fails before transport assertions because Aetheria generated RTS bindings are already stale; I did not generate a broad binding diff during transport cleanup. - Spotiverse WebSocket/HTTP side-door cut:
E:\Projects\Spotiverse\src\spotiverse-daemon.cjsno longer registers an HTTP upgrade handler, tracks WebSocket clients, broadcasts provider state over/eve/deck, advertises debug WebSocket/HTTP routes, exposes local/health,/spotify/state, or/spotify/search, or includes an Eve WebSocket command frame template in surface metadata. The local HTTP listener remains only for Heimdall/Spotify auth routes plus a fail-closed removed-command tombstone that points stale callers atspotiverse.command_request.v1. - Spotiverse launcher/export/doc follow-through:
scripts\start-spotiverse.ps1no longer prints local health or Eve deck URLs,scripts\export-provider-advertisement.cjsno longer exports listener Verse or deck stream metadata, andAGENTS.md,README.md,docs\architecture.md, anddocs\verse-service-contract.mdnow describe CultMesh/CultCache surface witnesses and typed command documents instead of/eve/deckrenderer discovery. - Spotiverse verification passed: absolute Node syntax check for
src\spotiverse-daemon.cjs, PowerShell parser check forscripts\start-spotiverse.ps1, BOM-tolerant provider advertisement export check,git diff --checkon touched Spotiverse files, and focused scans found no remaining/eve/deck, WebSocket, debug lowering, local state/search/health HTTP route, or launcher invitation residue outside this inventory. - gamecult-ops service-check health shortcut cut:
E:\Projects\gamecult-ops\scripts\check-heimdall.sh,check-repixelizer-gui.sh, andcheck-streampixels-preview.shno longer trust localhost HTTP health JSON for CultMesh/Idunn daemon truth. The checks validate configured Idunn/CultMesh environment and non-empty CultCache/CultMesh witness files directly; remaining HTTP calls are product smoke probes for auth/config/nginx/web routing, not daemon-health owners. - gamecult-ops Bifrost HTTP health gate cut:
E:\Projects\gamecult-ops\scripts\check-bifrost-alpha.shwas deleted,compose\bifrost.yggdrasil.yamlno longer has a Docker healthcheck that curls127.0.0.1:5080/healthz,scripts\deploy-bifrost-container.ps1no longer curls/healthzor/readyz, and Bifrost runbooks now say daemon health must be added as a CultMesh/Idunn witness before it can be an operations gate. - gamecult-ops verification passed for this cut: PowerShell parser check for
scripts\deploy-bifrost-container.ps1,git diff --checkon touched ops files, focused scans found no remaining migrated-servicehealth_json/ Idunn-from-HTTP parsing and no Bifrost5080/healthz/5080/readyzdeploy gate. POSIXbash -ncould not run because the availablebash.exeis the WSL shim and WSL has no/bin/bashin this environment. - Hermodr Aetheria command shortcut cut: Hermodr rejects
HERMODR_AETHERIA_COMMAND_RUDP/--aetheria-command-rudpoutright, no longer synthesizes Aetheria command routes into its embedded catalog, and accepts Aetheria commands only when Odin advertises acultmesh://command route. Hermodr publishesgamecult.eve.command.v1to Odin over the configured Odin CultMesh/RUDP substrate instead of dialing the advertised route address. The Aetheria viewport snapshot bypass was removed; Hermodr lowers documents already present through Odin and no longer opens a direct Aetheria RUDP peer for viewport records. - Hermodr Aetheria route verification passed:
node --check src\hermodr-daemon.cjs,git diff --check -- src/hermodr-daemon.cjs, and focused scans found no survivingpublishRawDocumentPutRudp,openAetheriaRudpPeer, raw Aetheria viewport snapshot reader,CultNetPeer,rudpUri, or MessagePack encode command path insrc\hermodr-daemon.cjs. - Odin/Idunn endpoint example cleanup:
README.mdno longer teaches127.0.0.1:17871as the Odin CultMesh/RUDP catalog endpoint; it names a configured<odin-cultmesh-rudp-endpoint>.src\Idunn\README.mdno longer teaches a localhost--rudp-health-bindexample or says the daemon defaults to127.0.0.1:17870.scripts\start-starfire-wireguard-elevated.ps1no longer curls local Ollama HTTP as part of WireGuard bootstrap diagnostics. - Endpoint example cleanup verification passed: PowerShell parser check for
scripts\start-starfire-wireguard-elevated.ps1,git diff --checkon the touched README/WireGuard files, and a focused scan found no remaining127.0.0.1:17871, demo--rudp-health-bind 127.0.0.1:17870, "defaults to 127.0.0.1:17870", or local Ollama curl diagnostic residue outside this inventory. - Odin Mimir observation-log side-door cut:
src\odin\config.cjs,src\odin\state.cjs,src\odin\surface.cjs, andsrc\odin-coordinator.cjsno longer tailE:\Projects\Mimir\artifacts\runtime\periwinkle-cultmesh-sensors.out.logor any other Mimir JSONL observation artifact as Odin discovery input.src\odin\observations.cjswas deleted, stale--observationLogPath/--observationFreshSecondsinvocations fail closed, and Odin's surface summary no longer derives live stream counts from artifact logs. - Observation-log cut verification passed:
node scripts/check-syntax.cjs, stalebuildConfig(['--observationLogPath','x'])rejection smoke,git diff --checkon the touched Odin/docs files, and focused scans found no remaining Mimir observation ledger/default artifact path/observation tailer references outside the intentional removed-option guard and this inventory. Observation streams must re-enter as provider-owned CultMesh/Odin records or retained Eve/CultUI surfaces, not as an Odin artifact tail. - Weksa Idunn health-command side-door cut:
scripts\idunn-deployment-targets.ps1now names Weksa health asdaemon-published-rudp:weksa.cultnet-rudp-provider-health, and Odin'sscripts\health-weksa.cmdis a fail-closed archive stub instead of calling Weksa's local--health --host 127.0.0.1 --port 8813diagnostic path. - Weksa repo follow-through:
E:\Projects\weksa\scripts\health-weksa-daemon.cmdis also a fail-closed archive stub, andE:\Projects\weksa\scripts\start-weksa-daemon.ps1no longer runsweksa-daemon.mjs --healthafter launch or to accept an existing PID. It now checks the daemon process plus freshprovider-advertisement-store.ccwitness while Weksa publishesweksa.cultnet-rudp-provider-healthto Idunn over CultNet/RUDP. - Weksa daemon health-mode cut:
E:\Projects\weksa\scripts\weksa-daemon.mjsno longer accepts--healthor prints command-mode health JSON from the local provider store. The archived wrapper has no surviving daemon flag target; diagnostics must inspect typed CultMesh/CultCache witnesses or Idunn RUDP health explicitly. - Weksa direct RUDP command target cut:
E:\Projects\weksa\scripts\weksa-daemon.mjsno longer advertisesrudp://$host:$portin provider advertisements, bindings, CultMesh publication metadata, or command boundaries.speech_provider.mimo.voicedesignnow publishescultmesh://odin/command/weksa/speech_provider.mimo.voicedesign; the RUDP bind is recorded only as daemon-local runtime substrate.--mimo-command-jsonwas removed from the daemon CLI so local direct-send command mode cannot bypass Odin discovery. - Weksa health-command verification passed: PowerShell parser check for
E:\Projects\weksa\scripts\start-weksa-daemon.ps1, directcmd /cprobes confirmed Odin and Weksa health wrappers exit 2,cargo test -p idunn-daemonpassed, focused scans found no remaining Idunn Weksa health-script catalog reference or--health --host 127.0.0.1 --port 8813wrapper call, andgit diff --checkpassed in both Odin and Weksa for the touched files. - VoidBot Idunn health-command side-door cut:
scripts\idunn-deployment-targets.ps1now names VoidBot health asdaemon-published-rudp:voidbot.cultnet-rudp-stack-health, andscripts\health-voidbot.cmdis a fail-closed archive stub. The PowerShell witness inspector remains available for explicit diagnostics, but the easy.cmdhealth command can no longer satisfy or imply Idunn daemon truth. - Idunn catalog health side-door cut:
scripts\idunn-deployment-targets.ps1now names Muninn-family, Nightwing Gjallar, Yggdrasil StreamPixels/Heimdall/Repixelizer, Nightwing Eve dashboard, and Nightwing Eve browser reference health as daemon-published RUDP contracts instead of local health script paths. The matching health.cmdwrappers are fail-closed archive stubs; deeper PowerShell and remote check bodies remain explicit witness/deployment inspections only, not Idunn health truth. - Muninn restart health-probe tail cut:
scripts\restart-muninn.ps1andscripts\restart-starfire-muninn.ps1no longer invokehealth-muninn.ps1/health-starfire-muninn.ps1after relaunch. Restart scripts verify the process and explicit Idunn RUDP contract arguments; Idunn accepts liveness only from daemon-published CultNet/RUDP health. - Raven capture mux health alias cut:
scripts\health-raven-capture-mux.ps1and.cmdare fail-closed archive stubs instead of aliases tohealth-muninn.ps1. - Odin self-health side-door cut:
scripts\idunn-deployment-targets.ps1now names Odin health asdaemon-published-rudp:odin.cultnet-rudp-provider-health,scripts\health-odin.cmdis a fail-closed archive stub, andscripts\restart-odin.ps1no longer invokeshealth-odin.ps1after start. - Vili/hermodr health-command tail cut:
E:\Projects\Vili\scripts\health-vili-daemon.cmdis a fail-closed archive stub, Vili start/restart scripts no longer runvili-daemon.mjs --health --host 127.0.0.1, Vili no longer exposes or advertises HTTP/health, Vili provider/transport records no longer advertise HTTP/WebSocket debug lowerings as Verse discovery,scripts\restart-vili.ps1no longer deploys the Vili health wrapper to Raven, andscripts\restart-hermodr.ps1is now a fail-closed archive stub. - Vili WebSocket deck path cut:
E:\Projects\Vili\scripts\vili-daemon.mjsno longer importsws, creates aWebSocketServer, or handles/eve/deckupgrades;package.json/package-lock.jsonno longer depend onws, the npmhealthshortcut was removed, and Odin's Raven Vili deployment bundle no longer copiesnode_modules\ws. - gamecult-ops Nightwing visible-ops side-door cut:
E:\Projects\gamecult-ops\scripts\nightwing-visible-ops-tui.py,nightwing-visible-ops-fb.py,nightwing-visible-ops-console.sh, andnightwing-visible-ops-fb-console.share fail-closed archive stubs. The old TUI/framebuffer path no longer contains a hand-rolled WebSocket client, frame parser, browser-deck URL argument, mouse-to-layout command channel, tmux launcher, framebuffer launcher, or default Starfire deck target. Nightwing visible ops now points at Gjallar consuming Odin's accepted CultMesh/CultNet surface snapshot. - Nightwing visible-ops runbook follow-through:
E:\Projects\gamecult-ops\runbooks\nightwing-cultmesh-worker-tunnel.mdno longer teaches local Odin HTTP health, direct Eve deck URLs, or renderer layout intents over the deck path as an operations route. It describes Odin as the typed CultMesh/CultNet authority and Gjallar as the lowering product; renderer input must become typed Odin documents before it can affect layout. - gamecult-ops Verse doctrine cleanup:
E:\Projects\gamecult-ops\docs\verse-service-architecture.mdno longer says HTTP/WebSocket compatibility bridges may remain as live lowering routes, andscripts\audit-verse-services.ps1no longer treats/eve/deckorwebsockettext as positive CultMesh/Eve readiness signals. Browser/native inspection endpoints are now explicit debug exports only; they cannot be provider discovery, daemon health, command transport, or service identity. - Nightwing visible-ops verification passed: bundled Python
py_compilepassed for the two archived Python scripts, PowerShell parser check passed forscripts\audit-verse-services.ps1,git diff --checkpassed for the touched visible-ops scripts, Nightwing runbook, Verse architecture doc, audit script, and Odin inventory, and focused scans found no remaining executable visible-opsWebSocket,ws://,/eve/deck,GAMECULT_VISIBLE_OPS_URL, orvisible_ops.WebSocketpath outside archive/inventory text. Plainpythonon PATH is only the Microsoft Store alias in this environment, so verification usedC:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\python\python.exe. - Odin/Idunn generated-vocabulary cut:
crates\idunn-daemon\src\main.rs,README.md,docs\idunn.md,docs\architecture.md, anddocs\gjallar.mdno longer preserve HTTP/WebSocket/deck route lists in generated surgery plans, command boundaries, transport profiles, or primary Odin/Idunn/Gjallar docs. The records now name product/debug probes as non-authority and point Weksa/sleipnir command ergonomics at typed Odin/CultMesh command documents rather than daemon-owned RUDP command ingress/route wording. - Odin/Idunn generated-vocabulary verification passed:
cargo test -p idunn-daemon,git diff --check -- crates/idunn-daemon/src/main.rs README.md docs/idunn.md docs/architecture.md docs/gjallar.md docs/transport-shortcut-inventory.md, and focused scans over the touched non-inventory Odin/Idunn source/docs found no remainingHTTP,WebSocket,ws://,wss://,/eve/deck,http.server,RUDP command route,daemon-owned-rudp-command-ingress, orweksa.mimo_voicedesign_command.v0invitations outside literal health-script names. The inventory remains the evidence ledger and intentionally retains historical route names. - Mimir Nightwing/EVE witness socket-lane cut:
E:\Projects\Mimir\src\Mimir.EveSensorReceiver\Program.cs,src\Mimir.VerseRecorder\Program.cs,tools\nightwing_typed_witness_publisher.py, andscripts\start-nightwing-move-tracking.ps1are fail-closed archive stubs. The old receiver no longer opens a TCP/WebSocket listener, health route, publish route, or subscriber path; the recorder no longer usesClientWebSocket; the Nightwing publisher no longer hand-builds socket frames; and the launcher no longer starts/stages the receiver-recorder-publisher chain. Eye/Move witness publication and recording must use typed CultMesh/CultNet documents or CultMesh stream frames discovered through Odin. - Mimir map/doc follow-through:
E:\Projects\Mimir\docs\implementation-plan.md,notes\current-system-map.md,state\map.yaml, andstate\evidence.jsonlnow mark the old Nightwing bring-up path as archived and point witness state at Muninn/Mimir typed CultMesh stream frames and Odin-discovered CultMesh documents. The touched Mimir doctrine no longer normalizes TCP/HTTP/WebSocket as live transport categories; it names product/debug render surfaces as non-authority lowerings. - Mimir witness-lane verification passed:
dotnet build E:\Projects\Mimir\src\Mimir.EveSensorReceiver\Mimir.EveSensorReceiver.csproj --no-restore,dotnet build E:\Projects\Mimir\src\Mimir.VerseRecorder\Mimir.VerseRecorder.csproj --no-restore, bundled Pythonpy_compilefortools\nightwing_typed_witness_publisher.py, PowerShell parser check forscripts\start-nightwing-move-tracking.ps1,git diff --checkon the touched Mimir files plus this inventory, and focused scans found no survivingClientWebSocket,TcpListener,WebSocket,ws://,/eve/periwinkle,/eve/camera, local health route, witness URL env, subscription URL env, or publisher--urlpath in the touched live files outside archive/inventory text. - Weksa/VoidBot MiMo VoiceDesign command side-door cut:
E:\Projects\Weksa\scripts\weksa-rudp-command.cjsis a fail-closed archive stub, andscripts\weksa-daemon.mjsno longer imports or starts a direct command listener, no longer accepts--mimo-command-json,--host, or--port, and no longer emits a command runtime bind in operator state or transport profile. Weksa advertisesspeech_provider.mimo.voicedesignonly ascultmesh://odin/command/weksa/speech_provider.mimo.voicedesign; start/restart scripts no longer pass or print a private command bind. - Weksa service contract follow-through:
E:\Projects\Weksa\docs\verse-service-contract.mdnow names the Odin/CultMesh command boundary as the command authority and describes the old direct command endpoint as archived. Health publication over CultNet/RUDP remains Idunn-facing daemon health substrate; it is not a command side door. - VoidBot Weksa speech client cut:
E:\Projects\VoidBot\packages\config\src\index.tsreplacedWEKSA_RUDP_ENDPOINTwithWEKSA_CULTMESH_COMMAND_URI, andpackages\core\src\weksa-speech.tsno longer imports the Weksa direct sender. Until VoidBot grows a real CultMesh command-document writer, Weksa speech requests fail closed with the command URI instead of silently taking a legacy transport path. - Weksa/VoidBot command-lane verification passed: bundled Node syntax checks for
weksa-daemon.mjsand the archivedweksa-rudp-command.cjs, PowerShell parser checks for Weksa start/restart scripts, bundled TypeScript project build for VoidBot,git diff --checkon the touched Weksa and VoidBot files, and focused scans found no survivingWEKSA_RUDP_ENDPOINT,rudpEndpoint, command RUDP bind/target, direct sender import, private command bind, or raw command endpoint wording outside the archive stub and this inventory. - Mimir EveDashboard broker path cut:
E:\Projects\Mimir\src\Mimir.EveDashboard\Program.csis now a fail-closed archive tombstone instead of a TCP listener/WebSocket deck broker. The executable no longer contains the HTTP health route,/eve/deck,/eve/dashboard, WebSocket handshake/frame parser, socket command channel, or provider route catalog machinery. Dashboard state must return as typed CultMesh/Eve documents through Odin, and dashboard commands must arrive as typed Odin/CultMesh command documents. - Mimir/Odin/gamecult-ops follow-through:
E:\Projects\Mimir\docs\implementation-plan.md,notes\current-system-map.md,notes\fresh-workspace-handoff.md, andstate\map.yamlnow mark EveDashboard as archived until rebuilt as a pure CultMesh/Odin publisher plus renderer lowering. Odin'snightwing-eve-dashboardIdunn target is demoted toarchived, its restart and health scripts are fail-closed archive stubs, andE:\Projects\gamecult-ops\inventory.mdplusrunbooks\nightwing-cultmesh-worker-tunnel.mdno longer teach the Nightwing broker endpoint or localhost curl health probe. - Mimir EveDashboard verification passed:
dotnet build E:\Projects\Mimir\src\Mimir.EveDashboard\Mimir.EveDashboard.csproj --no-restore, PowerShell parser checks for the touched Odin Idunn scripts, direct.cmdprobes confirmed Nightwing EveDashboard restart/health wrappers fail closed,git diff --checkpassed for touched Mimir/Odin/gamecult-ops files, and focused scans found no runnableTcpListener,AcceptTcpClientAsync, WebSocket handshake/frame implementation,ws://,/eve/deck,/eve/dashboard,0.0.0.0:8795, or localhost dashboard curl probe outside archive/tombstone text and this inventory. - Vili HTTP service surface cut:
E:\Projects\Vili\scripts\vili-daemon.mjsno longer importsnode:http, binds--host/--port, startshttp.createServer, serves/,/provider-advertisement,/operator-state,/eve/operator,/smoke, or the old/motion/generatetombstone route, or prints a local listener URL. Stale--hostand--portinvocations now fail closed and point at the typed.vili\vili.service.ccCultMesh/CultCache store. - Vili launcher/doc follow-through:
start-vili-daemon.ps1,restart-vili-daemon.ps1, andinstall-vili-task.ps1no longer accept or pass service host/port parameters;run-vili-daemon.ps1andsmoke-vili.mjsare fail-closed archive stubs;package.jsonno longer exposes an npmsmokeshortcut; Vili README and service contract no longer teach a local operator endpoint or direct motion-generation HTTP route. The provider advertisement now usescultmesh://odin/surface/vili/operatorand the.ccstore, not an HTTP/debug route. - Vili verification passed: bundled Node syntax checks for
scripts\vili-daemon.mjsand archivedscripts\smoke-vili.mjs, PowerShell parser checks for Vili start/restart/install/archive scripts, provider advertisement print checked clean of HTTP/WS/debug routes, stalevili-daemon.mjs --host 127.0.0.1fails closed, archived smoke exits 2,git diff --checkpassed for touched Vili files, and focused scans found no active Vili HTTP server, service host/port knob, provider/operator/smoke HTTP route, npm smoke script, or localhost service endpoint outside intentional archive/negative text and private Kimodo worker substrate. - Bifrost Docker health-gate cut:
E:\Projects\Bifrost\Dockerfileno longer installscurlor declares a DockerHEALTHCHECKthat curlshttp://127.0.0.1:5080/healthz. The container may still expose the ASP.NET product app, but Docker image health is no longer a localhost HTTP probe pretending to be daemon truth. - Bifrost operator-surface follow-through:
README.mdnow says container smoke tests may hit/healthzand/readyzonly as product probes, while Docker health and deploy gates must come from typed CultMesh/Idunn operator state.tools\provider-advertisement.mjs --helpno longer shows localhostBIFROST_HEALTH_URL/BIFROST_READY_URLexamples;print-surfacewithout explicit probe URLs reportsunprobed/not configuredinstead of silently curling localhost. - Bifrost verification passed: bundled Node syntax check for
tools\provider-advertisement.mjs,provider-advertisement.mjs print-surface --generated-at ...producedunprobedhealth/readiness without default localhost probes,git diff --checkpassed for the touched Bifrost files, and focused scans found no remaining Bifrost DockerHEALTHCHECK, localhost5080/healthz/readyzhealth-gate command, or localhost probe example outside negative doctrine text and unrelated VoidBot healthcheck variable names. - StreamPixels localhost service-default cut:
E:\Projects\StreamPixels\apps\web\lib\service-url.tsno longer falls back tohttp://localhost:4000on server or browser paths. Server-side web code now fails closed unlessSERVICE_URLorNEXT_PUBLIC_SERVICE_URLis configured, and client-side browser code uses the configured public service URL or the current origin.AppShellnow uses the same resolver instead of carrying its own localhost fallback. - StreamPixels overlay preview cut:
E:\Projects\StreamPixels\apps\overlay\src\runtime\config.tsno longer turns a localhost overlay origin into an implicithttp://localhost:4000service. Local overlay preview must carry an explicitserviceUrlquery parameter; hosted overlay deployments still default to their current origin as product/browser lowering behavior, not daemon discovery. - StreamPixels verification passed: focused Vitest run for
apps/web/lib/service-url.test.tsandapps/overlay/src/runtime/config.test.tspassed, TypeScript checks passed forapps\webandapps\overlay, and a focused scan found no remaininglocalhost:4000/127.0.0.1:4000runtime default in those app trees outside the explicit local-preview test fixture. - CultMesh TS Odin URI resolver added:
E:\Projects\CultLib\packages\cultmesh-ts\src\index.tsnow lets RUDP helpers acceptcultmesh://targets and resolve them throughresolveCultMeshRudpEndpointor the defaultCULTMESH_URI_<AUTHORITY>_RUDPbootstrap. This moves daemon-facing config toward logical CultMesh URIs while keeping concrete RUDP endpoints inside the transport resolver boundary. - Weksa Odin startup publication cut:
E:\Projects\Weksa\scripts\weksa-daemon.mjsnow targetscultmesh://odin/rendezvous/provider-catalogthrough CultMesh publication instead of normalizing a raw--odin-cultmesh-rudpendpoint.--odin-cultmesh-rudpis a fail-closed removed flag, and Weksa launchers use-OdinCultMeshUri/WEKSA_ODIN_CULTMESH_URIwith the Odin CultMesh URI default. - Weksa Odin URI verification passed: CultMesh TS source/test TypeScript builds passed, Weksa daemon syntax and launcher PowerShell parser checks passed, and stale
weksa-daemon.mjs --odin-cultmesh-rudp 127.0.0.1:17871exits with the removed-flag error before daemon startup. - Stonks Odin startup publication cut:
E:\Projects\Stonks\src\stonks-daemon.cjsnow targetscultmesh://odin/rendezvous/provider-catalogthrough CultMesh publication instead of normalizing--odin-cultmesh-rudp/STONKS_ODIN_CULTMESH_RUDP. The old raw flag is a fail-closed removed path, andscripts\start-stonks.ps1uses-OdinCultMeshUri/STONKS_ODIN_CULTMESH_URIwith the Odin CultMesh URI default. - Stonks Odin URI verification passed: bundled Node syntax check passed for
src\stonks-daemon.cjs, PowerShell parser check passed forscripts\start-stonks.ps1, stalestonks-daemon.cjs --odin-cultmesh-rudp 127.0.0.1:17871exits with the removed-flag error before daemon startup, and focused scans found no remaining raw Odin RUDP config path outside the removed-flag guard. - Spotiverse Odin startup publication cut:
E:\Projects\Spotiverse\src\spotiverse-daemon.cjsnow targetscultmesh://odin/rendezvous/provider-catalogthrough CultMesh publication instead of--odin-cultmesh-rudp/SPOTIVERSE_ODIN_CULTMESH_RUDP. The Spotiverse launcher and env example now useSPOTIVERSE_ODIN_CULTMESH_URI, and provider advertisement startup-respect metadata carriesodinCultMeshUriinstead ofodinCultMeshRudp. - Spotiverse Odin URI verification passed: bundled Node syntax check passed for
src\spotiverse-daemon.cjs, PowerShell parser check passed forscripts\start-spotiverse.ps1, stalespotiverse-daemon.cjs --odin-cultmesh-rudp 127.0.0.1:17871exits with the removed-flag error before daemon startup, and focused scans found no remaining raw Odin RUDP config path outside the removed-flag guard. - Loki Odin startup publication cut:
E:\Projects\Loki\src\loki-daemon.mjsnow targetscultmesh://odin/rendezvous/provider-catalogthrough CultMesh publication instead of--odin-cultmesh-rudp/LOKI_ODIN_CULTMESH_RUDP. Its provider transport metadata records an Odin CultMesh URI, the old raw flag is fail-closed, and the daemon logs unresolved Odin URI bootstrap without aborting local CultMesh witness publication. - Loki Odin URI verification passed: bundled Node syntax check passed for
src\loki-daemon.mjs,loki-daemon.mjs --oncecompleted while reporting unresolved Odin URI bootstrap as a startup-respect failure, staleloki-daemon.mjs --odin-cultmesh-rudp 127.0.0.1:17871exits with the removed-flag error, and focused scans found no remaining raw Odin RUDP config path outside the removed-flag guard. - Bifrost Odin provider publication cut:
E:\Projects\Bifrost\tools\provider-advertisement.mjsnow publishes tocultmesh://odin/rendezvous/provider-catalogorBIFROST_ODIN_CULTMESH_URIinstead of accepting--odin-cultmesh-rudp/BIFROST_ODIN_CULTMESH_RUDP. Help and Verse contract examples now teach the CultMesh URI path, and the old raw endpoint config fails closed. - Bifrost Odin URI verification passed: bundled Node syntax check passed for
tools\provider-advertisement.mjs, help output shows only--odin-cultmesh-uri/BIFROST_ODIN_CULTMESH_URI, staleprovider-advertisement.mjs publish-odin --odin-cultmesh-rudp 127.0.0.1:17871exits with the removed-config error, and focused scans found no remaining raw Odin RUDP config path outside the removed-config guard. - StreamPixels Odin startup publication cut:
E:\Projects\StreamPixels\apps\service\src\config.tsandverse-state.tsnow useSTREAMPIXELS_ODIN_CULTMESH_URI/cultmesh://odin/rendezvous/provider-catalogfor startup provider publication instead ofSTREAMPIXELS_ODIN_CULTMESH_RUDPplus local endpoint normalization. Docs andstate\map.yamlnow say concrete RUDP bootstrap belongs behind CultMesh URI resolution. - StreamPixels Odin URI verification passed: bundled TypeScript check passed for
apps\service,git diff --checkpassed for touched StreamPixels files, and focused scans found no remainingSTREAMPIXELS_ODIN_CULTMESH_RUDP,odinCultMeshRudp, ornormalizeRudpEndpointpath in StreamPixels service/docs/state. - Rust CultMesh Odin URI resolver added:
E:\Projects\Odin\vendor\cultmesh-rs\src\lib.rsnow exposesCultMesh::resolve_rudp_endpoint/resolve_rudp_endpoint, acceptscultmesh://targets, resolves them throughCULTMESH_URI_<AUTHORITY>_RUDP, and no longer defaults RUDP catalog publish/snapshot options to127.0.0.1:17871. The default target is an inert0.0.0.0:0sentinel so accidental unowned use fails instead of dialing localhost Odin. - Muninn/sleipnir Odin startup and catalog path cut:
crates\muninn-daemonandcrates\sleipnir-daemonnow store Odin ascultmesh://odin/rendezvous/provider-catalog/--odin-cultmesh-uriand resolve it through Rust CultMesh only at RUDP catalog publish/pull boundaries. The old--odin-cultmesh-rudpflag is fail-closed in both daemons. Odin launchers for Raven/Starfire/Nightwing Muninn and Raven Sleipnir now pass--odin-cultmesh-uri/ODIN_CULTMESH_URIinstead of raw endpoint flags. - Muninn/sleipnir Rust verification passed:
cargo test -p muninn-daemon odin_cultmesh,cargo test -p muninn-daemon request_stream_requires_odin_cultmesh_command_route,cargo test -p sleipnir-daemon odin_cultmesh,cargo test -p sleipnir-daemon rejects_removed_command_rudp_bind,cargo test --manifest-path vendor\cultmesh-rs\Cargo.toml resolves_rudp_endpoint_from_cultmesh_uri_bootstrap_env, andcargo test --manifest-path vendor\cultmesh-rs\Cargo.toml cultmesh_rudp_endpointpassed.cargo test -p muninn-daemon --no-run,cargo test -p sleipnir-daemon --no-run, PowerShell parser checks for touched launchers, andgit diff --checkon touched Rust/script files also passed. - C# CultMesh Odin URI resolver added:
E:\Projects\CultLib\src\GameCult.Mesh\CultMesh.csnow exposesCultMesh.ResolveRudpEndpoint(...), acceptscultmesh://targets, resolves them throughCULTMESH_URI_<AUTHORITY>_RUDP/<AUTHORITY>_CULTMESH_RUDP_ENDPOINT, and the stringCreateRudpClient(...)overload now resolves through that CultMesh boundary instead of accepting only rawrudp://endpoints. - Historical, unadmitted Gjallar URI experiment: an
E:\Projects\Gjallarbody attempted to replace raw Odin RUDP flags with--odin-cultmesh-uri. That body is not the canonical source or deployed release. The liveF:\Projects\Gjallarreleased683faa558351327d987918d1e8b8f79886dc9cbaccepts--odin-cultnet-rudpand--odin-cultmesh-rudp; its Yggdrasil unit uses both against10.77.0.1:17871. Treat the URI experiment and its checks as rejected branch evidence, not a completed transport cut. - Aetheria Odin announcement path cut:
E:\Projects\Aetheria\Aetheria.State.Daemon\Program.cscollapsedOdinCultMeshRudpEndpointsinto a singleOdinCultMeshUri, defaults tocultmesh://odin/rendezvous/provider-catalog, rejects both--odin-cultmesh-rudpand the previous--odin-cultnet-rudpalias as announcement targets, advertises provider announcement routes astransport: cultmesh, and publishes through the shared CultMesh client URI resolution path. - C# Odin URI verification passed:
dotnet build E:\Projects\CultLib\src\GameCult.Mesh\GameCult.Mesh.csproj --no-restore -p:OutDir=E:\Projects\.codex-build\cultmesh-out\,dotnet build E:\Projects\Gjallar\src\Gjallar\Gjallar.csproj --no-restore, and isolated-outputdotnet build E:\Projects\Aetheria\Aetheria.State.Daemon\Aetheria.State.Daemon.csproj --no-restore -p:OutDir=E:\Projects\.codex-build\aetheria-daemon-out\passed. The normal Aetheria output build was blocked by a runningAetheria.State.Daemonprocess holding DLLs open, so verification usedOutDir; focused scans found no surviving raw Odin CultMesh RUDP config path outside intentional removed-option guards and this inventory. - VoidBot Bifrost startup health side-door cut:
E:\Projects\VoidBot\scripts\start-voidbot-stack.ps1no longer readsBIFROST_HEALTH_URL, curls Bifrost/healthz, or startsBIFROST_ROOT\compose.local.yamlbased on product HTTP health. Stack startup now verifiesBIFROST_CULTMESH_COMMAND_URI,BIFROST_CULTMESH_STORE_PATH, the Bifrost CultMesh command processor, and exports the typed provider store when missing. VoidBot current maps and handoff notes now describe Bifrost readiness as the CultMesh command lane, not Docker/product HTTP health. - VoidBot Bifrost startup verification passed: PowerShell parser check passed for
scripts\start-voidbot-stack.ps1, focused scans found no remainingBIFROST_HEALTH_URL,Ensure-BifrostLocalStack,HealthUrl,/healthz, or/readyzpath in VoidBot's stack script/current maps/README, the configured Bifrost provider store and command processor exist,node E:\Projects\Bifrost\tools\provider-advertisement.mjs export --out <temp>succeeded with health/readiness reported asunprobed/not configured, andgit diff --checkpassed for the touched VoidBot files. - Bifrost HTTP bridge ledger side-door cut:
E:\Projects\Bifrost\tools\bifrost-bridge.mjsrejectsBIFROST_BRIDGE_BASE_URL/BIFROST_BRIDGE_TOKENand--bifrost-base-url/--bifrost-tokenoutright. External bridge actions now require typed CultMesh command provenance such asBIFROST_CULTMESH_COMMAND_ID;other-requestis fail-closed until it has a named typed command/receipt contract.tools\agent-transport.mjs,tools\governance-threads.mjs, andtools\dispatch-agent-requests.mjsno longer require or post to hosted runtime receipt endpoints; request, governance, and dispatch activity stays in Bifrost-owned typed CultCache/CultMesh stores. - Bifrost web endpoint path cut:
E:\Projects\Bifrost\src\Bifrost.Web\Program.csno longer executes/bridge/actions/*,/dispatch/runs/*,/transport/receipts, or/governance/receiptsas mutation APIs. Those route groups now return410 Gonetombstones pointing callers at typed CultMesh command/receipt documents discovered through Odin. Bifrost provider advertisement no longer exposesbridge-action-ledgerand reports the old bridge ledger credential source asremoved-http-bridge. - Bifrost HTTP bridge verification passed: Node syntax checks passed for
bifrost-bridge.mjs,agent-transport.mjs,governance-threads.mjs,dispatch-agent-requests.mjs, andprovider-advertisement.mjs;dotnet build E:\Projects\Bifrost\src\Bifrost.Web\Bifrost.Web.csproj --no-restorepassed;BIFROST_BRIDGE_BASE_URL=http://127.0.0.1:5080 node tools\bifrost-bridge.mjs discord-post ...and the same env onagent-transport.mjs enqueue ...fail closed with removed-config errors;provider-advertisement.mjs print-surfacesucceeds and reports the HTTP bridge ledger as removed; focused scans found no surviving live acceptance of the old bridge env outside removed-config guards, tombstone route names, and this inventory. Full Bifrost tests were not run in this pass because the existing bridge tests still encode the intentionally deleted HTTP-ledger behavior and need a separate expectation rewrite. - Aetheria RTS peer shortcut cut:
E:\Projects\Aetheria\Aetheria.State.Daemon\Program.csno longer accepts configured peer RUDP endpoints, no longer imports committed facts from--peer-cultmesh-endpoint, and no longer carries the peer sync timeout authority. Peer discovery is now represented as Odin/CultMesh discovery; the remaining localrudp://127.0.0.1:<port>handle in the Electron launcher is private to a child daemon spawned by that process, not user/deployment configuration. - Aetheria Electron daemon targeting cut:
E:\Projects\Aetheria\Aetheria.Rts.Web\Electron\main.tsnow targets a daemon byAETHERIA_RTS_CULTMESH_URIor the defaultcultmesh://odin/aetheria/rts/<daemonId>, rejects legacy raw endpoint environment variables before startup, and no longer passes peer endpoint arguments into the local daemon.scripts\verify-stage7c-electron-shell.ps1now verifies the CultMesh URI targeting guard instead of teaching the peer endpoint pass-through. - Aetheria peer shortcut verification passed:
npm run buildpassed forE:\Projects\Aetheria\Aetheria.Rts.Web, isolated-outputdotnet build E:\Projects\Aetheria\Aetheria.State.Daemon\Aetheria.State.Daemon.csproj --no-restore -p:OutDir=E:\Projects\.codex-build\aetheria-daemon-out\passed with pre-existing Unity/nullability warnings, PowerShell parser check passed for the touched Electron verifier, staledotnet ... Aetheria.State.Daemon.dll --peer-cultmesh-endpoint rudp://127.0.0.1:1 --oncefails before daemon startup, and focused scans found no surviving active peer endpoint import loop or launcher pass-through outside fail-closed guards and the local spawned-daemon private handle. - Bifrost provider surface HTTP probe cut:
E:\Projects\Bifrost\tools\provider-advertisement.mjsno longer accepts--health-url,--ready-url,BIFROST_HEALTH_URL, orBIFROST_READY_URLwhen building/exporting provider surfaces. Operator readiness now derives from typed CultMesh/CultCache stores, governance/request stores, and typed bridge command metadata;/healthzand/readyzremain product smoke endpoints only and cannot feed Odin-facing provider status. - Bifrost test-suite HTTP bridge fixture cut:
E:\Projects\Bifrost\tests\Bifrost.Web.Tests\BridgeCliTests.csno longer spins up a fake localhostHttpListenerbridge, no longer teaches/bridge/actions/*,/dispatch/runs/*,/transport/receipts, or/governance/receiptsas accepted receipt paths, and uses typedBIFROST_CULTMESH_COMMAND_IDprovenance or explicit removed-config negative checks instead ofBIFROST_BRIDGE_BASE_URL/BIFROST_BRIDGE_TOKENsuccess fixtures. - Bifrost bridge CLI test verification passed:
DOTNET_ROLL_FORWARD=Major dotnet test E:\Projects\Bifrost\tests\Bifrost.Web.Tests\Bifrost.Web.Tests.csproj --no-restore --filter FullyQualifiedName~BridgeCliTestspassed 30/30, and focused scans found no fake bridge server, localhost listener, deleted bridge route fixture, or old base-url/token success assertion inBridgeCliTests.cs. - Current Gjallar transport admission: Idunn runs the headless Yggdrasil body,
Odin owns the accepted snapshot at
10.77.0.1:17871, and Gjallar publishesgjallar.overviewback over the same RUDP substrate. Nightwing deployment and framebuffer units are retired rather than adapted to the unadmitted URI path. - Loki Chrome extension HTTP ingest cut:
E:\Projects\Loki\src\loki-daemon.mjsno longer importsnode:http, opens a localhost extension ingest server, serves/healthor/state, accepts/ingest/chrome-extension, advertiseschrome-extension-ingest, or publishesgamecult.loki.chrome_extension_report.v0,gamecult.loki.chrome_debug_probe.v0, orgamecult.loki.chrome_page_snapshot.v0witness routes. The daemon is CDP-observation-only until browser-origin observations have a CultMesh/native binding.--extension-hostand--extension-portfail closed, the unpacked extension is an archived status stub with no localhost host permissions, and the old extension-ingest smoke test is now a removed-path guard. - Loki verification passed: bundled Node syntax checks passed for
src\loki-daemon.mjs, the extension service worker/popup, and Loki smoke tests; directnode test\fixture-cdp-smoke.mjspassed; directnode test\extension-ingest-smoke.mjspassed and proves--extension-portis rejected before startup. Focused scans found no remaining Loki extension HTTP ingest server,/ingest/chrome-extension,LOKI_EXTENSION_PORT, Chrome debugger/page snapshot action names, extension host permissions, or advertised extension/debug/page snapshot witness routes outside the intentional removed-option guard. - Bifrost web bridge route cut:
E:\Projects\Bifrost\src\Bifrost.Web\Program.csno longer maps/bridge/actions/*,/dispatch/runs/*,/transport/receipts, or/governance/receiptsat all. The old local bridge token HTTP handlers,BuildBridgeCaller, and local bridge token gate were deleted from the product web app.PlatformEndpointsTestsnow proves the old routes are404 NotFoundand do not write bridge action, dispatch run, transport receipt, or governance receipt rows. - Bifrost web bridge route verification passed:
dotnet build E:\Projects\Bifrost\src\Bifrost.Web\Bifrost.Web.csproj --no-restorepassed, anddotnet test E:\Projects\Bifrost\tests\Bifrost.Web.Tests\Bifrost.Web.Tests.csproj --no-restore --filter FullyQualifiedName~PlatformEndpointsTestspassed 22/22 withDOTNET_ROLL_FORWARD=Major. Focused scans found no remaining mapped Bifrost web bridge routes, removed bridge endpoint function, or helper methods outside the negative route-absence test and inventory. - Bifrost Motion Verse HTTP command path cut:
E:\Projects\Bifrost\src\Bifrost.Web\Program.csno longer maps/eve/governance/commands, andMotionEveCommandRequestwas removed from the web surface layer.MotionEveSurfaceServicenow emitscultmesh://asgard.starfire.bifrost/commands/motionas the canonical command target withcultmesh-command-documenttransport metadata instead of an HTTP POST target.tools\provider-advertisement.mjsnow advertisesmotion-surfaceandmotion-commandsas CultMesh URIs, nothttps://bifrost.gamecult.org/eve/governance/*endpoints. The browser-lowered motion state endpoint remains a product/member surface, but it is no longer the discovered Verse command authority. - Bifrost Motion Verse verification passed: Node syntax check passed for
tools\provider-advertisement.mjs,dotnet build E:\Projects\Bifrost\src\Bifrost.Web\Bifrost.Web.csproj --no-restorepassed, andDOTNET_ROLL_FORWARD=Major dotnet test E:\Projects\Bifrost\tests\Bifrost.Web.Tests\Bifrost.Web.Tests.csproj --no-restore --no-build --filter FullyQualifiedName~PlatformEndpointsTestspassed 22/22. Focused scans found no survivinghttps://bifrost.gamecult.org/eve/governance, mapped/eve/governance/commands,MotionEveCommandRequest, or HTTP POST command metadata outside the negative route-absence tests and this inventory. - Mimir CultMeshMedia relay target shortcut cut:
E:\Projects\Mimir\src\Mimir.CultMeshMedia\Program.csno longer accepts--host,--port, or--endpointforsend/recv, and no longer synthesizesrudp://host:portas the remote relay target. Senders and receivers now require--cultmesh-uri/MIMIR_CULTMESH_MEDIA_URI, validate it ascultmesh://..., and resolve the concrete RUDP endpoint throughCultMesh.ResolveRudpEndpoint(...)at the transport boundary.start-raven-cultmesh-av-sender.ps1andstart-starfire-cultmesh-av-receiver.ps1now targetcultmesh://asgard.yggdrasil.mimir/media/raven-primary-av, reject staleMIMIR_CULTMESH_RELAY_HOST, and no longer pass raw relay host/port arguments. Relay bind and OBS-local UDP output remain local substrate/lowering, not Verse discovery or command authority. - Mimir CultMeshMedia verification passed:
dotnet build E:\Projects\Mimir\src\Mimir.CultMeshMedia\Mimir.CultMeshMedia.csproj --no-restorepassed; PowerShell parser checks passed for the touched sender/receiver launchers; stalesend --host 10.77.0.1andrecv --endpoint rudp://10.77.0.1:3075invocations fail closed before transport startup; staleMIMIR_CULTMESH_RELAY_HOST=10.77.0.1launcher use fails closed; and a dry-run sender now emits--cultmesh-uri cultmesh://asgard.yggdrasil.mimir/media/raven-primary-av. Focused scans found no remaining active Mimir media sender/receiver--host,--port,--endpoint, raw WireGuard relay, or loopback tunnel target outside fail-closed guards and this inventory.
Not run: Gradle wrapper build for Eve's native Android app; that app uses scripts\build-android.ps1 in this workspace, and that build passed.