# Networks & Simulation

Component purpose, interfaces, evidence and verification.

# OpenNetworks

<!-- BOOKSTACK-DOCUMENT-RELEASE:BEGIN -->
# OpenNetworks

| Field | Value |
| --- | --- |
| Distribution | BSS — OpenC5ISR |
| Product | OpenC5ISR |
| Release | 0.15.1 |
| Deployment | `openc5isr.bss.dev` |
| Source | `/srv/bss/releases/OpenC5ISR-v0.15.0-20app` |
| Evidence | Catalog intent plus component-scoped static evidence |
| Source fingerprint | `93926e8c834f1ed79c9017a4096f70c76d73ce4f870f104fbd0cf54b2bed50ee` |
| Status | Generated baseline — human review required |

> **Verification boundary:** This page combines platform design guidance with static evidence from the release. It does not prove that every detected interface is enabled, reachable, secure, or operational in the deployed environment.

## Purpose

The deployed-network modeling and management module for creating, configuring and operating virtual and physical network devices and topologies.

## Operational value

Gives units a practical way to design, rehearse, deploy and troubleshoot network services from the same operational toolkit.

## Differentiators

Network objects can be treated as operational entities, tied to missions, health, tasks, simulation and automated configuration.

## Platform connections

- OpenLVC
- OpenTask
- OpenCyberSec
- OpenCOP

## Release detection

| Status | Score | Evidence items |
| --- | --- | --- |
| detected | 135 | 12 |

| Evidence type | Source | Match |
| --- | --- | --- |
| path | `.opennetworks-backup-20260827T210646Z/ontology/README.md` | `opennetworks` |
| path | `.opennetworks-backup-20260827T210646Z/ontology/openaar-mr.ttl` | `opennetworks` |
| path | `.opennetworks-backup-20260827T210646Z/ontology/opencybersec.ttl` | `opennetworks` |
| path | `.opennetworks-backup-20260827T210646Z/ontology/opendaa-openanalytics.ttl` | `opennetworks` |
| path | `.opennetworks-backup-20260827T210646Z/ontology/opendaa-opendata.ttl` | `opennetworks` |
| content | `server.js` | `opennetworks` |
| content | `lib/open-networks/agent-client.js` | `opennetworks` |
| content | `lib/open-networks/compiler.js` | `opennetworks` |
| content | `lib/open-networks/constants.js` | `opennetworks` |
| content | `lib/open-networks/deployment-manager.js` | `opennetworks` |
| path | `lib/open-networks/agent-client.js` | `open-networks` |
| path | `lib/open-networks/compiler.js` | `open-networks` |

## Candidate REST/API interfaces

No component-specific REST route was associated by the scanner.

## Candidate real-time interfaces

No component-specific WebSocket endpoint was associated by the scanner.

## Configuration candidates

| Variable | Default | Evidence |
| --- | --- | --- |
| `AEGIS_SENTINEL_LABEL` | COMPILED_DEPLOYMENT.aegisSentinelLabel).trim() \|\| COMPILED_DEPLOYMENT.aegisSentinelLabel | server.js, tools/integrate_opensof_service_entries.py |
| `ANTHROPIC_API_KEY` | — | server.js, lib/openllm/agents.js, lib/openllm/providers.js |
| `API_BASE` | — | open-rf/app.js, public/open-networks/app.js, public/open-rf/app.js |
| `BACKUP_ROOT` | — | modules/open-networks/integration/install-module-files.sh |
| `DATA_DIR` | path.join(ROOT | OPENCYBERSEC-QUICKSTART.md, OPENCYBERSEC.md, RELEASE-MANIFEST-v0.14.0.json, UPGRADE-v0.14.0.md |
| `EOD_TECH_TARGET` | @eodtech | server.js |
| `HOST` | 0.0.0.0 | server.js, lib/openrf-controller/server.js |
| `KNOWLEDGE_NS` | — | server.js |
| `MISSION_KNOWLEDGE_NS` | — | server.js |
| `MOUNT_PATH` | COMPILED_DEPLOYMENT.mountPath | server.js |
| `NODE_ID` | COMPILED_DEPLOYMENT.nodeId | server.js, edge/openssa-sensor/lib/openssa.js, lib/openssa.js |
| `OPENAAR_SIGNING_KEY` | [REDACTED] | server.js |
| `OPENAAR_SNAPSHOT_EVERY_EVENTS` | 100 | server.js |
| `OPENAAR_SNAPSHOT_INTERVAL_S` | 30 | server.js |
| `OPENAI_API_KEY` | — | server.js, lib/openllm/providers.js |
| `OPENANALYTICS_CONNECTOR_TIMEOUT_MS` | 60000 | server.js |
| `OPENBUS_API_TOKEN` | [REDACTED] | OPENKNOWLEDGE-OPENTASK.md, OPENLVC-DEMO.md, OPENLVC-RTI.md, demo_simulator.py |
| `OPENBUS_MAX_HISTORY` | 500 | server.js |
| `OPENCHAT_DEFAULT_TARGET` | #eod-ops | server.js |
| `OPENCOP_TRACK_URL` | https://opencop.c24.airoapp.ai/api/tracks | server.js |
| `OPENCOP_UI_URL` | BUILTIN_OPENCOP_UI_URL | server.js |
| `OPENCYBERSEC_AGENT_TOKEN` | [REDACTED] | OPENCYBERSEC-QUICKSTART.md, OPENCYBERSEC.md, server.js, examples/opencybersec/ingest-examples.sh |
| `OPENCYBERSEC_OPERATOR_TOKEN` | [REDACTED] | OPENCYBERSEC-QUICKSTART.md, OPENCYBERSEC.md, server.js, examples/opencybersec/ingest-examples.sh |
| `OPENCYBERSEC_READ_TOKEN` | — | server.js |
| `OPENFILES_HEALTH_URL` | — | server.js, tools/integrate_opensof_service_entries.py |
| `OPENFILES_SERVICE_URL` | — | server.js |
| `OPENIIA_MAX_EVIDENCE_BYTES` | 12000000 | server.js |
| `OPENISAC_HEALTH_URL` | — | server.js, tools/integrate_opensof_service_entries.py |
| `OPENISAC_SERVICE_URL` | — | server.js |
| `OPENKNOWLEDGE_EDITOR_TOKEN` | [REDACTED] | server.js |
| `OPENKNOWLEDGE_GRAPH` | https://opensof.local/graph/core | server.js |
| `OPENKNOWLEDGE_MODEL_FILE` | path.join(DATA | server.js |
| `OPENKNOWLEDGE_ONTOWIKI_URL` | — | server.js |
| `OPENKNOWLEDGE_SPARQL_ENDPOINT` | — | server.js |
| `OPENKNOWLEDGE_TIMEOUT_MS` | 8000 | server.js |
| `OPENLLM_ANTHROPIC_API_KEY` | [REDACTED] | server.js, lib/openllm/providers.js |
| `OPENLLM_OPENAI_API_KEY` | [REDACTED] | server.js, lib/openllm/providers.js |
| `OPENLLM_OPENWEBUI_API_KEY` | [REDACTED] | server.js, lib/openllm/providers.js |
| `OPENLLM_OPENWEBUI_URL` | process.env.OPENWEBUI_URL \|\| | server.js, lib/openllm/providers.js |
| `OPENLLM_OPERATOR_TOKEN` | [REDACTED] | server.js, lib/openllm.js |
| `OPENLLM_WORKSPACES_DIR` | path.join(ROOT | server.js |
| `OPENLVC_HEALTH_URL` | — | server.js, tools/integrate_opensof_service_entries.py |
| `OPENLVC_SERVICE_URL` | — | server.js |
| `OPENMAIL_HEALTH_URL` | — | server.js, tools/integrate_opensof_service_entries.py |
| `OPENMAIL_SERVICE_URL` | — | server.js |
| `OPENNETWORKS_AGENT_SOCKET` | /run/opennetworks/agent.sock | lib/open-networks/agent-client.js, modules/open-networks/integration/native-server-example.js |
| `OPENNETWORKS_AGENT_TIMEOUT_MS` | 120000 | lib/open-networks/agent-client.js, modules/open-networks/integration/native-server-example.js |
| `OPENNETWORKS_BODY_LIMIT_BYTES` | 2 * 1024 * 1024 | lib/open-networks/index.js |
| `OPENNETWORKS_DATA_DIR` | path.join(this.rootDir | lib/open-networks/service.js, modules/open-networks/integration/native-server-example.js |
| `OPENNETWORKS_EXECUTION_MODE` | simulate | lib/open-networks/service.js, modules/open-networks/integration/native-server-example.js |
| `OPENRF_AGENT_TOKEN` | [REDACTED] | server.js, lib/openrf-controller/server.js, openrf/API.md |
| `OPENRF_DATA_DIR` | path.join(DATA | server.js, lib/openrf-controller/server.js |
| `OPENRF_OPERATOR_TOKEN` | [REDACTED] | server.js, lib/openrf-controller/server.js, openrf/API.md, openrf/README-UPSTREAM-v0.3.0.md |
| `OPENRF_READ_TOKEN` | — | server.js, lib/openrf-controller/server.js, openrf/API.md |
| `OPENSSA_ACTIVE_TIMEOUT_S` | 900 | server.js, edge/openssa-sensor/SERVER_INTEGRATION.md, edge/openssa-sensor/lib/openssa.js, lib/openssa.js |
| `OPENSSA_ITU_REGION` | 2 | server.js, edge/openssa-sensor/SERVER_INTEGRATION.md, edge/openssa-sensor/lib/openssa.js, lib/openssa.js |
| `OPENSSA_SENSOR_TOKEN` | [REDACTED] | server.js, edge/openssa-sensor/SERVER_INTEGRATION.md, edge/openssa-sensor/local_server.js, edge/openssa-sensor/demo/run_streaming_demo.py |
| `OPENWEBUI_API_KEY` | [REDACTED] | server.js, lib/openllm/providers.js |
| `OPENWEBUI_CHAT_PATH` | /api/chat/completions | server.js |
| `OPENWEBUI_DEFAULT_MODEL` | — | server.js |
| `OPENWEBUI_HEALTH_PATH` | /health | server.js |
| `OPENWEBUI_MODELS_PATH` | /api/models | server.js |
| `OPENWEBUI_URL` | ).replace(/\/+$/ | server.js |
| `OPEN_EYES_DEFAULT_ASSET` | ISAC-RASPBOT-01 | server.js |
| `PORT` | 3000 | server.js, edge/openssa-sensor/local_server.js, lib/openrf-controller/server.js |
| `PUBLIC_BASE_URL` | COMPILED_DEPLOYMENT.publicBaseUrl).replace(/\/+$/ | server.js |
| `RASPBOT_BROWSER_WS_URL` | — | server.js |
| `RASPBOT_CONTROL_URL` | — | server.js |
| `RASPBOT_STREAM_URL` | — | server.js |
| `ROCKETCHAT_AUTH_TOKEN` | [REDACTED] | server.js |
| `ROCKETCHAT_BOT_USERNAME` | openc5.bot | server.js |
| `ROCKETCHAT_EMBED_URL` | — | server.js |
| `ROCKETCHAT_INCOMING_WEBHOOK_URL` | — | server.js |
| `ROCKETCHAT_OUTGOING_TOKEN` | [REDACTED] | server.js, rocketchat/outgoing-webhook-test.sh |
| `ROCKETCHAT_PUBLIC_URL` | ROCKETCHAT_URL \|\| '').replace(/\/+$/ | server.js |
| `ROCKETCHAT_URL` | ).replace(/\/+$/ | server.js |
| `ROCKETCHAT_USER_ID` | — | server.js |
| `SITE_ID` | COMPILED_DEPLOYMENT.siteId | server.js, edge/openssa-sensor/lib/openssa.js, lib/openssa.js |
| `SOURCE_ROOT` | — | modules/open-networks/integration/install-module-files.sh |
| `STAMP` | — | modules/open-networks/integration/install-module-files.sh |

## Service candidates

No component-specific service definition was associated by the scanner.

## External dependencies/endpoints

| Host | URL | Source |
| --- | --- | --- |
| ${req.headers.host | `http://${req.headers.host/` | `server.js` |
| openc5isr.bss.dev | `https://openc5isr.bss.dev/` | `server.js` |
| opencop.c24.airoapp.ai | `https://opencop.c24.airoapp.ai/api/tracks` | `server.js` |
| opennetworks.local | `http://opennetworks.local/` | `lib/open-networks/index.js` |
| opensof.local | `https://opensof.local/graph/core` | `server.js` |
| opensof.local | `https://opensof.local/ontology` | `.opennetworks-backup-20260827T210646Z/ontology/openaar-mr.ttl` |
| opensof.local | `https://opensof.local/ontology` | `.opennetworks-backup-20260827T210646Z/ontology/opencybersec.ttl` |
| opensof.local | `https://opensof.local/ontology` | `.opennetworks-backup-20260827T210646Z/ontology/opendaa-openanalytics.ttl` |
| opensof.local | `https://opensof.local/ontology` | `.opennetworks-backup-20260827T210646Z/ontology/opendaa-opendata.ttl` |
| opensof.local | `https://opensof.local/ontology` | `.opennetworks-backup-20260827T210646Z/ontology/openiia.ttl` |
| opensof.local | `https://opensof.local/ontology` | `.opennetworks-backup-20260827T210646Z/ontology/openknowledge-model.json` |
| opensof.local | `https://opensof.local/ontology` | `.opennetworks-backup-20260827T210646Z/ontology/opensof-applications.ttl` |
| opensof.local | `https://opensof.local/ontology` | `.opennetworks-backup-20260827T210646Z/ontology/opensof-core.ttl` |
| opensof.local | `https://opensof.local/ontology` | `.opennetworks-backup-20260827T210646Z/ontology/opensof-ontology.ttl` |
| opensof.local | `https://opensof.local/ontology` | `server.js` |
| opensof.local | `https://opensof.local/ontology/applications` | `.opennetworks-backup-20260827T210646Z/ontology/opensof-applications.ttl` |
| opensof.local | `https://opensof.local/ontology/cyber` | `.opennetworks-backup-20260827T210646Z/ontology/opencybersec.ttl` |
| opensof.local | `https://opensof.local/ontology/openaar-mr` | `.opennetworks-backup-20260827T210646Z/ontology/openaar-mr.ttl` |
| opensof.local | `https://opensof.local/ontology/opencybersec` | `.opennetworks-backup-20260827T210646Z/ontology/opencybersec.ttl` |
| opensof.local | `https://opensof.local/ontology/opendaa-openanalytics` | `.opennetworks-backup-20260827T210646Z/ontology/opendaa-openanalytics.ttl` |
| opensof.local | `https://opensof.local/ontology/opendaa-opendata` | `.opennetworks-backup-20260827T210646Z/ontology/opendaa-opendata.ttl` |
| opensof.local | `https://opensof.local/resource/` | `.opennetworks-backup-20260827T210646Z/ontology/openaar-mr.ttl` |
| opensof.local | `https://opensof.local/resource/` | `.opennetworks-backup-20260827T210646Z/ontology/opencybersec.ttl` |
| opensof.local | `https://opensof.local/resource/` | `.opennetworks-backup-20260827T210646Z/ontology/opendaa-openanalytics.ttl` |
| opensof.local | `https://opensof.local/resource/` | `.opennetworks-backup-20260827T210646Z/ontology/opendaa-opendata.ttl` |
| opensof.local | `https://opensof.local/resource/` | `.opennetworks-backup-20260827T210646Z/ontology/openknowledge-model.json` |
| opensof.local | `https://opensof.local/resource/` | `.opennetworks-backup-20260827T210646Z/ontology/opensof-applications.ttl` |
| opensof.local | `https://opensof.local/resource/` | `.opennetworks-backup-20260827T210646Z/ontology/opensof-core.ttl` |
| opensof.local | `https://opensof.local/resource/` | `.opennetworks-backup-20260827T210646Z/ontology/opensof-ontology.ttl` |
| opensof.local | `https://opensof.local/resource/` | `server.js` |
| opensof.local | `https://opensof.local/resource/RULE-GROUNDROBOT-GROUNDVEHICLE` | `.opennetworks-backup-20260827T210646Z/ontology/openknowledge-model.json` |
| opensof.local | `https://opensof.local/resource/RULE-GROUNDROBOT-OBJECT` | `.opennetworks-backup-20260827T210646Z/ontology/openknowledge-model.json` |
| opensof.local | `https://opensof.local/resource/RULE-GROUNDROBOT-RF` | `.opennetworks-backup-20260827T210646Z/ontology/openknowledge-model.json` |
| opensof.local | `https://opensof.local/resource/RULE-HUMAN-ANALYTICDECISION` | `.opennetworks-backup-20260827T210646Z/ontology/openknowledge-model.json` |
| opensof.local | `https://opensof.local/resource/RULE-HUMAN-ANALYTICMODEL` | `.opennetworks-backup-20260827T210646Z/ontology/openknowledge-model.json` |
| opensof.local | `https://opensof.local/resource/RULE-HUMAN-ANALYTICWORKFLOW` | `.opennetworks-backup-20260827T210646Z/ontology/openknowledge-model.json` |
| opensof.local | `https://opensof.local/resource/RULE-HUMAN-DATALAKE` | `.opennetworks-backup-20260827T210646Z/ontology/openknowledge-model.json` |
| opensof.local | `https://opensof.local/resource/RULE-HUMAN-DATASERVICE` | `.opennetworks-backup-20260827T210646Z/ontology/openknowledge-model.json` |
| opensof.local | `https://opensof.local/resource/RULE-HUMAN-LVC-RUN` | `.opennetworks-backup-20260827T210646Z/ontology/openknowledge-model.json` |
| opensof.local | `https://opensof.local/resource/RULE-HUMAN-LVC-SCENARIO` | `.opennetworks-backup-20260827T210646Z/ontology/openknowledge-model.json` |
| opensof.local | `https://opensof.local/resource/RULE-HUMAN-NOTEBOOK` | `.opennetworks-backup-20260827T210646Z/ontology/openknowledge-model.json` |
| opensof.local | `https://opensof.local/resource/RULE-HUMAN-OBJECT` | `.opennetworks-backup-20260827T210646Z/ontology/openknowledge-model.json` |
| opensof.local | `https://opensof.local/resource/RULE-HUMAN-SCENARIO` | `.opennetworks-backup-20260827T210646Z/ontology/openknowledge-model.json` |
| opensof.local | `https://opensof.local/resource/RULE-HUMAN-SYNTHETIC-VIEW` | `.opennetworks-backup-20260827T210646Z/ontology/openknowledge-model.json` |
| opensof.local | `https://opensof.local/resource/RULE-SENSOR-OBJECT` | `.opennetworks-backup-20260827T210646Z/ontology/openknowledge-model.json` |
| opensof.local | `https://opensof.local/resource/RULE-SOFTWARE-ANALYTICMODEL` | `.opennetworks-backup-20260827T210646Z/ontology/openknowledge-model.json` |
| opensof.local | `https://opensof.local/resource/RULE-SOFTWARE-ANALYTICWORKFLOW` | `.opennetworks-backup-20260827T210646Z/ontology/openknowledge-model.json` |
| opensof.local | `https://opensof.local/resource/RULE-SOFTWARE-LVC-RUN` | `.opennetworks-backup-20260827T210646Z/ontology/openknowledge-model.json` |
| opensof.local | `https://opensof.local/resource/RULE-SOFTWARE-LVC-SCENARIO` | `.opennetworks-backup-20260827T210646Z/ontology/openknowledge-model.json` |
| opensof.local | `https://opensof.local/resource/RULE-SOFTWARE-OBJECT` | `.opennetworks-backup-20260827T210646Z/ontology/openknowledge-model.json` |

## Verification checklist

- Confirm the component is included and enabled in this edition/release.
- Record its authoritative service, process/container, port, base URL and health endpoint.
- Exercise its primary operator workflow and capture expected versus actual results.
- Verify authentication, authorization, audit, error behavior and data handling policy.
- Verify OpenBus/OpenKnowledge relationships and time/provenance metadata where applicable.
- Document known limitations and the release in which they are corrected.
<!-- BOOKSTACK-DOCUMENT-RELEASE:END -->

---

## Maintainer Notes

<!-- BOOKSTACK-DOCUMENT-RELEASE:NOTES-BEGIN -->
Add human-reviewed deployment notes, corrections, decisions, screenshots, and links here. Content outside the generated block is preserved on future runs.
<!-- BOOKSTACK-DOCUMENT-RELEASE:NOTES-END -->

# OpenLVC

<!-- BOOKSTACK-DOCUMENT-RELEASE:BEGIN -->
# OpenLVC

| Field | Value |
| --- | --- |
| Distribution | BSS — OpenC5ISR |
| Product | OpenC5ISR |
| Release | 0.15.1 |
| Deployment | `openc5isr.bss.dev` |
| Source | `/srv/bss/releases/OpenC5ISR-v0.15.0-20app` |
| Evidence | Catalog intent plus component-scoped static evidence |
| Source fingerprint | `93926e8c834f1ed79c9017a4096f70c76d73ce4f870f104fbd0cf54b2bed50ee` |
| Status | Generated baseline — human review required |

> **Verification boundary:** This page combines platform design guidance with static evidence from the release. It does not prove that every detected interface is enabled, reachable, secure, or operational in the deployed environment.

## Purpose

The live, virtual and constructive interoperability layer for connecting real equipment, high-fidelity virtual systems and constructive simulations.

## Operational value

Supports acquisition, analysis, training, mission rehearsal and experimentation using the same operational interfaces as live systems.

## Differentiators

Synthetic entities and live assets can share the same track, task, semantic, timing and collaboration fabric instead of requiring a parallel exercise-only architecture.

## Platform connections

- OpenTrack
- OpenPNT
- OpenCOP
- OpenAAR-MR
- OpenNetworks

## Release detection

| Status | Score | Evidence items |
| --- | --- | --- |
| detected | 173 | 12 |

| Evidence type | Source | Match |
| --- | --- | --- |
| path | `OPENLVC-DEMO.md` | `openlvc` |
| path | `OPENLVC-RTI.md` | `openlvc` |
| path | `OPENLVC.md` | `openlvc` |
| path | `edge/openlvc/README.md` | `openlvc` |
| path | `edge/openlvc/ais_nmea_bridge.py` | `openlvc` |
| content | `API.md` | `openlvc` |
| content | `CHANGELOG.md` | `openlvc` |
| content | `DEPLOY-GODADDY.md` | `openlvc` |
| content | `EXTERNAL-SERVICES.md` | `openlvc` |
| content | `MERGE-INSTRUCTIONS-v0.8.1.md` | `openlvc` |
| path | `open-lvc/app.js` | `open-lvc` |
| path | `open-lvc/index.html` | `open-lvc` |

## Candidate REST/API interfaces

No component-specific REST route was associated by the scanner.

## Candidate real-time interfaces

| Endpoint | Source | Evidence |
| --- | --- | --- |
| `wss://.../` | `OPENLVC-DEMO.md` | url |

## Configuration candidates

| Variable | Default | Evidence |
| --- | --- | --- |
| `BASE` | http://127.0.0.1:3000 | DEPLOY-GODADDY.md, OPENCYBERSEC-QUICKSTART.md, OPENCYBERSEC.md, UPGRADE-v0.14.0.md |
| `FG_ROOT` | — | edge/openlvc/flightgear/opensof-lvc.xml |
| `OPENBUS_API_TOKEN` | [REDACTED] | OPENKNOWLEDGE-OPENTASK.md, OPENLVC-DEMO.md, OPENLVC-RTI.md, demo_simulator.py |
| `OPENLVC_FEDERATE` | — | edge/openlvc/systemd/openlvc-rti-gateway.service |
| `OPENLVC_FEDERATION` | — | edge/openlvc/systemd/openlvc-rti-gateway.service |
| `OPENLVC_RTI_SIDECAR_COMMAND` | — | edge/openlvc/systemd/openlvc-rti-gateway.service |
| `OPENSOF_URL` | http://127.0.0.1:3000 | OPENLVC-DEMO.md, edge/openlvc/README.md, edge/openlvc/dis_udp_bridge.py, edge/openlvc/rti_openbus_gateway.py |

## Service candidates

| Service | ExecStart | Source |
| --- | --- | --- |
| openlvc-ais-bridge.service | `/usr/bin/python3 /opt/opensof/edge/openlvc/ais_nmea_bridge.py --opensof ${OPENSOF_URL} --token [REDACTED] --bind 0.0.0.0 --port 10110` | `edge/openlvc/systemd/openlvc-ais-bridge.service` |
| openlvc-dis-bridge.service | `/usr/bin/python3 /opt/opensof/edge/openlvc/dis_udp_bridge.py --opensof ${OPENSOF_URL} --token [REDACTED] --bind 0.0.0.0 --port 3000` | `edge/openlvc/systemd/openlvc-dis-bridge.service` |
| openlvc-flightgear-bridge.service | `/usr/bin/python3 /opt/opensof/edge/openlvc/flightgear_bridge.py --opensof ${OPENSOF_URL} --token [REDACTED] --bind 0.0.0.0 --port 5505` | `edge/openlvc/systemd/openlvc-flightgear-bridge.service` |
| openlvc-rti-gateway.service | `/usr/bin/python3 /opt/opensof/edge/openlvc/rti_openbus_gateway.py --opensof ${OPENSOF_URL} --token [REDACTED] --federation ${OPENLVC_FEDERATION} --federate ${OPENLVC_FEDERATE} --sidecar-command ${OPENLVC_RTI_SIDECAR_COMMAND}` | `edge/openlvc/systemd/openlvc-rti-gateway.service` |

## External dependencies/endpoints

| Host | URL | Source |
| --- | --- | --- |
| ... | `https://.../mjpeg` | `OPENLVC-DEMO.md` |
| aksw.org | `http://aksw.org/` | `third_party/ontowiki/application/classes/OntoWiki/Dispatcher.php` |
| archive.apache.org | `http://archive.apache.org/dist/jena/binaries/jena-fuseki-$FUSEKI-distribution.tar.gz` | `third_party/ontowiki/application/scripts/travis/install-services.sh` |
| bss.dev | `https://bss.dev/live/isac/\nOPENLVC_PUBLIC_URL=\nAEGIS_SENTINEL_LABEL=AEGIS-SENTINEL\nOPENMAIL_PUBLIC_URL=\nOPENFILES_PUBLIC_URL=\n` | `tools/integrate_opensof_service_entries.py` |
| developer.mozilla.org | `https://developer.mozilla.org/en-US/docs/CSS/display` | `third_party/ontowiki/extensions/themes/silverblue/scripts/libraries/jquery-1.9.1.js` |
| github.com | `https://github.com/mwjames/travis-support/raw/master/fuseki/$FUSEKI/jena-fuseki-$FUSEKI-distribution.tar.gz` | `third_party/ontowiki/application/scripts/travis/install-services.sh` |
| json-schema.org | `https://json-schema.org/draft/2020-12/schema` | `edge/openlvc/sidecar-contract.schema.json` |
| loammhpng4.c36.airoapp.ai | `https://loammhpng4.c36.airoapp.ai/` | `API.md` |
| loammhpng4.c36.airoapp.ai | `https://loammhpng4.c36.airoapp.ai/` | `CHANGELOG.md` |
| loammhpng4.c36.airoapp.ai | `https://loammhpng4.c36.airoapp.ai/open-cop/\nhttps://loammhpng4.c36.airoapp.ai/open-isac/\nhttps://loammhpng4.c36.airoapp.ai/open-lvc/\nhttps://loammhpng4.c36.airoapp.ai/open-mail/\nhttps://loammhpng4.c36.airoapp.ai/open-files/\nhttps://loammhpng4.c36.airoapp.ai/api/integrations\n` | `tools/integrate_opensof_service_entries.py` |
| ns.aksw.org | `http://ns.aksw.org/spatialHierarchy/District` | `third_party/ontowiki/application/tests/unit/OntoWiki/Extension/ManagerTest.php` |
| ontowiki.net | `http://ontowiki.net/` | `third_party/ontowiki/application/classes/OntoWiki/Dispatcher.php` |
| opensof.local | `https://opensof.local/ontology` | `lib/openlvc.js` |
| opensof.local | `https://opensof.local/resource/` | `lib/openlvc.js` |
| opensource.org | `http://opensource.org/licenses/gpl-license.php` | `third_party/ontowiki/application/classes/OntoWiki/Dispatcher.php` |

## Verification checklist

- Confirm the component is included and enabled in this edition/release.
- Record its authoritative service, process/container, port, base URL and health endpoint.
- Exercise its primary operator workflow and capture expected versus actual results.
- Verify authentication, authorization, audit, error behavior and data handling policy.
- Verify OpenBus/OpenKnowledge relationships and time/provenance metadata where applicable.
- Document known limitations and the release in which they are corrected.
<!-- BOOKSTACK-DOCUMENT-RELEASE:END -->

---

## Maintainer Notes

<!-- BOOKSTACK-DOCUMENT-RELEASE:NOTES-BEGIN -->
Add human-reviewed deployment notes, corrections, decisions, screenshots, and links here. Content outside the generated block is preserved on future runs.
<!-- BOOKSTACK-DOCUMENT-RELEASE:NOTES-END -->

# OpenAAR-MR

<!-- BOOKSTACK-DOCUMENT-RELEASE:BEGIN -->
# OpenAAR-MR

| Field | Value |
| --- | --- |
| Distribution | BSS — OpenC5ISR |
| Product | OpenC5ISR |
| Release | 0.15.1 |
| Deployment | `openc5isr.bss.dev` |
| Source | `/srv/bss/releases/OpenC5ISR-v0.15.0-20app` |
| Evidence | Catalog intent plus component-scoped static evidence |
| Source fingerprint | `93926e8c834f1ed79c9017a4096f70c76d73ce4f870f104fbd0cf54b2bed50ee` |
| Status | Generated baseline — human review required |

> **Verification boundary:** This page combines platform design guidance with static evidence from the release. It does not prove that every detected interface is enabled, reachable, secure, or operational in the deployed environment.

## Purpose

The after-action review and mission-rehearsal module for recording, replaying, assessing and synthetically stimulating operational activity.

## Operational value

Uses actual message, timing, task and sensor histories for evidence-based review and can reuse the same interfaces for rehearsal before execution.

## Differentiators

Replay is integrated with the operational representation and analytics rather than being limited to video playback or a separate training system.

## Platform connections

- OpenBus
- OpenFiles
- OpenLVC
- OpenAnalytics
- OpenTask

## Release detection

| Status | Score | Evidence items |
| --- | --- | --- |
| detected | 182 | 12 |

| Evidence type | Source | Match |
| --- | --- | --- |
| path | `.opennetworks-backup-20260827T210646Z/ontology/openaar-mr.ttl` | `openaar` |
| path | `data/openaar-mr/state.json` | `openaar` |
| path | `drivers/openaar-edge-recorder.env.example` | `openaar` |
| path | `drivers/openaar-edge-recorder.service.example` | `openaar` |
| path | `drivers/openaar_edge_recorder.py` | `openaar` |
| content | `OPENCYBERSEC.md` | `openaar` |
| content | `README.md` | `openaar` |
| content | `RELEASE-v0.15.0.md` | `openaar` |
| content | `package.json` | `openaar` |
| content | `server.js` | `openaar` |
| path | `open-aar-mr/app.js` | `open-aar` |
| path | `open-aar-mr/index.html` | `open-aar` |

## Candidate REST/API interfaces

No component-specific REST route was associated by the scanner.

## Candidate real-time interfaces

No component-specific WebSocket endpoint was associated by the scanner.

## Configuration candidates

| Variable | Default | Evidence |
| --- | --- | --- |
| `AEGIS_SENTINEL_LABEL` | COMPILED_DEPLOYMENT.aegisSentinelLabel).trim() \|\| COMPILED_DEPLOYMENT.aegisSentinelLabel | server.js, tools/integrate_opensof_service_entries.py |
| `ANTHROPIC_API_KEY` | — | server.js, lib/openllm/agents.js, lib/openllm/providers.js |
| `BASE` | http://127.0.0.1:3000 | DEPLOY-GODADDY.md, OPENCYBERSEC-QUICKSTART.md, OPENCYBERSEC.md, UPGRADE-v0.14.0.md |
| `DATA_DIR` | path.join(ROOT | OPENCYBERSEC-QUICKSTART.md, OPENCYBERSEC.md, RELEASE-MANIFEST-v0.14.0.json, UPGRADE-v0.14.0.md |
| `EOD_TECH_TARGET` | @eodtech | server.js |
| `HOST` | 0.0.0.0 | server.js, lib/openrf-controller/server.js |
| `KNOWLEDGE_NS` | — | server.js |
| `MISSION_KNOWLEDGE_NS` | — | server.js |
| `MOUNT_PATH` | COMPILED_DEPLOYMENT.mountPath | server.js |
| `NODE_ID` | COMPILED_DEPLOYMENT.nodeId | server.js, edge/openssa-sensor/lib/openssa.js, lib/openssa.js |
| `OPENAAR_BATCH_SIZE` | 100 | drivers/openaar_edge_recorder.py |
| `OPENAAR_CLOCK_SOURCE` | SYSTEM | drivers/openaar_edge_recorder.py |
| `OPENAAR_MAX_SPOOL_MB` | 2048 | drivers/openaar_edge_recorder.py |
| `OPENAAR_NODE_ID` | socket.gethostname( | drivers/openaar_edge_recorder.py |
| `OPENAAR_RECONNECT_S` | 5 | drivers/openaar_edge_recorder.py |
| `OPENAAR_RECORDER_ID` | f"EDGE-{socket.gethostname( | drivers/openaar_edge_recorder.py |
| `OPENAAR_REPORT_INTERVAL_S` | 30 | drivers/openaar_edge_recorder.py |
| `OPENAAR_RUN_ID` | — | drivers/openaar_edge_recorder.py |
| `OPENAAR_SERVER` | http://127.0.0.1:3000 | drivers/openaar_edge_recorder.py |
| `OPENAAR_SIGNING_KEY` | [REDACTED] | server.js |
| `OPENAAR_SITE` | FIELD | drivers/openaar_edge_recorder.py |
| `OPENAAR_SNAPSHOT_EVERY_EVENTS` | 100 | server.js |
| `OPENAAR_SNAPSHOT_INTERVAL_S` | 30 | server.js |
| `OPENAAR_SPOOL_DIR` | /var/lib/openaar-edge | drivers/openaar_edge_recorder.py |
| `OPENAAR_TIME_UNCERTAINTY_NS` | 0 | drivers/openaar_edge_recorder.py |
| `OPENAAR_TOPICS` | — | drivers/openaar_edge_recorder.py |
| `OPENAAR_TYPES` | — | drivers/openaar_edge_recorder.py |
| `OPENAI_API_KEY` | — | server.js, lib/openllm/providers.js |
| `OPENANALYTICS_CONNECTOR_TIMEOUT_MS` | 60000 | server.js |
| `OPENBUS_API_TOKEN` | [REDACTED] | OPENKNOWLEDGE-OPENTASK.md, OPENLVC-DEMO.md, OPENLVC-RTI.md, demo_simulator.py |
| `OPENBUS_MAX_HISTORY` | 500 | server.js |
| `OPENCHAT_DEFAULT_TARGET` | #eod-ops | server.js |
| `OPENCOP_TRACK_URL` | https://opencop.c24.airoapp.ai/api/tracks | server.js |
| `OPENCOP_UI_URL` | BUILTIN_OPENCOP_UI_URL | server.js |
| `OPENCYBERSEC_AGENT_TOKEN` | [REDACTED] | OPENCYBERSEC-QUICKSTART.md, OPENCYBERSEC.md, server.js, examples/opencybersec/ingest-examples.sh |
| `OPENCYBERSEC_OPERATOR_TOKEN` | [REDACTED] | OPENCYBERSEC-QUICKSTART.md, OPENCYBERSEC.md, server.js, examples/opencybersec/ingest-examples.sh |
| `OPENCYBERSEC_READ_TOKEN` | — | server.js |
| `OPENFILES_HEALTH_URL` | — | server.js, tools/integrate_opensof_service_entries.py |
| `OPENFILES_SERVICE_URL` | — | server.js |
| `OPENIIA_MAX_EVIDENCE_BYTES` | 12000000 | server.js |
| `OPENISAC_HEALTH_URL` | — | server.js, tools/integrate_opensof_service_entries.py |
| `OPENISAC_SERVICE_URL` | — | server.js |
| `OPENKNOWLEDGE_EDITOR_TOKEN` | [REDACTED] | server.js |
| `OPENKNOWLEDGE_GRAPH` | https://opensof.local/graph/core | server.js |
| `OPENKNOWLEDGE_MODEL_FILE` | path.join(DATA | server.js |
| `OPENKNOWLEDGE_ONTOWIKI_URL` | — | server.js |
| `OPENKNOWLEDGE_SPARQL_ENDPOINT` | — | server.js |
| `OPENKNOWLEDGE_TIMEOUT_MS` | 8000 | server.js |
| `OPENLLM_ANTHROPIC_API_KEY` | [REDACTED] | server.js, lib/openllm/providers.js |
| `OPENLLM_OPENAI_API_KEY` | [REDACTED] | server.js, lib/openllm/providers.js |
| `OPENLLM_OPENWEBUI_API_KEY` | [REDACTED] | server.js, lib/openllm/providers.js |
| `OPENLLM_OPENWEBUI_URL` | process.env.OPENWEBUI_URL \|\| | server.js, lib/openllm/providers.js |
| `OPENLLM_OPERATOR_TOKEN` | [REDACTED] | server.js, lib/openllm.js |
| `OPENLLM_WORKSPACES_DIR` | path.join(ROOT | server.js |
| `OPENLVC_HEALTH_URL` | — | server.js, tools/integrate_opensof_service_entries.py |
| `OPENLVC_SERVICE_URL` | — | server.js |
| `OPENMAIL_HEALTH_URL` | — | server.js, tools/integrate_opensof_service_entries.py |
| `OPENMAIL_SERVICE_URL` | — | server.js |
| `OPENRF_AGENT_TOKEN` | [REDACTED] | server.js, lib/openrf-controller/server.js, openrf/API.md |
| `OPENRF_DATA_DIR` | path.join(DATA | server.js, lib/openrf-controller/server.js |
| `OPENRF_OPERATOR_TOKEN` | [REDACTED] | server.js, lib/openrf-controller/server.js, openrf/API.md, openrf/README-UPSTREAM-v0.3.0.md |
| `OPENRF_READ_TOKEN` | — | server.js, lib/openrf-controller/server.js, openrf/API.md |
| `OPENSSA_ACTIVE_TIMEOUT_S` | 900 | server.js, edge/openssa-sensor/SERVER_INTEGRATION.md, edge/openssa-sensor/lib/openssa.js, lib/openssa.js |
| `OPENSSA_ITU_REGION` | 2 | server.js, edge/openssa-sensor/SERVER_INTEGRATION.md, edge/openssa-sensor/lib/openssa.js, lib/openssa.js |
| `OPENSSA_SENSOR_TOKEN` | [REDACTED] | server.js, edge/openssa-sensor/SERVER_INTEGRATION.md, edge/openssa-sensor/local_server.js, edge/openssa-sensor/demo/run_streaming_demo.py |
| `OPENWEBUI_API_KEY` | [REDACTED] | server.js, lib/openllm/providers.js |
| `OPENWEBUI_CHAT_PATH` | /api/chat/completions | server.js |
| `OPENWEBUI_DEFAULT_MODEL` | — | server.js |
| `OPENWEBUI_HEALTH_PATH` | /health | server.js |
| `OPENWEBUI_MODELS_PATH` | /api/models | server.js |
| `OPENWEBUI_URL` | ).replace(/\/+$/ | server.js |
| `OPEN_EYES_DEFAULT_ASSET` | ISAC-RASPBOT-01 | server.js |
| `PORT` | 3000 | server.js, edge/openssa-sensor/local_server.js, lib/openrf-controller/server.js |
| `PUBLIC_BASE_URL` | COMPILED_DEPLOYMENT.publicBaseUrl).replace(/\/+$/ | server.js |
| `RASPBOT_BROWSER_WS_URL` | — | server.js |
| `RASPBOT_CONTROL_URL` | — | server.js |
| `RASPBOT_STREAM_URL` | — | server.js |
| `ROCKETCHAT_AUTH_TOKEN` | [REDACTED] | server.js |
| `ROCKETCHAT_BOT_USERNAME` | openc5.bot | server.js |
| `ROCKETCHAT_EMBED_URL` | — | server.js |

## Service candidates

No component-specific service definition was associated by the scanner.

## External dependencies/endpoints

| Host | URL | Source |
| --- | --- | --- |
| ${req.headers.host | `http://${req.headers.host/` | `server.js` |
| loammhpng4.c36.airoapp.ai | `https://loammhpng4.c36.airoapp.ai/` | `README.md` |
| loammhpng4.c36.airoapp.ai | `https://loammhpng4.c36.airoapp.ai/api/tracks` | `README.md` |
| openc5isr.bss.dev | `https://openc5isr.bss.dev/` | `server.js` |
| opencop.c24.airoapp.ai | `https://opencop.c24.airoapp.ai/api/tracks` | `server.js` |
| opensof.local | `https://opensof.local/graph/core` | `server.js` |
| opensof.local | `https://opensof.local/ontology` | `.opennetworks-backup-20260827T210646Z/ontology/openaar-mr.ttl` |
| opensof.local | `https://opensof.local/ontology` | `lib/openaar-mr.js` |
| opensof.local | `https://opensof.local/ontology` | `ontology/openaar-mr.ttl` |
| opensof.local | `https://opensof.local/ontology` | `server.js` |
| opensof.local | `https://opensof.local/ontology/openaar-mr` | `.opennetworks-backup-20260827T210646Z/ontology/openaar-mr.ttl` |
| opensof.local | `https://opensof.local/ontology/openaar-mr` | `ontology/openaar-mr.ttl` |
| opensof.local | `https://opensof.local/resource/` | `.opennetworks-backup-20260827T210646Z/ontology/openaar-mr.ttl` |
| opensof.local | `https://opensof.local/resource/` | `lib/openaar-mr.js` |
| opensof.local | `https://opensof.local/resource/` | `ontology/openaar-mr.ttl` |
| opensof.local | `https://opensof.local/resource/` | `server.js` |
| opensof.local | `https://opensof.local/resource/TASKDEF-REPLAY-LVC-RUN` | `.opennetworks-backup-20260827T210646Z/ontology/openknowledge-model.json` |
| opensof.local | `https://opensof.local/resource/TASKDEF-REPLAY-LVC-RUN` | `data/openknowledge-model.json` |
| opensof.local | `https://opensof.local/resource/TASKDEF-REPLAY-LVC-RUN` | `ontology/openknowledge-model.json` |

## Verification checklist

- Confirm the component is included and enabled in this edition/release.
- Record its authoritative service, process/container, port, base URL and health endpoint.
- Exercise its primary operator workflow and capture expected versus actual results.
- Verify authentication, authorization, audit, error behavior and data handling policy.
- Verify OpenBus/OpenKnowledge relationships and time/provenance metadata where applicable.
- Document known limitations and the release in which they are corrected.
<!-- BOOKSTACK-DOCUMENT-RELEASE:END -->

---

## Maintainer Notes

<!-- BOOKSTACK-DOCUMENT-RELEASE:NOTES-BEGIN -->
Add human-reviewed deployment notes, corrections, decisions, screenshots, and links here. Content outside the generated block is preserved on future runs.
<!-- BOOKSTACK-DOCUMENT-RELEASE:NOTES-END -->