2.4 KiB
ADR 0002: NODEDC MISSION CORE monorepo
- Status: accepted
- Date: 2026-07-16
Context
The repository began as a focused XGRIDS/LixelKity K1 connector and then gained a vendor-neutral control-station shell, local control plane, replay runtime, and embedded spatial viewer. The K1 vertical is proven on real hardware, but its names and implementation are still coupled to the host.
Decision
The product, repository, and local root are named NODEDC MISSION CORE. The
canonical Git path is SILVER/NODEDC_MISSION_CORE, and the local checkout is
NODEDC_MISSION_CORE.
Mission Core remains one monorepo while the first plugin contract stabilizes:
apps/control-station/ browser operator application
packages/plugin-sdk/ shared plugin contracts and host interfaces
plugins/xgrids-k1/ XGRIDS/LixelKity K1 device plugin
src/k1link/ transitional compatibility implementation
docs/ architecture, runbooks, ADRs, and redacted evidence
An independent plugin does not require an independent Git repository at this stage. The XGRIDS plugin must have an explicit package/runtime boundary, manifest, capabilities, tests, and no ownership of Mission Core navigation. It can be split into another repository later without changing host contracts.
The Rerun integration is a replaceable presentation adapter. It is not the Mission Core data bus, session database, or device protocol.
Compatibility boundary
The rename does not alter these proven interfaces:
- Python import namespace and CLI
k1link; - native
.k1mqttframing andK1MQTTmagic; - provisioning profile
xgrids-k1-fw3-wifi-v1; - K1 MQTT topics and firmware-scoped protobuf/LZ4 codecs;
- current
k1_ip,K1Metrics, anduseK1Consolecompatibility fields; - schema v1
$id, which remains an immutable legacy identifier.
Those names move or change only during the plugin-extraction milestone with explicit migration and regression tests.
Consequences
- Product branding, repository metadata, frontend application path, API title, and Rerun recording identity use Mission Core naming now.
- The existing K1 implementation remains operational while contracts are extracted incrementally.
- Core must eventually boot without the XGRIDS plugin.
- Plugin failure must not terminate the Mission Core host or raw evidence plane.
- A future repository split remains possible after Plugin SDK v1 is stable.