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
+39
View File
@@ -0,0 +1,39 @@
# NODEDC MISSION CORE monorepo
This document maps the renamed repository to the target Mission Core
architecture without claiming that unfinished package boundaries already
exist.
## Current layout
| Path | Current responsibility | Target responsibility |
| --- | --- | --- |
| `apps/control-station/` | React shell, device workflow, spatial scene | Vendor-neutral operator application |
| `src/k1link/web/` | Local FastAPI control plane and K1 session orchestration | Generic host APIs plus plugin supervisor |
| `src/k1link/viewer/` | Replay runtime and Rerun adapter | Canonical scene sink and presentation adapter |
| `src/k1link/ble/` | K1 BLE discovery and reviewed provisioning | `plugins/xgrids-k1` |
| `src/k1link/mqtt/` | Raw-first K1 MQTT capture | `plugins/xgrids-k1` behind EvidenceStore |
| `src/k1link/protocol/` | Firmware-scoped K1 codecs | `plugins/xgrids-k1` |
| `packages/plugin-sdk/` | Contract placeholder | Versioned manifests, capabilities, lifecycle, schemas |
| `plugins/xgrids-k1/` | Extraction boundary and documentation | Independently versioned device plugin |
## Extraction order
1. Define canonical PointCloud, Pose, DeviceStatus, RawEnvelope, and metrics
contracts in the Plugin SDK.
2. Make Rerun consume canonical frames rather than K1 MQTT topics.
3. Extract codecs and replay parity fixtures.
4. Extract raw capture with fault isolation between evidence and preview.
5. Extract BLE/Wi-Fi provisioning and MQTT into a least-privilege edge worker.
6. Replace K1-specific host routes and state with plugin/device-session APIs.
7. Drive the connection wizard from plugin capabilities and schemas.
8. Re-run native replay and the physical BLE → Wi-Fi → MQTT → scene acceptance.
## Invariants
- Raw evidence is durable before preview work.
- Mission Core starts when the XGRIDS plugin is absent or disabled.
- The plugin cannot add global navigation or arbitrary CSS.
- Vendor writes and commands require declared capabilities and operator gates.
- The visualization engine can be replaced without changing device plugins.
- Real captures and credentials remain outside Git.