chore: rename repository to NODEDC MISSION CORE

This commit is contained in:
DCCONSTRUCTIONS
2026-07-16 12:10:05 +03:00
parent 8459bb03fb
commit 9225227421
50 changed files with 220 additions and 61 deletions
+26 -18
View File
@@ -1,16 +1,22 @@
# NDC XGRIDS K1 Connector
# NODEDC MISSION CORE
Pre-production research project for connecting an owner-controlled
XGRIDS/LixelKity K1 to a Mac without LixelGO, firmware changes, device opening,
or speculative writes.
NODEDC MISSION CORE is the vendor-neutral control, observation, mission-planning,
recording, and integration platform for NODEDC autonomous systems. This
repository is the canonical early-stage monorepo: it contains the Mission Core
Control Station, the current local control plane, shared contracts as they are
extracted, and device plugins.
Current status: live proof completed on firmware 3.0.2. The Mac provisioned the
K1 onto an existing LAN without LixelGO, connected to its MQTT broker, captured
the scan-correlated point-cloud and pose streams, and decoded both successfully.
The repository also contains a local React control console, an automatic Rerun
gRPC bridge for the verified point-cloud and trajectory streams, and a
self-hosted Rerun Web Viewer embedded in that console. The former Foxglove
bridge remains only as a legacy regression module.
The first proven hardware vertical is the XGRIDS/LixelKity K1 plugin. On firmware
3.0.2 the host provisions the scanner onto an existing LAN without LixelGO,
connects to its MQTT broker, durably captures the raw stream, decodes point cloud
and pose, and renders the real cloud plus trajectory through an embedded
self-hosted Rerun Web Viewer. The former Foxglove bridge remains only as a
legacy regression module.
The repository is intentionally migrating in stages. The current `src/k1link`
package is the compatibility implementation of the first plugin path; vendor
transport and codecs will move behind `plugins/xgrids-k1` and the Mission Core
Plugin SDK without changing the verified wire protocol or raw evidence format.
The repository now contains one narrowly gated state-changing command:
`ble wifi-configure`. It accepts only the reviewed firmware-3 provisioning
@@ -18,7 +24,7 @@ profile and requires explicit `--confirm-write`; the Wi-Fi password is collected
through a hidden local macOS dialog. MQTT capture and decoding are read-only.
Nothing changes router settings, firmware or global Python packages.
## Available stand
## Verified XGRIDS K1 stand
- one XGRIDS/LixelKity K1;
- one Apple Silicon MacBook running macOS;
@@ -51,15 +57,15 @@ This does not install Python packages globally and does not modify neighboring
repositories.
```bash
cd /Users/dcconstructions/Downloads/mnt/NODEDC/NDC_xgrids-k1-connector
cd /Users/dcconstructions/Downloads/mnt/NODEDC/NODEDC_MISSION_CORE
uv sync --group dev
uv run k1link doctor
uv run pytest
```
## NODE.DC Control Station and visualization adapters
## Mission Core Control Station and visualization adapters
The browser application is now a universal NODE.DC Control Station rather than
The browser application is the universal Mission Core Control Station rather than
a K1-specific Foxglove launcher. Its fixed shell contains six architectural
sections — Center, Fleet, Observation, Missions, Data and System — while the K1
BLE/Wi-Fi/live workflow remains isolated as the first real device adapter.
@@ -69,7 +75,7 @@ repository root:
```bash
uv sync --group dev
cd apps/k1-viewer
cd apps/control-station
npm install
npm run typecheck
npm run build
@@ -86,7 +92,7 @@ Physical K1 scanning is still started and stopped by the verified double-click;
the connector publishes no modeling command.
The Observation spatial workspace embeds the open-source Rerun Web Viewer
inside the NODE.DC shell. It can open a compatible RRD file over HTTP(S) or a
inside the Mission Core shell. It can open a compatible RRD file over HTTP(S) or a
Rerun gRPC/proxy source such as `rerun+http://127.0.0.1:9876/proxy`. It does not
use an external hosted viewer UI.
@@ -118,7 +124,7 @@ The old Foxglove implementation is retained only in
live/replay runtime does not start it or use TCP 8765. The
[live viewer runbook](docs/06_K1_LIVE_VIEWER.md) records the active Rerun path and
its timing/security boundaries; the frontend contract is documented in
[`apps/k1-viewer/README.md`](apps/k1-viewer/README.md).
[`apps/control-station/README.md`](apps/control-station/README.md).
The FastAPI application and credential endpoint bind to loopback, but the Rerun
gRPC server currently binds TCP 9876 on all network interfaces even though its
@@ -170,6 +176,8 @@ present.
- [Reviewed BLE Wi-Fi profile](docs/04_K1_WIFI_PROVISIONING_PROFILE.md)
- [Verified MQTT stream profile](docs/05_K1_MQTT_STREAM_PROFILE.md)
- [Live console and embedded Rerun runbook](docs/06_K1_LIVE_VIEWER.md)
- [Mission Core monorepo and plugin boundary](docs/07_MISSION_CORE_MONOREPO.md)
- [Monorepo architecture decision](docs/adr/0002-mission-core-monorepo.md)
- [Redacted live lab report](docs/lab/001_K1_LIVE_MQTT_20260715.redacted.md)
- [Session manifest schema](schemas/session-manifest.schema.json)
- [Reference input provenance](docs/reference/README.md)