713 lines
205 KiB
Markdown
713 lines
205 KiB
Markdown
# Transport Shortcut Inventory
|
|
|
|
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://<receiver-host>: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.
|