Odin/docs/transport-shortcut-inventory.md
Meta Vens 222fe03896 Move Idunn's unit files, docs and operator scripts out of Odin
Completes the extraction. Unit files and documentation went to the Idunn
repository, where a service's own deployment surface belongs. Operator scripts
went to gamecult-ops, which is where fleet tooling lives.

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

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

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

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

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-05 18:16:38 +02:00

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-* or scripts/start-idunn-local.ps1 refer to paths that moved to gamecult-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-rudp from the launcher or CLI.
  • Sleipnir no longer reads muninnRudp / muninn_rudp from 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 muninnRudp for Sleipnir mapping commands.
  • Hermodr no longer synthesizes gamecult.hermodr.fallback_odin_catalog.v1 from /eve/deck/providers when 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-unavailable supervisor observation on the daemon key when daemon RUDP health is absent.
  • Odin interface discovery no longer scrapes /eve/deck/providers from 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 nodes into Eve surfaces.
  • Odin provider normalization no longer promotes compatibility-eve-deck routes to provider transport endpoints.
  • Odin no longer hosts an HTTP health endpoint or /eve/deck WebSocket/HTTP renderer surface at all. The src/odin/websocket.cjs side-door module was deleted, odin-coordinator.cjs refreshes only into CultMesh/CultNet state, and Idunn reads Odin health as daemon-published-rudp:odin.cultnet-rudp-provider-health. health-odin.ps1 remains 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.cmd or compatibility.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; --endpoint or VOIDBOT_IDUNN_RUDP_HEALTH is 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 compatibility objects; deleted HTTP command lanes and debug lowerings are explicit non-authorities.
  • Gjallar no longer falls back to Odin /eve/deck WebSocket catalog/provider input when Odin CultNet/RUDP snapshot input is absent.
  • Gjallar runtime config and provider advertisement no longer publish a DeckUrl/--url input 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-deck routes 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_mechanism and command_lowerings while preserving their CultCache slot positions.
  • VoidBot swarm command boundary and transport profile exports now use command_lowerings and debug_mechanism instead 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-deck route; the remaining provider route is the CultCache/CultMesh witness.
  • Odin, Mimir Eve dashboard, Stonks, Spotiverse, and Vili no longer serve local /eve/deck/providers provider catalogs as discovery shortcuts.
  • Mimir Eve dashboard no longer serves /eve/deck/manifest or /eve/dashboard/manifest as 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/providers or 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 from websocket-bridge to 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/deck WebSocket snapshots or accept ODIN_BASE_URL; they read Odin's gamecult.eve.surface_state.v1 from the configured Odin CultMesh store (ODIN_CULTMESH_STORE or the default E:\Projects\Odin\scratch\odin\odin.ccmp).
  • Idunn generated swarm plans no longer use compatibility/fallback wording 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-service writes 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 YmirPhysicsQueries surface directly, and Aetheria.State.Verify now guards against reintroducing the deleted HTTP fields/methods.
  • StreamPixels no longer hand-assembles its service boundary .cc file with bespoke MessagePack/CultCache store encoding. apps/service/src/verse-state.ts opens 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 .cc file with bespoke MessagePack/CultCache store encoding. src/verse-state.ts opens 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 .cc witness sidecars while describing CultMesh publication as future. src/loki-daemon.mjs now writes snapshot, provider advertisement, Eve surface, command boundary, transport profile, debug probe, page snapshot, and Idunn health records through a typed CultMesh store at state/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 .cmd wrappers now require IDUNN_ACTUATOR=1 plus IDUNN_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 .cmd wrappers 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 require IDUNN_ACTUATOR=1 and IDUNN_COMMAND_AUTHORITY=idunn-daemon before 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-ops no longer act as standalone server-side deployment runbooks. Odin's Idunn deploy wrappers pass GAMECULT_IDUNN_REMOTE_ACTUATOR=1 plus IDUNN_COMMAND_AUTHORITY=idunn-daemon through sudo 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 --includeRemoteWitnesses path that imports copied Nightwing/Raven Muninn/sleipnir witness stores from scratch/remote-witnesses. The untracked scripts/sync-muninn-remote-witnesses.ps1 SCP/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; --health now reads those typed CultMesh records, while MiMo request/receipt .cc artifacts remain command trace records.
  • Bifrost no longer exports or advertises a singleton .bifrost/provider-advertisement.cc witness as its Odin discovery surface. tools/provider-advertisement.mjs export now writes .bifrost/provider-store.cc containing provider advertisement, operator surface, and Eve interface binding records, and advertises the route as cultmesh-store.
  • Odin no longer seeds interface discovery from repo-local .cc paths or machine-local C:\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 a cultmesh-store:file://... URI via --interfaceBindingStore or ODIN_INTERFACE_BINDING_STORES.
  • Mimir Eve dashboard no longer accepts arbitrary --provider id|title|ws-url WebSocket 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 Live provider that dials Mimir's /eve/deck broker with a custom mimir-eve-deck transport. 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/cultmesh or ws://192.168.1.66:8796/eve/periwinkle. The native app reads explicit org.gamecult.eve.DASHBOARD_URI and org.gamecult.eve.SENSOR_URI launch 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, and EVE_MIC_URLS must 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.ps1 wrapper no longer default to localhost/Starfire Periwinkle WebSocket endpoints. The wrapper requires -WitnessUrl/MIMIR_NIGHTWING_WITNESS_URL and -SubscribeUrl/MIMIR_NIGHTWING_SUBSCRIBE_URL supplied by Odin/CultMesh discovery or explicit operator config.
  • gamecult-ops Nightwing visible-ops TUI/framebuffer lowerers no longer default to ws://192.168.1.66:8797/eve/deck. The Python lowerers require --url, and the shell launchers require GAMECULT_VISIBLE_OPS_URL from 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 a cultmesh:// Sleipnir command route advertised by Odin, publishes sleipnir.input_mapping.v1 to Odin over the configured Odin CultMesh/RUDP substrate, and rejects raw host/port routes instead of dialing them. Sleipnir pulls sleipnir.input_mapping.v1 from Odin discovery and chooses the newest local-or-Odin mapping record.
  • Odin marquee generation no longer falls back to Stonks' HTTP /market/state endpoint. 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 deriving transportEndpoint; 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 returns 410 command_route_removed. Vili polls gamecult.vili.motion_request.v1 documents from vili.service.cc, runs the Kimodo worker from that typed request, and writes gamecult.vili.motion_job.v1 receipts 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; WeksaSpeechClient now requires the configured WEKSA_CULTMESH_COMMAND_URI and fails closed until a real CultMesh command-document writer publishes weksa.mimo_voicedesign_command.v0.
  • VoidBot no longer defaults Weksa speech command transport to a localhost/direct endpoint or advertises stale ODIN_BASE_URL in .env.example. REPO_FACE_WEKSA_SPEECH_ENABLED=true now requires an explicit WEKSA_CULTMESH_COMMAND_URI supplied 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-ops Nightwing 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 configured GJALLAR_ODIN_CULTMESH_URI, and the Nightwing witness publisher uses configured MIMIR_WITNESS_URL.
  • Bifrost's provider advertisement help and Verse contract no longer show 127.0.0.1:17871 as 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/deck or /eve/deck/cultmesh WebSocket routes provider/bridge transport. They are explicitly local debug lowerings while CultCache .ccmp and typed CultMesh/Eve state remain authority.
  • Active Mimir branch Raven daemon no longer starts a daemon-owned HTTP/WebSocket Eve side door. Mimir.RavenDaemon now publishes only mimir.raven_capture_mux_state.v1 through 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.FensalirDaemon now runs only its Well-drinking state loop and persists mimir.fensalir_daemon_state.v1, mimir.fensalir_reservoir_worker_state.v1, and mimir.fensalir_reservoir_pressure.v1 through 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|url provider registrations. Mimir.EveDashboard now 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. --port and --path are 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:17871 or 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_BROKER must 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 existing publish-odin CultMesh/RUDP publication path.
  • gamecult-ops local inventory no longer preserves Raven/Starfire/Qwen LAN addresses as operator recipes. It uses OFFSITE_BACKUP_SSH_TARGET, LOCAL_INFERENCE_BASE_URL, and LOCALCAST_RECEIVER_HOST placeholders so local notes do not re-teach deleted transport shortcuts.
  • gamecult-ops script 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/healthz and /readyz into the operator-surface stats path. HTTP probe URLs are optional explicit inputs via --health-url / --ready-url or BIFROST_HEALTH_URL / BIFROST_READY_URL; absent probes render as unprobed instead of localhost-shaped daemon truth.
  • VoidBot's local .env no longer carries the deleted Weksa HTTP shortcut. It now follows the live config surface with blank WEKSA_CULTMESH_COMMAND_URI while REPO_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:17870 or confirm source-address acceptance from 10.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 by GC_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_URL is 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.v1 documents from the daemon .ccmp, routes CultMesh requests through the same executor as debug lowerings, and writes spotiverse.command_receipt.v1 documents back to CultMesh. /commands/add-to-queue and Eve spotiverse-command WebSocket 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-ops Gjallar systemd unit no longer pins Odin input to a raw RUDP endpoint; the unit consumes GJALLAR_ODIN_CULTMESH_URI from /etc/gamecult/gjallar.env or 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; -OdinCultMeshUri comes from an explicit parameter or WEKSA_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, or BIFROST_ALLOW_UNGATED_GITHUB as operator recovery hatches. Mutating activity now fails closed unless BIFROST_BRIDGE_BASE_URL and BIFROST_BRIDGE_TOKEN route 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; -OdinCultMeshUri comes from an explicit parameter or ODIN_CULTMESH_URI.
  • Odin's Raven Sleipnir launcher no longer advertises or opens a raw command RUDP endpoint. Sleipnir publishes cultmesh://odin/command/sleipnir/input_mapping as its command route and reads the typed sleipnir.input_mapping.v1 command document from Odin discovery; --command-rudp-bind is a fail-closed removed flag.
  • Odin's Raven Sleipnir deploy/restart actuators no longer default SSH to 192.168.1.84; they use the named raven target 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.ccmp as a default discovery store. Sleipnir discovers Muninn provider records from Odin through --odin-cultmesh-uri; local --discovery-store use is explicit debug/operator input only.
  • Active Odin-clean-move-identity worktree deploy/restart scripts no longer preserve stale Idunn/Odin endpoint defaults, Raven media target defaults, or direct Vili operator-state HTTP checks. Deploy/restart .ps1 bodies and .cmd wrappers now require IDUNN_ACTUATOR=1 plus IDUNN_COMMAND_AUTHORITY=idunn-daemon, matching the current Odin actuator boundary.
  • Active Odin-clean-move-identity source 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, or compatibility-eve-deck route promotion. Provider/interface discovery is CultMesh/Odin-owned, and explicit local debug imports must use cultmesh-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, or ODIN_CULTMESH_URI and 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; -IdunnRudpHealth comes from an explicit parameter or IDUNN_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; -IdunnRudpHealth comes from an explicit parameter, ODIN_IDUNN_RUDP_HEALTH, or IDUNN_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, or IDUNN_RUDP_HEALTH.
  • gamecult-ops StreamPixels, Heimdall, and Repixelizer deploy scripts no longer write 10.77.0.2:17870 into missing service env files. They require an existing service env assignment or an explicit *_IDUNN_RUDP_HEALTH_DEFAULT deployment 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, -HidControllerRudpAdvertise or MUNINN_HID_CONTROLLER_RUDP_ADVERTISE is required.
  • Odin's Raven Muninn restart wrapper no longer defaults media, OBS, or OBS catalog publication to Starfire LAN endpoints. -TargetHost or MUNINN_MEDIA_TARGET_HOST is required, -ObsTargetHost/MUNINN_OBS_TARGET_HOST derives from the media target when omitted, and -ObsCatalogRudpTarget/MUNINN_OBS_CATALOG_RUDP_TARGET is optional instead of guessed.
  • Odin's Raven Muninn restart and health wrappers no longer expose capture-command RUDP target or bind knobs. request-stream publishes typed commands through Odin/CultMesh, serve pulls 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.ps1 requires -TargetHost or MUNINN_MEDIA_TARGET_HOST, and -ObsTargetHost derives 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.Home to a baked Nightwing LAN endpoint or logs a baked Starfire LAN address. The fallback endpoint and optional LAN address must come from explicit parameters or STARFIRE_WIREGUARD_NIGHTWING_ENDPOINT_FALLBACK / STARFIRE_LAN_ADDRESS.
  • gamecult-ops Raven connectivity checker no longer defaults Raven LAN ICMP to 192.168.1.84; the required check is Raven's WireGuard address, and LAN probing only runs when -RavenLanIp or RAVEN_LAN_IP is 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 and Mimir.EveRelay now require explicit parameters or MIMIR_* 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 --endpoint must be supplied by Odin/CultMesh discovery or operator config.
  • Root Mimir Raven Muninn OBS feed, Mimir-raven-build Mimir.Muninn, and Mimir-obs-muninn-branch Mimir.RavenDaemon no longer default media/OBS target host to 10.77.0.2; MIMIR_MUNINN_TARGET_HOST / --target-host is 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.Well requires --publish-url or MIMIR_WELL_PUBLISH_URL; Mimir.VerseRecorder requires --url or MIMIR_VERSE_RECORDER_URL; start-online-verse-daemons.ps1 requires -WellPublishUrl / -SubscribeUrl or 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. --url or MIMIR_WITNESS_URL is required.
  • Mimir-obs-muninn-branch OBS 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.json examples 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-rollback no 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.json export as default discovery truth. It reads Odin's gamecult.eve.surface_state.v1 document from the Odin CultMesh store (--odinCachePath, --odinSurfaceKey), with --odinStatePath left as an explicit debug fallback only.
  • Vili no longer writes provider/operator/surface/command/transport/backend JSON sidecars by default. --write-debug-sidecars or VILI_WRITE_DEBUG_SIDECARS=1 is required for explicit debug exports, and the daemon/smoke tooling no longer defaults to Raven's baked WireGuard HTTP URL.
  • Odin's health-vili.cmd is archived and no longer curls Vili HTTP health at all; Vili health is daemon-published as vili.cultnet-rudp-animation-health.
  • Muninn's Odin startup RUDP parser test no longer preserves 10.77.0.2:17871 as the example endpoint literal.
  • Weksa no longer writes provider/operator/surface/command/transport/publication or MiMo request/receipt JSON mirrors by default. --write-debug-json or WEKSA_WRITE_DEBUG_JSON=1 is required for explicit debug exports; .cc witnesses and the CultMesh store remain authority.
  • Weksa start/restart wrappers no longer default Idunn health publication to 127.0.0.1:17870; -IdunnRudpHealth comes from an explicit parameter or WEKSA_IDUNN_RUDP_HEALTH, and service launch fails closed without it.
  • Stonks start wrapper no longer defaults Idunn health publication to 127.0.0.1:17870 or Odin startup publication to 127.0.0.1:17871; -IdunnRudpHealth comes from explicit parameters or STONKS_IDUNN_RUDP_HEALTH / IDUNN_RUDP_HEALTH, and -OdinCultMeshUri comes from STONKS_ODIN_CULTMESH_URI.
  • Spotiverse no longer writes latest-surface.json or latest-spotify-state.json by default, and no longer hydrates playback state from latest-spotify-state.json on boot by default. --write-debug-json / SPOTIVERSE_WRITE_DEBUG_JSON=1 and --read-debug-json / SPOTIVERSE_READ_DEBUG_JSON=1 are explicit debug/migration paths; the durable surface witness is the CultMesh .ccmp store.
  • 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.json by default. The accepted network surface is persisted to the Odin CultMesh store, and the JSON surface export requires --write-debug-surface-json or ODIN_WRITE_DEBUG_SURFACE_JSON=1.
  • Weksa no longer reads docs/fixtures/weksa-provider-advertisement.json as live daemon provider truth. The daemon constructs the live gamecult.eve.provider_advertisement.v1 from 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, or repixelizer-gui.service as live daemon truth. The live GUI runtime writes provider, surface, queue/job, command-boundary, transport-profile, and idunn.daemon_health records to its configured .cc store, and missing Idunn RUDP health remains visible missing publication.
  • Idunn swarm targets no longer carry health_command as part of the target contract, desired daemon records publish health_command: None, transport profiles report debug_mechanism: none, and --health-command is 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. The serve process owns Idunn health publication over CultNet/RUDP; --health remains an explicit diagnostic publisher, not a transport/profile shortcut.
  • Idunn's README no longer teaches --health-command or 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-nodes or legacy-node-groups compatibility 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.v1 as 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 RepixelizerVerseRuntime and repixelizer.service.cc as the live daemon-owned witness while keeping the provider-advertisement fixture read-only.
  • StreamPixels now accepts typed streampixels.command_request.v1 CultMesh command documents for preview-event, routes them through EventService.applyPreviewEvent, and writes streampixels.command_receipt.v1 receipts. /api/admin/preview-event is 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 AetheriaEveCommandBridge already 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.2 Idunn/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-ops and VoidBot offsite-backup docs/scripts no longer teach Raven's old LAN IP or a named Qwen box as the backup target. VoidBot already requires OFFSITE_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-daemon
  • node --check E:\Projects\Odin\src\hermodr-daemon.cjs
  • node --check E:\Projects\Odin\src\odin\documents.cjs
  • node --check E:\Projects\Odin\src\odin\marquee.cjs
  • node --check E:\Projects\Odin\src\odin\config.cjs
  • node --check E:\Projects\Odin\src\odin\state.cjs
  • node --check E:\Projects\Odin\src\odin-coordinator.cjs
  • node --check E:\Projects\Odin\src\odin\interfaces.cjs
  • rg -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.ps1 returned 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\scripts only 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.ps1 and scripts\restart-hermodr.ps1 after adding -sleipnirProviderId.
  • Hermodr Sleipnir command smoke started a temporary target-local Hermodr with --sleipnirProviderId sleipnir.input-mirror.starfire, verified a configured command wrote sleipnir.input_mapping.v1 to the CultMesh store, and verified a sleipnir.input-mirror.raven command 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.cjs returned no hits.
  • rg -n -F 'startsWith(\"ws://' E:\Projects\Odin\src\odin\interfaces.cjs returned no hits.
  • node --check E:\Projects\Vili\scripts\vili-daemon.mjs
  • node E:\Projects\Vili\scripts\vili-daemon.mjs --print-provider-advertisement --state-root E:\Projects\Vili\.vili-test-codex printed a provider advertisement whose only provider endpoint is the cultmesh-store witness and whose HTTP/WS routes are debugLowerings.
  • node --check E:\Projects\Vili\scripts\smoke-vili.mjs
  • node E:\Projects\Vili\scripts\smoke-vili.mjs exits 2 without VILI_URL or positional base URL.
  • node E:\Projects\Vili\scripts\vili-daemon.mjs --print-provider-advertisement --host 0.0.0.0 --port 8824 shows the cultmesh-store endpoint and local 127.0.0.1:8824 debug lowerings, with no 10.77.0.4:8824 baked URL.
  • Temporary Vili daemon boot without --write-debug-sidecars wrote vili.service.cc, vili-daemon.pid, and jobs, and did not write provider-advertisement.json, operator-state.json, eve-operator-surface.json, command-boundary.json, transport-profile.json, or backend-status.json.
  • Temporary Vili daemon boot with --write-debug-sidecars wrote the explicit debug JSON sidecars.
  • cmd /c scripts\health-vili.cmd exits 2 as an archived HTTP health probe.
  • cargo test -p muninn-daemon serve_accepts_odin_cultmesh_rudp_startup_target
  • rg -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.cc and does not recreate provider-advertisement.cc, operator-state.cc, eve-surfaces.cc, command-boundary.cc, transport-profile.cc, or cultmesh-publications.cc.
  • Temporary Weksa daemon boot with --write-debug-json wrote the explicit debug JSON mirrors.
  • Temporary Weksa daemon boot with --write-debug-json verified the live provider advertisement is mode: daemon-live, contains the MiMo VoiceDesign command boundary with acceptedByDaemon: true, and contains no fixture-read-only, acceptedByFixture, or Fixture exports language.
  • 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.md returned no hits.
  • PowerShell parse checks passed for E:\Projects\weksa\scripts\start-weksa-daemon.ps1 and E:\Projects\weksa\scripts\restart-weksa-daemon.ps1 after removing the localhost Idunn health default.
  • powershell.exe -NoProfile -ExecutionPolicy Bypass -File E:\Projects\weksa\scripts\start-weksa-daemon.ps1 with WEKSA_IDUNN_RUDP_HEALTH unset exits nonzero before starting the daemon and reports that -IdunnRudpHealth or WEKSA_IDUNN_RUDP_HEALTH is required.
  • Source/doc scan of Weksa launchers and Odin Idunn docs for 127.0.0.1:17870, stale Weksa command-ingress debt wording, and IdunnRudpHealth = "127 returned no hits; the only remaining 127.0.0.1:17870 hit is this inventory note.
  • Weksa command-ingress scan now verifies the live daemon publishes a CultMesh command route and no longer exposes --mimo-command-json or sendWeksaMimoVoiceDesignCommand as direct RUDP client shortcuts.
  • PowerShell parse check passed for E:\Projects\Odin\scripts\restart-vili.ps1 after replacing the HTTP operator-state health wait with Raven-local daemon state file verification.
  • node --check E:\Projects\Odin\src\odin\config.cjs
  • node --check E:\Projects\Odin\src\odin-coordinator.cjs
  • Inline buildConfig smoke verified writeDebugSurfaceJson is false by default and true with --write-debug-surface-json or ODIN_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.md shows the JSON write is guarded by config.writeDebugSurfaceJson.
  • cargo test -p idunn-daemon -p odin-core
  • rg -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.rs returned no hits.
  • cargo test -p muninn-daemon
  • rg -n -e "health_command" -e "muninn --health --store" -e "command-probe exit semantics" E:\Projects\Odin\crates\muninn-daemon\src\main.rs returned 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.md returned no hits.
  • git -C E:\Projects\Vili diff --check -- scripts/vili-daemon.mjs docs/verse-service-contract.md passed with CRLF normalization warnings only.
  • node E:\Projects\VoidBot\node_modules\typescript\bin\tsc -b --pretty false
  • node --check E:\Projects\VoidBot\scripts\publish-idunn-rudp-health.cjs
  • PowerShell parse check passed for E:\Projects\VoidBot\scripts\run-gamecult-orchestrator.ps1 after removing the localhost Idunn health default.
  • node E:\Projects\VoidBot\scripts\publish-idunn-rudp-health.cjs with VOIDBOT_IDUNN_RUDP_HEALTH unset exits nonzero and reports that --endpoint or VOIDBOT_IDUNN_RUDP_HEALTH is required.
  • Select-String -SimpleMatch across VoidBot health publisher and orchestrator wrapper found no 127.0.0.1:17870; the only localhost default hit 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.ts
  • node --check E:\Projects\Odin\src\odin\probes.cjs
  • node --check E:\Projects\Odin\src\odin\state.cjs
  • node --check E:\Projects\Odin\src\odin\surface.cjs
  • Mocked Odin state build with NODE_PATH=E:\Projects\CultLib\packages verified Nightwing becomes active from provider evidence and Yggdrasil remains waiting without 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.md now only finds the WebSocket bridge's net.createConnection.
  • cargo test -p idunn-daemon
  • cargo test -p muninn-daemon
  • C:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe scripts/check-syntax.cjs
  • C:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe --check src\stonks-daemon.cjs
  • C:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe --check src\spotiverse-daemon.cjs
  • C:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe --check scripts\export-provider-advertisement.cjs
  • C:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe --check tools\provider-advertisement.mjs in E:\Projects\Bifrost
  • C:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe tools\provider-advertisement.mjs print checked for absence of compatibility-eve-deck, websocket-bridge, and ws://192.168.1.66:8797/eve/deck
  • C:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe tools\provider-advertisement.mjs print-binding checked for absence of compatibility-eve-deck, websocket-bridge, and ws://192.168.1.66:8797/eve/deck
  • C:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe --check scripts\render-voidbot-swarm-dashboard.mjs
  • C:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe scripts\render-voidbot-swarm-dashboard.mjs
  • C:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe scripts\export-voidbot-provider-advertisements.mjs --check
  • C:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe ./node_modules/typescript/bin/tsc -p tsconfig.json --noEmit in E:\Projects\Heimdall
  • C:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe ..\..\node_modules\typescript\bin\tsc -p tsconfig.json --noEmit in E:\Projects\StreamPixels\apps\service
  • C:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\python\python.exe -m py_compile src\repixelizer\verse_state.py
  • E:\Projects\repixelizer\.venv\Scripts\python.exe -m pytest tests\test_verse_state.py passed 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.mjs
  • C:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe --check scripts\smoke-vili.mjs
  • C:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe --check scripts\weksa-daemon.mjs
  • node node_modules\typescript\bin\tsc -b --pretty false in E:\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 the gamecult-ops audit 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.cjs returned no hits.
  • dotnet build .\src\Gjallar\Gjallar.csproj
  • dotnet build .\src\Mimir.EveDashboard\Mimir.EveDashboard.csproj in E:\Projects\Mimir
  • dotnet build .\src\Mimir.EveBrowserReference\Mimir.EveBrowserReference.csproj in E:\Projects\Mimir
  • dotnet build .\src\Mimir.Runtime\Mimir.Runtime.csproj in E:\Projects\Mimir
  • dotnet build .\src\Mimir.EveDashboard\Mimir.EveDashboard.csproj --no-restore in E:\Projects\Mimir-obs-muninn-branch
  • dotnet build .\src\Mimir.RavenDaemon\Mimir.RavenDaemon.csproj --no-restore in E:\Projects\Mimir-obs-muninn-branch
  • dotnet build .\src\Mimir.FensalirDaemon\Mimir.FensalirDaemon.csproj in E:\Projects\Mimir-obs-muninn-branch
  • dotnet build .\src\Mimir.EveDashboard\Mimir.EveDashboard.csproj --no-restore in E:\Projects\Mimir-raven-build
  • dotnet build .\src\Mimir.Muninn\Mimir.Muninn.csproj --no-restore in E:\Projects\Mimir-raven-build
  • dotnet build .\src\Mimir.FensalirDaemon\Mimir.FensalirDaemon.csproj in E:\Projects\Mimir-raven-build
  • cargo test -p odin-core idunn_records_round_trip_through_cultmesh
  • cargo test -p muninn-daemon runtime_boundary_records_use_explicit_activation_store_path
  • dotnet build .\src\ymir-daemon\ymir-daemon.csproj in E:\Projects\Ymir
  • dotnet test in E:\Projects\Ymir passed 23 tests.
  • dotnet run --project .\src\ymir-daemon -- publish-service --path .ymir\service.cc in E:\Projects\Ymir
  • rg -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 -S in E:\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 -S in E:\Projects\Aetheria returned 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.ps1 in E:\Projects\Aetheria failed before Ymir checks on existing MainMenu must read Verse host settings through the typed document handle.
  • dotnet run --project .\Aetheria.State.Verify\Aetheria.State.Verify.csproj --no-restore in E:\Projects\Aetheria compiled far enough to run verifier checks and failed later on existing provider-advertisement state refs in RequireDaemonVersePublication; the updated Ymir HTTP guard did not trigger.
  • dotnet build .\Assembly-CSharp.csproj /clp:ErrorsOnly /p:UseSharedCompilation=false in E:\Projects\Aetheria failed on existing missing AetheriaRuntimeEveSurfaceAdvertisement; one parallel build also hit locked obj\Debug\UniRx.dll.
  • dotnet build .\Tests.csproj /clp:ErrorsOnly /p:UseSharedCompilation=false in E:\Projects\Aetheria failed on existing missing AetheriaRuntimeEveSurfaceAdvertisement.
  • node node_modules\typescript\bin\tsc -p apps\service\tsconfig.json --noEmit in E:\Projects\StreamPixels
  • StreamPixels verse-state smoke with STREAMPIXELS_CULTCACHE_PATH=.streampixels-data\cultcache\codex-smoke.service.cc wrote the store through publishStreamPixelsVerseState.
  • inspectCultCacheBytes on the StreamPixels smoke store found streampixels.command_boundary.v1, streampixels.transport_profile.v1, gamecult.eve.provider_advertisement.v1, and idunn.daemon_health.v1.
  • pnpm install in E:\Projects\Heimdall restored local links and updated pnpm-lock.yaml; pnpm exited nonzero only because build-script approval for esbuild@0.27.7 is enforced in this environment.
  • node node_modules\typescript\bin\tsc -p tsconfig.json --noEmit in E:\Projects\Heimdall
  • node node_modules\vitest\vitest.mjs run --config vitest.config.ts tests/verse-runtime.test.ts in E:\Projects\Heimdall
  • node node_modules\vitest\vitest.mjs run --config vitest.config.ts in E:\Projects\Heimdall passed 29 tests.
  • Heimdall verse-state smoke with GC_ACCESS_CULTCACHE_PATH=.heimdall-data\cultcache\codex-smoke.service.cc wrote the store through publishHeimdallVerseState.
  • inspectCultCacheBytes on the Heimdall smoke store found gamecult.eve.provider_advertisement.v1, heimdall.command_boundary.v1, heimdall.transport_profile.v1, and idunn.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.ts returned no hits.
  • Active-service scan for STORE_FORMAT_VERSION, writeCultCacheSnapshot, CultCacheRecord, and hand-built schema catalog JSON across E:\Projects found 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-restore in E:\Projects\Mimir
  • rg -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.cs returned no hits.
  • node --check web\surface.js in E:\Projects\Eve
  • rg -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.md returned no hits.
  • powershell -ExecutionPolicy Bypass -File .\scripts\build-android.ps1 in E:\Projects\Eve built artifacts\android\eve-debug.apk; the script printed two findstr command-not-found diagnostics plus Java/Kotlin deprecation warnings, but exited 0.
  • Select-String scan for 192.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, and VoidBot Live across 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.md returned no hits.
  • git -C E:\Projects\Eve diff --check -- Sources/EVEViewController.mm README.md passed with CRLF normalization warnings only.
  • dotnet build .\src\Mimir.VerseRecorder\Mimir.VerseRecorder.csproj --no-restore in E:\Projects\Mimir
  • dotnet run --project .\src\Mimir.VerseRecorder\Mimir.VerseRecorder.csproj --no-build -- --seconds 0.01 in E:\Projects\Mimir exits 2 and prints that --url is 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.py in E:\Projects\Mimir
  • C:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\python\python.exe tools\nightwing_typed_witness_publisher.py --once in E:\Projects\Mimir exits 2 and reports required --url.
  • Select-String scan for ws://127.0.0.1:8796/eve/periwinkle/subscribe, ws://192.168.1.66:8796/eve/periwinkle, parser.add_argument("--url", default, and ParseString(args, "--url", "ws:// across Mimir.VerseRecorder, nightwing_typed_witness_publisher.py, and start-nightwing-move-tracking.ps1 returned no hits.
  • powershell -NoProfile -ExecutionPolicy Bypass -File E:\Projects\Mimir\scripts\start-nightwing-move-tracking.ps1 -DryRun exits 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/subscribe shows the receiver, recorder, and Nightwing publisher using only the supplied URLs.
  • Select-String scan for StarfireHost, 192\.168\.1\.66, ws://127\.0\.0\.1:\$Port, witnessUrl = "ws://, and subscribeUrl = "ws:// in E:\Projects\Mimir\scripts\start-nightwing-move-tracking.ps1 returned 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.py in E:\Projects\gamecult-ops
  • C:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\python\python.exe scripts\nightwing-visible-ops-tui.py --help and ... scripts\nightwing-visible-ops-fb.py --help show 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.providers and ... scripts\nightwing-visible-ops-fb.py --frames 1 exit 2 without --url.
  • Select-String scan for ws://192.168.1.66:8797/eve/deck, GAMECULT_VISIBLE_OPS_URL:-ws, and --url", default across gamecult-ops visible-ops lowerers returned no hits.
  • Shell syntax for gamecult-ops visible-ops launchers was not executed locally because the only bash.exe is the WSL shim and WSL is unavailable in this environment; the changed shell blocks were inspected and the removed LAN default was scanned.
  • Select-String scan for ws://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, and compatibility HTTP/WebSocket deck bridge across E:\Projects\Odin\README.md, docs\gjallar.md, and docs\architecture.md returned 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, and E:\Projects\weksa\scripts\restart-weksa-daemon.ps1.
  • cargo test -p idunn-daemon passed 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 for 192.168.1.66:17871, 127.0.0.1:17871, Starfire Odin deck URLs, visible-ops URL defaults, ODIN_BASE_URL, and /eve/deck/providers now returns only this inventory, the gamecult-ops audit 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, and scripts\health-starfire-muninn.ps1 after removing the 192.168.1.66:17870 health default.
  • cargo test -p idunn-daemon passed 16 tests after replacing Idunn's embedded Raven Muninn health endpoint steering text with configured-endpoint language and adding negative assertions against 192.168.1.66:17870.
  • cargo test -p idunn-daemon passed 17 tests after replacing Idunn's swarm surgery plan source-address lore (10.77.0.x and 127.0.0.1 acceptance 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.rs now 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.ps1 and scripts\restart-odin.ps1 after removing the localhost Idunn health default.
  • powershell.exe -NoProfile -ExecutionPolicy Bypass -File E:\Projects\Odin\scripts\start-odin.ps1 with ODIN_IDUNN_RUDP_HEALTH and IDUNN_RUDP_HEALTH unset exits nonzero before starting Odin and reports that an explicit Idunn RUDP health endpoint is required.
  • Select-String across Odin, Weksa, Vili, and gamecult-ops script targets plus Odin README/Muninn docs for 127.0.0.1:17870, 10.77.0.2:17870, 192.168.1.66:17870, and localhost-shaped IdunnRudpHealth defaults returned no hits.
  • PowerShell parse check passed for E:\Projects\Stonks\scripts\start-stonks.ps1 after removing localhost Idunn/Odin RUDP defaults.
  • powershell.exe -NoProfile -ExecutionPolicy Bypass -File E:\Projects\Stonks\scripts\start-stonks.ps1 with STONKS_IDUNN_RUDP_HEALTH and IDUNN_RUDP_HEALTH unset exits nonzero before starting Stonks and reports that an explicit Idunn RUDP health endpoint is required.
  • Select-String across Stonks launcher, README, and source for 127.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:17870 recipe returned no hits.
  • Active publication-default scan across Odin, Stonks, VoidBot, Weksa, Vili, and gamecult-ops launch 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:17870 launch recipe. Remaining local 127.0.0.1:17870 references document Idunn's own ingress bind, not child-daemon publication defaults.
  • node --check E:\Projects\Spotiverse\src\spotiverse-daemon.cjs
  • node --check E:\Projects\Spotiverse\scripts\export-provider-advertisement.cjs
  • PowerShell parse check passed for E:\Projects\Spotiverse\scripts\start-spotiverse.ps1 after adding explicit -WriteDebugJson / -ReadDebugJson switches.
  • Spotiverse no-debug smoke started the daemon with a temporary state dir and no debug flags, then verified latest-surface.json and latest-spotify-state.json were not written.
  • Spotiverse debug smoke started the daemon with --write-debug-json, then verified latest-surface.json and latest-spotify-state.json were written only on that explicit path.
  • rg -n -e 'loadLatestSnapshot\(\) \|\|' -e 'Debug witnesses: latest-surface.json, latest-spotify-state.json, and' -e 'currentDebugMirror' -e 'Promote latest-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.cjs now 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, and scripts\health-nightwing-muninn.ps1 after removing the 10.77.0.2:17870 defaults.
  • cargo test -p idunn-daemon passed 16 tests and cargo test -p muninn-daemon passed 141 tests after replacing remaining real Idunn endpoint fixtures/steering text with configured-endpoint language.
  • Bash syntax checks for gamecult-ops deploy scripts could not run locally because bash.exe is the WSL shim and /bin/bash is 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.ps1 after removing Raven media/OBS/OBS catalog Starfire LAN defaults.
  • cargo test -p muninn-daemon passed 141 tests after the Raven Muninn launcher media-target cut.
  • Select-String scan of scripts\restart-muninn.ps1 confirmed no 192.168.1.66 media/OBS endpoint remains; media target comes from MUNINN_MEDIA_TARGET_HOST, OBS target from MUNINN_OBS_TARGET_HOST or the media target, and OBS catalog target from MUNINN_OBS_CATALOG_RUDP_TARGET only.
  • PowerShell parse check passed for scripts\activate-muninn-raven-av-srt.ps1; invoking it with MUNINN_MEDIA_TARGET_HOST and MUNINN_OBS_TARGET_HOST cleared 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.md returned no hits.
  • cargo test -p muninn-daemon passed 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.rs returned 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.md returned 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.md returned no hits.
  • node --check E:\Projects\Odin\src\odin\surface.cjs
  • node --check E:\Projects\Odin\src\odin\layout.cjs
  • rg -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.ps1 after 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.md now finds only this inventory and negative Idunn assertions.
  • PowerShell parse check passed for E:\Projects\gamecult-ops\scripts\check-raven-connectivity.ps1 after 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.csproj passed in E:\Projects\Mimir-raven-build and E:\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.md was 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_compile passed for both active Mimir branch tools\nightwing_typed_witness_publisher.py files.
  • C:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\python\python.exe E:\Projects\Mimir-raven-build\tools\nightwing_typed_witness_publisher.py --once exits 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 Release and the resulting muninn_rudp_url_tests.exe passed 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 Release passed after removing OBS Muninn source endpoint defaults.
  • Corrected Get-ChildItem | Select-String scan across E:\Projects\Mimir, E:\Projects\Mimir-raven-build, and E:\Projects\Mimir-obs-muninn-branch docs/config for 192.168.1.66, 192.168.1.75, 192.168.1.84, Starfire WebSocket/CultNet URLs, TargetHost 192.168.1.66, and audio-field.example.json Raven 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, and WEKSA_DAEMON_BASE_URL now returns only negative Idunn assertions, a Weksa state-map note, and the gamecult-ops audit 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, and WEKSA_DAEMON_BASE_URL still returns only negative Idunn assertions, a Weksa state-map note, and the gamecult-ops audit 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, the gamecult-ops audit detector, and this inventory.
  • node --check E:\Projects\Odin\src\hermodr-daemon.cjs passed after moving Hermodr's Odin input from default HTTP/JSON export to the Odin CultMesh store.
  • PowerShell parse checks passed for scripts\start-hermodr.ps1 and scripts\restart-hermodr.ps1 after replacing -OdinHttpBase / -OdinWsBase with -OdinCachePath / -OdinSurfaceKey.
  • Hermodr CultMesh smoke created a temporary Odin store containing surface:gamecult.network.status, started src\hermodr-daemon.cjs with --odinCachePath, and verified /hermodr/verse/catalog returned the typed smoke.provider surface.
  • 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.csproj and dotnet build .\src\Mimir.VerseRecorder\Mimir.VerseRecorder.csproj passed in both E:\Projects\Mimir-obs-muninn-branch and E:\Projects\Mimir-raven-build after removing the localhost Periwinkle defaults.
  • PowerShell parser checks passed for both active Mimir branch scripts\start-online-verse-daemons.ps1 files.
  • dotnet run --project .\src\Mimir.Well\Mimir.Well.csproj --no-build -- --seconds 0.01 now exits before startup in both active Mimir branches and reports that --publish-url / MIMIR_WELL_PUBLISH_URL is required.
  • dotnet run --project .\src\Mimir.VerseRecorder\Mimir.VerseRecorder.csproj --no-build -- --seconds 0.01 now exits before startup in both active Mimir branches and reports that --url / MIMIR_VERSE_RECORDER_URL is required.
  • start-online-verse-daemons.ps1 -DryRun with only MIMIR_WITNESS_URL set now fails in both active Mimir branches with the required -SubscribeUrl / MIMIR_VERSE_RECORDER_URL message; explicit dry-runs with example Well/Recorder URLs route only the supplied example.invalid endpoints.
  • 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 false passed in E:\Projects\VoidBot after deleting the Weksa RUDP localhost default.
  • VoidBot config smoke verified REPO_FACE_WEKSA_SPEECH_ENABLED=false accepts a blank WEKSA_CULTMESH_COMMAND_URI, while REPO_FACE_WEKSA_SPEECH_ENABLED=true rejects 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\src returned no live shortcut hits.
  • cargo test -p idunn-daemon passed 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 on rudp://"` 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.ts localhost 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_ENDPOINTS localhost 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.md returned 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.md passed with CRLF normalization warnings only.
  • node --check tools\provider-advertisement.mjs passed in E:\Projects\Bifrost after replacing the local Odin publication endpoint example.
  • node tools\provider-advertisement.mjs --help now shows $env:BIFROST_ODIN_CULTMESH_URI="cultmesh://odin/rendezvous/provider-catalog"; node tools/provider-advertisement.mjs publish-odin instead 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.md returns no active publication path outside removed-config guards and this inventory.
  • node --check tools\provider-advertisement.mjs passed in E:\Projects\Bifrost after making HTTP health/readiness probes explicit, and node tools\provider-advertisement.mjs print-surface --generated-at 2026-07-03T00:00:00.000Z reports status: "unprobed" with health/ready not configured when no probe URLs are supplied.
  • Select-String over E:\Projects\Bifrost\tools\provider-advertisement.mjs now finds no implicit fetchProbe("http://127.0.0.1:5080..."); only the explicit BIFROST_HEALTH_URL / BIFROST_READY_URL controls and help example remain.
  • node --check tools\agent-transport.mjs, node --check tools\dispatch-agent-requests.mjs, node --check tools\governance-threads.mjs, and node --check tools\bifrost-bridge.mjs passed in E:\Projects\Bifrost after deleting the unreceipted/ungated recovery paths.
  • DOTNET_ROLL_FORWARD=Major dotnet test tests\Bifrost.Web.Tests\Bifrost.Web.Tests.csproj --filter FullyQualifiedName~BridgeCliTests --no-restore passed 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.cjs and a PowerShell parser check for E:\Projects\Spotiverse\scripts\start-spotiverse.ps1 passed 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.md returned no active raw Odin publication path outside removed-config guards.
  • node --check E:\Projects\Spotiverse\src\spotiverse-daemon.cjs passed after removing the localhost Heimdall peer default, and rg -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.cjs returned no hits.
  • node --check E:\Projects\Spotiverse\src\spotiverse-daemon.cjs and node --check E:\Projects\Spotiverse\scripts\export-provider-advertisement.cjs passed after promoting Spotiverse command requests/receipts to typed CultMesh documents.
  • Spotiverse CultMesh command smoke started the daemon with a temporary .ccmp, wrote spotiverse.command/requests/codex-smoke-command from a separate CultMesh node, and observed spotiverse.command/receipts/codex-smoke-command with source: "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.cjs returned 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.cjs returned 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.md returned no hits.
  • node node_modules\typescript\bin\tsc -p apps\service\tsconfig.json --noEmit passed in E:\Projects\StreamPixels after adding streampixels.command_request.v1 / streampixels.command_receipt.v1 and the service command poller.
  • StreamPixels CultMesh command smoke wrote streampixels.command/requests/codex-smoke from a separate CultMesh node, ran pollStreamPixelsCommandRequests, and observed streampixels.command/receipts/codex-smoke with source: "cultmesh" and status: "accepted".
  • node node_modules\vitest\vitest.mjs run --config vitest.config.ts apps/service/src/app.test.ts passed 28 tests in E:\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.json returned no hits.
  • Get-Content E:\Projects\Aetheria\Packages\org.gamecult.aetheria.state\package.json | ConvertFrom-Json parsed 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.md returned no hits.
  • rg -n "tries ws://127.0.0.1:8792/stream first|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.md returned 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.md confirmed Eve reads explicit EVE_STREAM_URLS and 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.csproj passed in both E:\Projects\Mimir-obs-muninn-branch and E:\Projects\Mimir-raven-build after demoting Fensalir's local Eve/CultMesh WebSocket routes to debug lowerings.
  • PowerShell parser checks passed for both active Mimir branch scripts\start-fensalir-daemon.ps1 launchers.
  • 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.ts no longer uses the live-looking 10.77.0.2:17870 Idunn health fixture; the fixture uses documentation address 203.0.113.10:17870 while preserving endpoint parse and publication behavior.
  • node node_modules\vitest\vitest.mjs run --config vitest.config.ts tests\verse-runtime.test.ts passed in E:\Projects\Heimdall.
  • E:\Projects\VoidBot\docs\persona-intake\sai.persona-intake.yaml no 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-restore passed in standalone E:\Projects\Gjallar after 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-restore passed in standalone E:\Projects\Fensalir after 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_document passed in E:\Projects\EpiphanyAgent\epiphany-core after 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.cjs passed, and C:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\python\python.exe -m py_compile tools\ghostlight_state.py passed 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 live CultMesh/Odin provider discovery phrase.
  • node --check src\loki-daemon.mjs, node --check test\fixture-cdp-smoke.mjs, node --check test\extension-ingest-smoke.mjs, and node --check test\cultmesh-store.mjs passed in E:\Projects\Loki after replacing Loki's text .cc witness writer with typed CultMesh store publication.
  • node test\fixture-cdp-smoke.mjs and node test\extension-ingest-smoke.mjs passed in E:\Projects\Loki; both smokes read Loki records back from state/loki.service.ccmp through CultMesh.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\Loki returned no hits after the Loki CultMesh promotion.
  • Guarded deletion removed the untracked runnable stale E:\Projects\Mimir\scratch\raven-daemon-build tree after verifying it was untracked and contained 699 files under E:\Projects\Mimir\scratch; a follow-up git -C E:\Projects\Mimir status --short -- scratch\raven-daemon-build returned 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, and restart-muninn.ps1 after 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, and restart-vili.ps1 failed 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, and restart-muninn.ps1 failed at the Idunn actuator guard before any remote or local restart action.
  • Direct no-env probes of restart-stonks.cmd, restart-weksa.cmd, and restart-voidbot.cmd failed 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, and restart-nightwing-eve-dashboard.cmd failed 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, and deploy-yggdrasil-repixelizer.ps1 after tightening deploy guards to require IDUNN_COMMAND_AUTHORITY=idunn-daemon as well as IDUNN_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_ACTUATOR and IDUNN_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-daemon to the remote deploy call.
  • Static residue scan over gamecult-ops Yggdrasil deploy bodies found no remaining git clone, target-host git fetch, git checkout, reset --hard, REPO_URL, or BRANCH fallback path in StreamPixels/Repixelizer, and confirmed all three remote bodies require GAMECULT_IDUNN_REMOTE_ACTUATOR plus IDUNN_COMMAND_AUTHORITY.
  • git diff --check passed for the touched Odin deploy wrappers and gamecult-ops Yggdrasil remote deploy bodies/README; Git reported only expected LF-to-CRLF working-copy warnings.
  • cargo test -p idunn-daemon passed 17 tests after the Idunn restart actuator guard cut.
  • node --check src\odin\config.cjs and node scripts\check-syntax.cjs passed 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.md no 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.mjs passed 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, ran weksa-daemon.mjs --health, received state: healthy with the temp store path, and confirmed the deleted top-level text witnesses were not recreated.
  • Select-String over E:\Projects\weksa\scripts\weksa-daemon.mjs and E:\Projects\weksa\docs\verse-service-contract.md found 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.cc in the exported witness list.
  • node --check E:\Projects\Bifrost\tools\provider-advertisement.mjs, node --check E:\Projects\Odin\src\odin\config.cjs, and node E:\Projects\Odin\scripts\check-syntax.cjs passed after the Bifrost provider-store rename.
  • Focused Bifrost/Odin scan found no remaining Bifrost provider-advertisement.cc route/docs/tool references; remaining hits now point to .bifrost/provider-store.cc producer/export documentation, not an Odin default store path.
  • Odin config smoke verified buildConfig([]) has no default interface store imports, while ODIN_INTERFACE_BINDING_STORES=cultmesh-store:file:///E:/Projects/Odin/scratch/odin/odin.ccmp is preserved as an explicit local debug CultMesh store URI.
  • node E:\Projects\Odin\scripts\check-syntax.cjs passed after cutting Odin's repo-local and C:\Meta\Odin\state\... default interface store imports.
  • powershell.exe -NoProfile -ExecutionPolicy Bypass -File E:\Projects\Odin\scripts\health-idunn-swarm-deployment-coverage.ps1 now reports 20 cataloged targets and 30 cataloged actuator paths, and fails if any guarded deploy-*/restart-* script with IDUNN_ACTUATOR is missing from the Idunn catalog/alias/shared-actuator set.
  • cargo test -p idunn-daemon passed 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, and scripts\start-starfire-sleipnir.ps1 after removing the Raven IP and local Odin discovery-store defaults.
  • cargo test -p sleipnir-daemon passed 16/16 after the Sleipnir launcher cleanup.
  • Focused scan of scripts\deploy-raven-sleipnir.ps1, scripts\restart-raven-sleipnir.ps1, and scripts\start-starfire-sleipnir.ps1 found no active 192.168.1.84 defaults or default E:\Projects\Odin\scratch\odin\odin.ccmp discovery-store path; remaining hits are inventory history/debug notes and the explicit --discovery-store parameter gate.
  • Active Odin-clean-move-identity worktree checks verified all deploy/restart .ps1 bodies and .cmd wrappers require IDUNN_COMMAND_AUTHORITY, no actuator scripts retain 192.168.1.66:17871, 10.77.0.2:17870, 127.0.0.1:17870, 10.77.0.4, or default 10.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.md returned 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' over gamecult-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_STORE despite fetchOdinSnapshot naming, 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.md passed after the localhost-probe boundary note.
  • Sidecar/fixture scan classified Odin's latest-surface.json writer 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.md passed 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 .env without printing secrets and verified REPO_FACE_WEKSA_SPEECH_ENABLED=true fails without WEKSA_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.md passed.
  • node node_modules\vitest\vitest.mjs run --config vitest.config.ts tests\app.test.ts passed 22 tests and node node_modules\typescript\bin\tsc -p tsconfig.json --noEmit passed 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 (StreamPixels web/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 (Vili Kimodo worker), or deployment/readiness probes (Bifrost, gamecult-ops).
  • PowerShell parser checks passed for scripts\restart-muninn.ps1 after 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.rs returned no hits after the Raven launcher cuts.
  • cargo test -p odin-core discovery passed after replacing the remaining live-looking 192.168.1.66:17888 discovery 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.md returned 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, and E:\Projects\Mimir-obs-muninn-branch\scripts\start-raven-daemon.ps1 after removing the 10.77.0.1 / 10.77.0.2 defaults.
  • dotnet build .\src\Mimir.CultMeshMedia\Mimir.CultMeshMedia.csproj --no-restore, dotnet build .\src\Mimir.Muninn\Mimir.Muninn.csproj --no-restore, and dotnet build .\src\Mimir.RavenDaemon\Mimir.RavenDaemon.csproj --no-restore passed after making Mimir media relay/target endpoints explicit.
  • Negative smokes confirmed Mimir.CultMeshMedia send fails without --endpoint / --host, and Mimir.Muninn / Mimir.RavenDaemon fail 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, and Mimir-obs-muninn-branch media 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 (VoidBot Qdrant/Ollama and AquaSynth IPA worker), or negative Idunn assertions against old endpoint strings.
  • rg -n -F for old WireGuard/LAN URL forms over Brokkr, Huginn, Norn, Loki, and Sindri source/script/doc surfaces returned no hits.
  • rg -n -F for 10.77.0.1, 10.77.0.2, 192.168.1.66, and 192.168.1.84 over 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, the gamecult-ops audit detector string, CultLib protocol-level compatibility.transport_version fields, 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, and E:\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-branch docs 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-missing placeholder with an empty media host and sanitizes stale 10.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 to transportEndpoint; the Odin-hosted deck path has now been deleted outright. src\odin\interfaces.cjs and src\odin\provider-ingress.cjs ignore non-CultMesh/CultNet provider.endpoint values 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, and scripts\health-hermodr.ps1 now 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 --check passed for src\odin-coordinator.cjs, src\odin\config.cjs, src\hermodr-daemon.cjs, and scripts\write-gjallar-persona-cc.mjs; node scripts\check-syntax.cjs checked the remaining 15 Odin CommonJS files after deleting src\odin\websocket.cjs.
  • Odin operator layout intent no longer writes durable truth to scratch\odin\interface-layout.json. odin.interface_layout.v1 is now a typed document in Odin's CultMesh store under record key odin.providers; the old JSON file is migration input only. Renderer WebSocket odin-layout-intent frames call the async layout store and receive odin-command-rejected frames if the CultMesh write fails instead of silently becoming a sidecar owner.
  • Odin layout smoke created a temp odin.ccmp, seeded an old interface-layout.json, verified the layout migrated into odin.interface_layout.v1, applied a renderer toggle intent, and observed the updated tile in the CultMesh record. node scripts\check-syntax.cjs passed for all 16 CommonJS files after the layout promotion.
  • Spotiverse no longer accepts command authority through HTTP /commands/add-to-queue or Eve WebSocket spotiverse-command frames. The HTTP route now returns 410 command_route_removed, the WebSocket frame returns command_frame_removed, the old HTTP handler functions were deleted, and the only remaining executeCommand caller is the CultMesh spotiverse.command_request.v1 poller. Spotiverse's provider advertisement now uses a cultmesh: provider endpoint and no command debug lowerings.
  • node --check passed for E:\Projects\Spotiverse\src\spotiverse-daemon.cjs and E:\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/generate for motion generation, and its command boundary no longer names HTTP POST as intake. scripts\vili-daemon.mjs now polls gamecult.vili.motion_request.v1 from the Vili CultMesh store, processes requests through the existing Kimodo job path, and writes gamecult.vili.motion_job.v1 receipts. POST /motion/generate remains only as a 410 command_route_removed tombstone.
  • node --check E:\Projects\Vili\scripts\vili-daemon.mjs passed; focused scans found no href/path/source/lowersTo active HTTP motion-command residues in Vili source/docs. Runtime smoke started Vili in a temp state dir, verified POST /motion/generate returns HTTP 410, wrote an invalid gamecult.vili.motion_request.v1 document into vili.service.cc, and observed exactly one deterministic gamecult.vili.motion_job.v1 receipt (jobId: vili-codex-invalid, state: failed) plus motionCommands.pendingRequests: 0 / failedRequests: 1 in 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 in src\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, and node scripts\check-syntax.cjs passed in E:\Projects\Odin-clean-move-identity.
  • PowerShell parser checks passed in E:\Projects\Odin-clean-move-identity for scripts\start-odin.ps1, scripts\health-muninn.ps1, scripts\health-nightwing-muninn.ps1, scripts\health-starfire-muninn.ps1, and scripts\start-starfire-wireguard-elevated.ps1.
  • git -C E:\Projects\Odin-clean-move-identity diff --check -- README.md docs/gjallar.md scripts src passed; Git reported only expected LF-to-CRLF working-copy warnings.
  • rg -n -F over E:\Projects\Gjallar-rollback for 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-restore passed in E:\Projects\Gjallar-rollback, and dotnet run --project .\src\Gjallar\Gjallar.csproj --no-build produced the archived-transport tombstone and exited with the expected code 2.
  • rg -n -F over E:\Projects\Mimir-obs-muninn for 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 state and git -C E:\Projects\Gjallar-rollback diff --check -- README.md src state passed; 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, Odin Port = 8797, and --port ... 8797 returned 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, and scripts\start-hermodr.ps1 after the Odin side-door cut.
  • git -C E:\Projects\Odin diff --check -- README.md docs scripts src passed 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 for E:\Projects\Stonks\scripts\start-stonks.ps1, focused Stonks scan for the old HTTP/WebSocket listener/routes, and git -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 for scripts\start-raven-daemon.ps1, and focused scan over src\Mimir.RavenDaemon\Program.cs, scripts\start-raven-daemon.ps1, docs\raven-capture-mux-daemon.md, and state\map.yaml for 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 for scripts\start-fensalir-daemon.ps1, and focused scan over src\Mimir.FensalirDaemon\Program.cs, scripts\start-fensalir-daemon.ps1, docs\fensalir-reservoir-daemon.md, and state\map.yaml for 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 over src\Mimir.EveDashboard\Program.cs and docs\eve-dashboard.md for the removed listener, HTTP/deck routes, frame-command path, compatibility endpoint, launch-time external provider registration, and WebSocket broker residue, plus git diff --check on the touched EveDashboard files.
  • Active Mimir branch online supervisor follow-through verification passed: PowerShell parser checks for scripts\start-online-verse-daemons.ps1 and scripts\start-fensalir-daemon.ps1, dotnet build for 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 for scripts\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.Well no longer imports System.Net.WebSockets, constructs a ClientWebSocket, accepts --publish-url, reads MIMIR_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_CACHE and writes typed mimir.well_published_document.v1 envelopes into CultCache for Odin discovery.
  • scripts\start-online-verse-daemons.ps1 now passes Well a run-local mimir-well.ccmp cache instead of a publish URL, and its supervisor manifest no longer advertises debug WebSocket lowerings or URL fields as service routes. The stale generated artifacts\runtime\online-verse-daemons-20260703-083019\supervisor.json residue 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 for scripts\start-online-verse-daemons.ps1, git diff --check on the touched Well/supervisor/map files, and focused scans found no remaining Well ClientWebSocket, --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.EveSensorReceiver no longer exposes /eve/periwinkle/subscribe, maintains WebSocket subscribers, or broadcasts normalized records over a daemon-owned subscriber socket. It publishes accepted observations as typed mimir.sensor_relay_observation.v1 CultMesh/CultCache records instead.
  • Mimir.VerseRecorder no longer imports System.Net.WebSockets, constructs a ClientWebSocket, accepts --url, or reads MIMIR_VERSE_RECORDER_URL. It now requires --cultmesh-cache / MIMIR_SENSOR_RELAY_CULTMESH_CACHE, follows the relay cache, and writes the same session.json / observations.jsonl / paged body index outputs from typed relay records.
  • scripts\start-online-verse-daemons.ps1 now creates a run-local eve-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 --check on 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.py no longer implements a hand-rolled WebSocket client, accepts --url, reads MIMIR_WITNESS_URL, or sends observations directly to Mimir.EveSensorReceiver. It now emits length-prefixed MessagePack mimir.eve_sensor_observation.v1 payloads to stdout for local diagnostics/future CultMesh sender plumbing, so it cannot act as a daemon transport shortcut.
  • scripts\start-online-verse-daemons.ps1 no longer stages or starts the Nightwing remote witness publisher, and the old start-stream-proof.ps1 / start-mvp-leap-eyes-kiyo.ps1 launchers 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_compile for tools\nightwing_typed_witness_publisher.py, PowerShell parser checks for the touched launchers, git diff --check on the touched Nightwing/script/doc/map files, and focused scans found no remaining MIMIR_WITNESS_URL, witness --url, nightwing_typed_witness_publisher.py --url, or old ws://<receiver-host>:8796/eve/periwinkle route 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.EveSensorReceiver for eve-camera / eve-mic, and the 8793 /eve/camera plus 8794 /eve/mic receiver paths were removed from source-owned config/docs. Mimir.EveSensorReceiver itself is now a fail-closed archive stub; stale invocations cannot open the old sensor ingress listener.
  • scripts\start-online-verse-daemons.ps1 no 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.json and config\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 for scripts\start-online-verse-daemons.ps1, git diff --check on the touched config/receiver/docs/map files, and focused scans found no remaining /eve/camera, /eve/mic, 8793, 8794, or Mimir.EveSensorReceiver --port route residue outside archive/tombstone references and this inventory.
  • Active Mimir branch Eve dialogue/program-output/public-edge side-door cut: Mimir.EveDialogue, Mimir.EveRelay, and Mimir.Broadcast are now fail-closed archive stubs. They no longer contain hand-rolled WebSocket stream servers, D3D12-to-H.264 /stream relay code, reverse-tunnel launcher plumbing, or direct RTMP/HLS edge publishing logic.
  • scripts\start-eve-dashboard-stream.ps1 is now an archive stub, the Mimir runtime output panel no longer exposes Live / Stop streaming controls or /program/output/streaming/* command/read bindings, and MimirProgramStreamer no longer knows a default RTMP target or launches Mimir.Broadcast. The Well stream-pressure status string was corrected from the old WebSocket/JSON label to cultmesh-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 for scripts\start-eve-dashboard-stream.ps1, git diff --check on the touched relay/broadcast/runtime/docs/map files, and focused scans found no remaining active MIMIR_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.RavenDaemon is 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, and mimir-runtime.example.json had direct Raven/neighbor network source entries removed. audio-field.example.json now models the neighbor dialogue anchor as CultMeshMedia with a cultmesh://odin/... URI instead of transport.kind = SRT, and localcast.example.json is 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 --check on the touched Raven/localcast config/script/doc/map files, and focused scans found no active srt://, 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, or Muninn Audio sources. The plugin now registers only Mimir Program Texture and Mimir 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, and muninn_rudp_url_tests.cpp are deleted; CMakeLists.txt no longer builds the Muninn media decoder probe or URL test target and no longer links the plugin against ws2_32. tools\muninn_media_decoder_probe.cpp and scripts\restart-obs-muninn-source.ps1 are 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 for scripts\restart-obs-muninn-source.ps1, git diff --check on the touched OBS plugin/script/doc/probe files, and focused scans found no active rudp://, 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.WellObsDaemon is now a fail-closed archive stub instead of tailing mimir.well_capture_page.v1 JSON logs and republishing audio stems to Local\MimirObsStemBus. scripts\start-well-obs-daemon.ps1 is 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.csproj after restore, git diff --check on 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-restore initially failed only because src\Mimir.WellObsDaemon\obj\project.assets.json was absent; the restore-backed build succeeded.
  • Active Mimir branch Fensalir Well intake side-door cut: Mimir.FensalirDaemon no 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_CACHE and follows mimir.well_published_document.v1 envelopes from the Well CultMesh cache. The shared MimirWellPublishedDocument contract moved into Mimir.Runtime so 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.ps1 uses --well-cultmesh-cache $WellCultMeshCache, and scripts\start-fensalir-daemon.ps1 requires -WellCultMeshCache / MIMIR_WELL_CULTMESH_CACHE instead 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 for scripts\start-fensalir-daemon.ps1 and scripts\start-online-verse-daemons.ps1, git diff --check on the touched Fensalir/Well/runtime/script/doc/map files, and a negative smoke confirmed dotnet 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.BuiltIn now 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-bridge observe-only authority rule, DiagnosticSrtBridge publication 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: MimirEveProgramOutputConfiguration dropped TargetHost/TargetPort and the Moonlight/Sunshine diagnostic profile, the unused BrowserDiagnostics witness 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.csproj after 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 --check on 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: MimirRuntimeConfiguration no longer constructs frame-events, json-lines, ffmpeg-rawvideo, rawvideo-process, ffmpeg-pcmaudio, pcmaudio-process, or generic process stream adapters from config. The child-process stdout/JSONL/FFmpeg stream-source classes were deleted, and Mimir.BufferSmoke --ffmpeg-rawvideo-source-smoke was removed so tests cannot keep the adapter alive as a backdoor.
  • Mimir runtime config examples no longer advertise process-backed probes: mimir-runtime.example.json contains only native/local sources, mimir-runtime.probes.example.json is ASIO-focused with no JSONL probe subprocesses, mimir-runtime.sync-smoke.example.json is an empty-stream sync settings shell, and mimir-runtime.asio.example.json no 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 all config\mimir-runtime*.json, git diff --check on touched runtime/config/doc files, and focused scans found no remaining active process/FFmpeg/frame-event stream adapter construction, config adapter entries, arguments config knobs, or FFmpeg raw-video smoke route outside this inventory.
  • Active Mimir branch program-recording actuator cut: the runtime Output panel no longer exposes program.record.start, program.record.stop, /commands/program/record/*, or the recording-folder read binding. MimirProgramRecorder is 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 archived scripts\record-stream-proof-output.ps1, git diff --check on touched runtime/doc files, and focused scans found no remaining active program.record command route, MIMIR_RECORD_* knob, StartRavenSender switch, recorder ProcessStartInfo, 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.ps1 no longer launches tools\online_move_music_sync.py, no longer exposes -SkipMoves, -MoveFps, -MoveFftSize, or direct -Move ... /dev/hidraw... parameters, and no longer records a moveSyncPid in 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, and tools\music_keyed_move_chirp_sync.py no longer import ASIO/FFmpeg readers, open SSH sessions, write remote Python receivers, or stream PS Move report 0x06 frames to /dev/hidraw*. tools\sync_sweep.py remains 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 Python py_compile for the three archived tools plus tools\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 --check on touched supervisor/tool/doc/state/runtime files, and focused scans found no remaining active online Move worker launch, Move supervisor parameter, moveSyncPid, or live nightwing_psmove_music_pulse / music_keyed_move_chirp_sync / online_move_music_sync references outside archive stubs, historical evidence, and this inventory.
  • Active Mimir branch EVE program-output SSH probe cleanup: scripts\start-eve-program-output.ps1 no longer accepts -Target eve and 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 from ssh ready to cultmesh.
  • 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 --check on touched launcher/dashboard files, and focused scans found no remaining Checking EVE SSH, mimir-eve-program-output-check, or ssh ready residue 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_host wire field, but it must be a cultmesh:// media target URI. The activation child pulls Odin provider advertisements over CultMesh/RUDP and resolves a provider-owned muninn.media.rudp.v1 endpoint before opening the CultNet RUDP media lane. request-stream now publishes muninn.capture_stream_command.v1 through 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. serve pulls typed capture commands from Odin before processing its local activation persistence and no longer opens a --capture-command-rudp-bind listener.
  • 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.ps1 was removed; scripts\activate-muninn-raven-media.ps1 is a fail-closed archive stub. scripts\restart-muninn.ps1 now redeploys only the serve task, requires -MediaTargetUri / MUNINN_MEDIA_TARGET_URI as a cultmesh:// URI, and unregisters obsolete Raven activation/video-proof scheduled tasks instead of repairing them. scripts\health-muninn.ps1 fails if those obsolete tasks reappear.
  • Odin Muninn media verification passed: cargo test -p muninn-daemon, PowerShell parser checks for scripts\restart-muninn.ps1, scripts\health-muninn.ps1, and scripts\activate-muninn-raven-media.ps1, git diff --check on 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-daemon passed with request_stream_rejects_raw_capture_command_rudp_target, serve_rejects_removed_capture_command_rudp_bind, and request_stream_requires_odin_cultmesh_command_route; stale request-stream --capture-command-rudp-target and serve --capture-command-rudp-bind invocations fail closed; PowerShell parser checks passed for scripts\restart-muninn.ps1 and scripts\health-muninn.ps1; git diff --check -- crates/muninn-daemon/src/main.rs scripts/restart-muninn.ps1 scripts/health-muninn.ps1 docs/transport-shortcut-inventory.md passed; focused scans found no surviving publish_capture_command_rudp, capture-command RUDP bind listener, capture-command frame decoder, launcher CaptureCommandRudp* parameter, active --capture-command-rudp-target, or active --capture-command-rudp-bind path outside intentional removed-flag parser guards/tests and this inventory.
  • Odin Sleipnir launcher side-door cut: scripts\start-starfire-sleipnir.ps1 is now a fail-closed archive stub. Starfire Sleipnir had no Idunn catalog target and the script directly killed/spawned sleipnir.exe while 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, and restart-raven-sleipnir.ps1; those actuator scripts are guarded by IDUNN_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.ps1 no longer requires SLEIPNIR_COMMAND_RUDP_ADVERTISE or passes --command-rudp-advertise. crates\sleipnir-daemon rejects the old flag, publishes the input-mapping command route as cultmesh://odin/command/sleipnir/input_mapping with resolver: odin-cultmesh, pulls sleipnir.input_mapping.v1 from 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-daemon no longer starts a --command-rudp-bind listener, decodes raw command frames, or applies command mappings from an in-process RUDP receiver. scripts\restart-raven-sleipnir.ps1 no longer passes --command-rudp-bind, and stale invocations fail closed with a removed-flag error. Sleipnir command state arrives through Odin discovery as sleipnir.input_mapping.v1.
  • Odin discovery endpoint sanitation cut: src\odin\interfaces.cjs and src\odin\provider-ingress.cjs now sanitize provider endpoints and routes before exposing them through Odin surfaces. CultCache/CultMesh witness locations survive, and CultNet command routes survive only when the advertised address is a cultmesh: URI; raw rudp://, HTTP, WebSocket, and host:port endpoints no longer become provider interface truth. Live RUDP announcement source sockets are provenance only; fallback provider endpoints now use cultmesh:live:<providerId>.
  • Sleipnir launcher verification passed: PowerShell parser check for scripts\start-starfire-sleipnir.ps1 and git diff --check on 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, and git diff --check -- src/hermodr-daemon.cjs crates/sleipnir-daemon/src/main.rs passed. Focused scans found no surviving publishSleipnirMappingRudp direct command publisher or raw commandEndpoint receipt 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:17889 fails closed with the removed-flag error, PowerShell parser check passed for scripts\restart-raven-sleipnir.ps1, and focused scans found no surviving start_command_rudp_ingress, run_command_rudp_ingress, apply_pending_command_mappings, command decoder, command receiver channel, launcher CommandRudpBind, or command route connectionId outside the intentional parser guard/test.
  • Odin Idunn health-probe side-door cut: scripts\health-stonks.cmd, scripts\health-vili.cmd, and scripts\health-mimir-eve-dashboard.cmd are fail-closed archive stubs instead of localhost HTTP curl probes. scripts\idunn-deployment-targets.ps1 now names Stonks and Vili health as daemon-published RUDP contracts, and scripts\restart-vili.ps1 verifies 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-lowering as 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, and scripts\idunn-deployment-targets.ps1; direct cmd /c probes confirmed the three archived .cmd wrappers exit 2; cargo test -p idunn-daemon passed; 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.cjs has been restored as a localhost browser lowering that reads Odin's typed gamecult.eve.surface_state.v1 and provider advertisement records from the configured Odin CultMesh store, exposes /hermodr/verse/catalog and /hermodr/surface/<providerId> for browser use, reports /health as authority=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, and muninnRudp transport hints.
  • Odin package scripts advertise hermodr:start again 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.cjs no longer exports a generic httpGet helper, and crates\idunn-daemon no longer defaults --rudp-health-bind to 127.0.0.1:17870. Bare Idunn starts without a health ingress; the owned Starfire bootstrap still supplies --rudp-health-bind 0.0.0.0:17870 explicitly.
  • Idunn generated-state breadcrumb cut: crates\idunn-daemon no longer emits /eve/deck/nightwing-gjallar, renderer-only lowering, browser/WebSocket bridge, or HTTP stays a browser lowering in 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.cs no longer advertises raw cultmesh-rudp-document-put / aetheria-command-ingress routes in Odin provider advertisements. Provider records now expose only Odin/CultMesh announcement routes with resolver: 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.ts no longer invents or accepts a raw AETHERIA_RTS_DAEMON_ENDPOINT as the daemon identity. The configured/default target is now AETHERIA_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.ts now separates the daemon's CultMesh URI from resolved peer-card transport endpoints. Command/query route metadata uses the CultMesh URI, raw rudp:// strings are rejected as daemon targets, and the peer opens through CultMesh.createRudpPeerForAuthorizedPeer(...) using a peer catalog plus authority lease instead of createRudpPeer(..., this.endpoint).
  • Aetheria verification passed for the route/target cut: npm run build:electron, isolated-output dotnet build E:\Projects\Aetheria\Aetheria.State.Daemon\Aetheria.State.Daemon.csproj --no-restore -p:UseAppHost=false -p:OutDir=<temp>, and git diff --check on touched Aetheria/Odin inventory files passed. Focused scans found no surviving AetheriaCommandRoute, aetheria-command-ingress, cultmesh-rudp-document-put, old rtsCultMeshEndpoint, direct createRudpPeer(... this.endpoint), or remote verifier AETHERIA_STAGE7D_REMOTE_ENDPOINT. verify-stage7b-rts-client.ps1 still 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.cjs no 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 at spotiverse.command_request.v1.
  • Spotiverse launcher/export/doc follow-through: scripts\start-spotiverse.ps1 no longer prints local health or Eve deck URLs, scripts\export-provider-advertisement.cjs no longer exports listener Verse or deck stream metadata, and AGENTS.md, README.md, docs\architecture.md, and docs\verse-service-contract.md now describe CultMesh/CultCache surface witnesses and typed command documents instead of /eve/deck renderer discovery.
  • Spotiverse verification passed: absolute Node syntax check for src\spotiverse-daemon.cjs, PowerShell parser check for scripts\start-spotiverse.ps1, BOM-tolerant provider advertisement export check, git diff --check on 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, and check-streampixels-preview.sh no 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.sh was deleted, compose\bifrost.yggdrasil.yaml no longer has a Docker healthcheck that curls 127.0.0.1:5080/healthz, scripts\deploy-bifrost-container.ps1 no longer curls /healthz or /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 --check on touched ops files, focused scans found no remaining migrated-service health_json / Idunn-from-HTTP parsing and no Bifrost 5080/healthz / 5080/readyz deploy gate. POSIX bash -n could not run because the available bash.exe is the WSL shim and WSL has no /bin/bash in this environment.
  • Hermodr Aetheria command shortcut cut: Hermodr rejects HERMODR_AETHERIA_COMMAND_RUDP / --aetheria-command-rudp outright, no longer synthesizes Aetheria command routes into its embedded catalog, and accepts Aetheria commands only when Odin advertises a cultmesh:// command route. Hermodr publishes gamecult.eve.command.v1 to 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 surviving publishRawDocumentPutRudp, openAetheriaRudpPeer, raw Aetheria viewport snapshot reader, CultNetPeer, rudpUri, or MessagePack encode command path in src\hermodr-daemon.cjs.
  • Odin/Idunn endpoint example cleanup: README.md no longer teaches 127.0.0.1:17871 as the Odin CultMesh/RUDP catalog endpoint; it names a configured <odin-cultmesh-rudp-endpoint>. src\Idunn\README.md no longer teaches a localhost --rudp-health-bind example or says the daemon defaults to 127.0.0.1:17870. scripts\start-starfire-wireguard-elevated.ps1 no 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 --check on the touched README/WireGuard files, and a focused scan found no remaining 127.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, and src\odin-coordinator.cjs no longer tail E:\Projects\Mimir\artifacts\runtime\periwinkle-cultmesh-sensors.out.log or any other Mimir JSONL observation artifact as Odin discovery input. src\odin\observations.cjs was deleted, stale --observationLogPath / --observationFreshSeconds invocations 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, stale buildConfig(['--observationLogPath','x']) rejection smoke, git diff --check on 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.ps1 now names Weksa health as daemon-published-rudp:weksa.cultnet-rudp-provider-health, and Odin's scripts\health-weksa.cmd is a fail-closed archive stub instead of calling Weksa's local --health --host 127.0.0.1 --port 8813 diagnostic path.
  • Weksa repo follow-through: E:\Projects\weksa\scripts\health-weksa-daemon.cmd is also a fail-closed archive stub, and E:\Projects\weksa\scripts\start-weksa-daemon.ps1 no longer runs weksa-daemon.mjs --health after launch or to accept an existing PID. It now checks the daemon process plus fresh provider-advertisement-store.cc witness while Weksa publishes weksa.cultnet-rudp-provider-health to Idunn over CultNet/RUDP.
  • Weksa daemon health-mode cut: E:\Projects\weksa\scripts\weksa-daemon.mjs no longer accepts --health or 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.mjs no longer advertises rudp://$host:$port in provider advertisements, bindings, CultMesh publication metadata, or command boundaries. speech_provider.mimo.voicedesign now publishes cultmesh://odin/command/weksa/speech_provider.mimo.voicedesign; the RUDP bind is recorded only as daemon-local runtime substrate. --mimo-command-json was 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, direct cmd /c probes confirmed Odin and Weksa health wrappers exit 2, cargo test -p idunn-daemon passed, focused scans found no remaining Idunn Weksa health-script catalog reference or --health --host 127.0.0.1 --port 8813 wrapper call, and git diff --check passed in both Odin and Weksa for the touched files.
  • VoidBot Idunn health-command side-door cut: scripts\idunn-deployment-targets.ps1 now names VoidBot health as daemon-published-rudp:voidbot.cultnet-rudp-stack-health, and scripts\health-voidbot.cmd is a fail-closed archive stub. The PowerShell witness inspector remains available for explicit diagnostics, but the easy .cmd health command can no longer satisfy or imply Idunn daemon truth.
  • Idunn catalog health side-door cut: scripts\idunn-deployment-targets.ps1 now 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 .cmd wrappers 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.ps1 and scripts\restart-starfire-muninn.ps1 no longer invoke health-muninn.ps1 / health-starfire-muninn.ps1 after 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.ps1 and .cmd are fail-closed archive stubs instead of aliases to health-muninn.ps1.
  • Odin self-health side-door cut: scripts\idunn-deployment-targets.ps1 now names Odin health as daemon-published-rudp:odin.cultnet-rudp-provider-health, scripts\health-odin.cmd is a fail-closed archive stub, and scripts\restart-odin.ps1 no longer invokes health-odin.ps1 after start.
  • Vili/hermodr health-command tail cut: E:\Projects\Vili\scripts\health-vili-daemon.cmd is a fail-closed archive stub, Vili start/restart scripts no longer run vili-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.ps1 no longer deploys the Vili health wrapper to Raven, and scripts\restart-hermodr.ps1 is now a fail-closed archive stub.
  • Vili WebSocket deck path cut: E:\Projects\Vili\scripts\vili-daemon.mjs no longer imports ws, creates a WebSocketServer, or handles /eve/deck upgrades; package.json / package-lock.json no longer depend on ws, the npm health shortcut was removed, and Odin's Raven Vili deployment bundle no longer copies node_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, and nightwing-visible-ops-fb-console.sh are 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.md no 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.md no longer says HTTP/WebSocket compatibility bridges may remain as live lowering routes, and scripts\audit-verse-services.ps1 no longer treats /eve/deck or websocket text 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_compile passed for the two archived Python scripts, PowerShell parser check passed for scripts\audit-verse-services.ps1, git diff --check passed for the touched visible-ops scripts, Nightwing runbook, Verse architecture doc, audit script, and Odin inventory, and focused scans found no remaining executable visible-ops WebSocket, ws://, /eve/deck, GAMECULT_VISIBLE_OPS_URL, or visible_ops.WebSocket path outside archive/inventory text. Plain python on PATH is only the Microsoft Store alias in this environment, so verification used C:\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, and docs\gjallar.md no 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 remaining HTTP, WebSocket, ws://, wss://, /eve/deck, http.server, RUDP command route, daemon-owned-rudp-command-ingress, or weksa.mimo_voicedesign_command.v0 invitations 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, and scripts\start-nightwing-move-tracking.ps1 are 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 uses ClientWebSocket; 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, and state\evidence.jsonl now 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 Python py_compile for tools\nightwing_typed_witness_publisher.py, PowerShell parser check for scripts\start-nightwing-move-tracking.ps1, git diff --check on the touched Mimir files plus this inventory, and focused scans found no surviving ClientWebSocket, TcpListener, WebSocket, ws://, /eve/periwinkle, /eve/camera, local health route, witness URL env, subscription URL env, or publisher --url path in the touched live files outside archive/inventory text.
  • Weksa/VoidBot MiMo VoiceDesign command side-door cut: E:\Projects\Weksa\scripts\weksa-rudp-command.cjs is a fail-closed archive stub, and scripts\weksa-daemon.mjs no 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 advertises speech_provider.mimo.voicedesign only as cultmesh://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.md now 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.ts replaced WEKSA_RUDP_ENDPOINT with WEKSA_CULTMESH_COMMAND_URI, and packages\core\src\weksa-speech.ts no 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.mjs and the archived weksa-rudp-command.cjs, PowerShell parser checks for Weksa start/restart scripts, bundled TypeScript project build for VoidBot, git diff --check on the touched Weksa and VoidBot files, and focused scans found no surviving WEKSA_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.cs is 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, and state\map.yaml now mark EveDashboard as archived until rebuilt as a pure CultMesh/Odin publisher plus renderer lowering. Odin's nightwing-eve-dashboard Idunn target is demoted to archived, its restart and health scripts are fail-closed archive stubs, and E:\Projects\gamecult-ops\inventory.md plus runbooks\nightwing-cultmesh-worker-tunnel.md no 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 .cmd probes confirmed Nightwing EveDashboard restart/health wrappers fail closed, git diff --check passed for touched Mimir/Odin/gamecult-ops files, and focused scans found no runnable TcpListener, 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.mjs no longer imports node:http, binds --host/--port, starts http.createServer, serves /, /provider-advertisement, /operator-state, /eve/operator, /smoke, or the old /motion/generate tombstone route, or prints a local listener URL. Stale --host and --port invocations now fail closed and point at the typed .vili\vili.service.cc CultMesh/CultCache store.
  • Vili launcher/doc follow-through: start-vili-daemon.ps1, restart-vili-daemon.ps1, and install-vili-task.ps1 no longer accept or pass service host/port parameters; run-vili-daemon.ps1 and smoke-vili.mjs are fail-closed archive stubs; package.json no longer exposes an npm smoke shortcut; Vili README and service contract no longer teach a local operator endpoint or direct motion-generation HTTP route. The provider advertisement now uses cultmesh://odin/surface/vili/operator and the .cc store, not an HTTP/debug route.
  • Vili verification passed: bundled Node syntax checks for scripts\vili-daemon.mjs and archived scripts\smoke-vili.mjs, PowerShell parser checks for Vili start/restart/install/archive scripts, provider advertisement print checked clean of HTTP/WS/debug routes, stale vili-daemon.mjs --host 127.0.0.1 fails closed, archived smoke exits 2, git diff --check passed 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\Dockerfile no longer installs curl or declares a Docker HEALTHCHECK that curls http://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.md now says container smoke tests may hit /healthz and /readyz only as product probes, while Docker health and deploy gates must come from typed CultMesh/Idunn operator state. tools\provider-advertisement.mjs --help no longer shows localhost BIFROST_HEALTH_URL / BIFROST_READY_URL examples; print-surface without explicit probe URLs reports unprobed / not configured instead of silently curling localhost.
  • Bifrost verification passed: bundled Node syntax check for tools\provider-advertisement.mjs, provider-advertisement.mjs print-surface --generated-at ... produced unprobed health/readiness without default localhost probes, git diff --check passed for the touched Bifrost files, and focused scans found no remaining Bifrost Docker HEALTHCHECK, localhost 5080/healthz/readyz health-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.ts no longer falls back to http://localhost:4000 on server or browser paths. Server-side web code now fails closed unless SERVICE_URL or NEXT_PUBLIC_SERVICE_URL is configured, and client-side browser code uses the configured public service URL or the current origin. AppShell now uses the same resolver instead of carrying its own localhost fallback.
  • StreamPixels overlay preview cut: E:\Projects\StreamPixels\apps\overlay\src\runtime\config.ts no longer turns a localhost overlay origin into an implicit http://localhost:4000 service. Local overlay preview must carry an explicit serviceUrl query 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.ts and apps/overlay/src/runtime/config.test.ts passed, TypeScript checks passed for apps\web and apps\overlay, and a focused scan found no remaining localhost:4000 / 127.0.0.1:4000 runtime 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.ts now lets RUDP helpers accept cultmesh:// targets and resolve them through resolveCultMeshRudpEndpoint or the default CULTMESH_URI_<AUTHORITY>_RUDP bootstrap. 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.mjs now targets cultmesh://odin/rendezvous/provider-catalog through CultMesh publication instead of normalizing a raw --odin-cultmesh-rudp endpoint. --odin-cultmesh-rudp is a fail-closed removed flag, and Weksa launchers use -OdinCultMeshUri / WEKSA_ODIN_CULTMESH_URI with 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:17871 exits with the removed-flag error before daemon startup.
  • Stonks Odin startup publication cut: E:\Projects\Stonks\src\stonks-daemon.cjs now targets cultmesh://odin/rendezvous/provider-catalog through CultMesh publication instead of normalizing --odin-cultmesh-rudp / STONKS_ODIN_CULTMESH_RUDP. The old raw flag is a fail-closed removed path, and scripts\start-stonks.ps1 uses -OdinCultMeshUri / STONKS_ODIN_CULTMESH_URI with the Odin CultMesh URI default.
  • Stonks Odin URI verification passed: bundled Node syntax check passed for src\stonks-daemon.cjs, PowerShell parser check passed for scripts\start-stonks.ps1, stale stonks-daemon.cjs --odin-cultmesh-rudp 127.0.0.1:17871 exits 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.cjs now targets cultmesh://odin/rendezvous/provider-catalog through CultMesh publication instead of --odin-cultmesh-rudp / SPOTIVERSE_ODIN_CULTMESH_RUDP. The Spotiverse launcher and env example now use SPOTIVERSE_ODIN_CULTMESH_URI, and provider advertisement startup-respect metadata carries odinCultMeshUri instead of odinCultMeshRudp.
  • Spotiverse Odin URI verification passed: bundled Node syntax check passed for src\spotiverse-daemon.cjs, PowerShell parser check passed for scripts\start-spotiverse.ps1, stale spotiverse-daemon.cjs --odin-cultmesh-rudp 127.0.0.1:17871 exits 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.mjs now targets cultmesh://odin/rendezvous/provider-catalog through 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 --once completed while reporting unresolved Odin URI bootstrap as a startup-respect failure, stale loki-daemon.mjs --odin-cultmesh-rudp 127.0.0.1:17871 exits 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.mjs now publishes to cultmesh://odin/rendezvous/provider-catalog or BIFROST_ODIN_CULTMESH_URI instead 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, stale provider-advertisement.mjs publish-odin --odin-cultmesh-rudp 127.0.0.1:17871 exits 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.ts and verse-state.ts now use STREAMPIXELS_ODIN_CULTMESH_URI / cultmesh://odin/rendezvous/provider-catalog for startup provider publication instead of STREAMPIXELS_ODIN_CULTMESH_RUDP plus local endpoint normalization. Docs and state\map.yaml now say concrete RUDP bootstrap belongs behind CultMesh URI resolution.
  • StreamPixels Odin URI verification passed: bundled TypeScript check passed for apps\service, git diff --check passed for touched StreamPixels files, and focused scans found no remaining STREAMPIXELS_ODIN_CULTMESH_RUDP, odinCultMeshRudp, or normalizeRudpEndpoint path in StreamPixels service/docs/state.
  • Rust CultMesh Odin URI resolver added: E:\Projects\Odin\vendor\cultmesh-rs\src\lib.rs now exposes CultMesh::resolve_rudp_endpoint / resolve_rudp_endpoint, accepts cultmesh:// targets, resolves them through CULTMESH_URI_<AUTHORITY>_RUDP, and no longer defaults RUDP catalog publish/snapshot options to 127.0.0.1:17871. The default target is an inert 0.0.0.0:0 sentinel so accidental unowned use fails instead of dialing localhost Odin.
  • Muninn/sleipnir Odin startup and catalog path cut: crates\muninn-daemon and crates\sleipnir-daemon now store Odin as cultmesh://odin/rendezvous/provider-catalog / --odin-cultmesh-uri and resolve it through Rust CultMesh only at RUDP catalog publish/pull boundaries. The old --odin-cultmesh-rudp flag is fail-closed in both daemons. Odin launchers for Raven/Starfire/Nightwing Muninn and Raven Sleipnir now pass --odin-cultmesh-uri / ODIN_CULTMESH_URI instead 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, and cargo test --manifest-path vendor\cultmesh-rs\Cargo.toml cultmesh_rudp_endpoint passed. cargo test -p muninn-daemon --no-run, cargo test -p sleipnir-daemon --no-run, PowerShell parser checks for touched launchers, and git diff --check on touched Rust/script files also passed.
  • C# CultMesh Odin URI resolver added: E:\Projects\CultLib\src\GameCult.Mesh\CultMesh.cs now exposes CultMesh.ResolveRudpEndpoint(...), accepts cultmesh:// targets, resolves them through CULTMESH_URI_<AUTHORITY>_RUDP / <AUTHORITY>_CULTMESH_RUDP_ENDPOINT, and the string CreateRudpClient(...) overload now resolves through that CultMesh boundary instead of accepting only raw rudp:// endpoints.
  • Historical, unadmitted Gjallar URI experiment: an E:\Projects\Gjallar body attempted to replace raw Odin RUDP flags with --odin-cultmesh-uri. That body is not the canonical source or deployed release. The live F:\Projects\Gjallar release d683faa558351327d987918d1e8b8f79886dc9cb accepts --odin-cultnet-rudp and --odin-cultmesh-rudp; its Yggdrasil unit uses both against 10.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.cs collapsed OdinCultMeshRudpEndpoints into a single OdinCultMeshUri, defaults to cultmesh://odin/rendezvous/provider-catalog, rejects both --odin-cultmesh-rudp and the previous --odin-cultnet-rudp alias as announcement targets, advertises provider announcement routes as transport: 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-output dotnet 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 running Aetheria.State.Daemon process holding DLLs open, so verification used OutDir; 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.ps1 no longer reads BIFROST_HEALTH_URL, curls Bifrost /healthz, or starts BIFROST_ROOT\compose.local.yaml based on product HTTP health. Stack startup now verifies BIFROST_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 remaining BIFROST_HEALTH_URL, Ensure-BifrostLocalStack, HealthUrl, /healthz, or /readyz path 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 as unprobed / not configured, and git diff --check passed for the touched VoidBot files.
  • Bifrost HTTP bridge ledger side-door cut: E:\Projects\Bifrost\tools\bifrost-bridge.mjs rejects BIFROST_BRIDGE_BASE_URL / BIFROST_BRIDGE_TOKEN and --bifrost-base-url / --bifrost-token outright. External bridge actions now require typed CultMesh command provenance such as BIFROST_CULTMESH_COMMAND_ID; other-request is fail-closed until it has a named typed command/receipt contract. tools\agent-transport.mjs, tools\governance-threads.mjs, and tools\dispatch-agent-requests.mjs no 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.cs no longer executes /bridge/actions/*, /dispatch/runs/*, /transport/receipts, or /governance/receipts as mutation APIs. Those route groups now return 410 Gone tombstones pointing callers at typed CultMesh command/receipt documents discovered through Odin. Bifrost provider advertisement no longer exposes bridge-action-ledger and reports the old bridge ledger credential source as removed-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, and provider-advertisement.mjs; dotnet build E:\Projects\Bifrost\src\Bifrost.Web\Bifrost.Web.csproj --no-restore passed; BIFROST_BRIDGE_BASE_URL=http://127.0.0.1:5080 node tools\bifrost-bridge.mjs discord-post ... and the same env on agent-transport.mjs enqueue ... fail closed with removed-config errors; provider-advertisement.mjs print-surface succeeds 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.cs no 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 local rudp://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.ts now targets a daemon by AETHERIA_RTS_CULTMESH_URI or the default cultmesh://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.ps1 now verifies the CultMesh URI targeting guard instead of teaching the peer endpoint pass-through.
  • Aetheria peer shortcut verification passed: npm run build passed for E:\Projects\Aetheria\Aetheria.Rts.Web, isolated-output dotnet 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, stale dotnet ... Aetheria.State.Daemon.dll --peer-cultmesh-endpoint rudp://127.0.0.1:1 --once fails 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.mjs no longer accepts --health-url, --ready-url, BIFROST_HEALTH_URL, or BIFROST_READY_URL when building/exporting provider surfaces. Operator readiness now derives from typed CultMesh/CultCache stores, governance/request stores, and typed bridge command metadata; /healthz and /readyz remain 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.cs no longer spins up a fake localhost HttpListener bridge, no longer teaches /bridge/actions/*, /dispatch/runs/*, /transport/receipts, or /governance/receipts as accepted receipt paths, and uses typed BIFROST_CULTMESH_COMMAND_ID provenance or explicit removed-config negative checks instead of BIFROST_BRIDGE_BASE_URL / BIFROST_BRIDGE_TOKEN success 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~BridgeCliTests passed 30/30, and focused scans found no fake bridge server, localhost listener, deleted bridge route fixture, or old base-url/token success assertion in BridgeCliTests.cs.
  • Current Gjallar transport admission: Idunn runs the headless Yggdrasil body, Odin owns the accepted snapshot at 10.77.0.1:17871, and Gjallar publishes gjallar.overview back 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.mjs no longer imports node:http, opens a localhost extension ingest server, serves /health or /state, accepts /ingest/chrome-extension, advertises chrome-extension-ingest, or publishes gamecult.loki.chrome_extension_report.v0, gamecult.loki.chrome_debug_probe.v0, or gamecult.loki.chrome_page_snapshot.v0 witness routes. The daemon is CDP-observation-only until browser-origin observations have a CultMesh/native binding. --extension-host and --extension-port fail 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; direct node test\fixture-cdp-smoke.mjs passed; direct node test\extension-ingest-smoke.mjs passed and proves --extension-port is 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.cs no longer maps /bridge/actions/*, /dispatch/runs/*, /transport/receipts, or /governance/receipts at all. The old local bridge token HTTP handlers, BuildBridgeCaller, and local bridge token gate were deleted from the product web app. PlatformEndpointsTests now proves the old routes are 404 NotFound and 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-restore passed, and dotnet test E:\Projects\Bifrost\tests\Bifrost.Web.Tests\Bifrost.Web.Tests.csproj --no-restore --filter FullyQualifiedName~PlatformEndpointsTests passed 22/22 with DOTNET_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.cs no longer maps /eve/governance/commands, and MotionEveCommandRequest was removed from the web surface layer. MotionEveSurfaceService now emits cultmesh://asgard.starfire.bifrost/commands/motion as the canonical command target with cultmesh-command-document transport metadata instead of an HTTP POST target. tools\provider-advertisement.mjs now advertises motion-surface and motion-commands as CultMesh URIs, not https://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-restore passed, and DOTNET_ROLL_FORWARD=Major dotnet test E:\Projects\Bifrost\tests\Bifrost.Web.Tests\Bifrost.Web.Tests.csproj --no-restore --no-build --filter FullyQualifiedName~PlatformEndpointsTests passed 22/22. Focused scans found no surviving https://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.cs no longer accepts --host, --port, or --endpoint for send / recv, and no longer synthesizes rudp://host:port as the remote relay target. Senders and receivers now require --cultmesh-uri / MIMIR_CULTMESH_MEDIA_URI, validate it as cultmesh://..., and resolve the concrete RUDP endpoint through CultMesh.ResolveRudpEndpoint(...) at the transport boundary. start-raven-cultmesh-av-sender.ps1 and start-starfire-cultmesh-av-receiver.ps1 now target cultmesh://asgard.yggdrasil.mimir/media/raven-primary-av, reject stale MIMIR_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-restore passed; PowerShell parser checks passed for the touched sender/receiver launchers; stale send --host 10.77.0.1 and recv --endpoint rudp://10.77.0.1:3075 invocations fail closed before transport startup; stale MIMIR_CULTMESH_RELAY_HOST=10.77.0.1 launcher 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.