diff --git a/.codex/skills/mission-core-product-ui/SKILL.md b/.codex/skills/mission-core-product-ui/SKILL.md index f14d2cb..cfe8a73 100644 --- a/.codex/skills/mission-core-product-ui/SKILL.md +++ b/.codex/skills/mission-core-product-ui/SKILL.md @@ -26,6 +26,23 @@ Before changing UI: Do not start implementation before resolving the required controls and icons in the registries. +## Canonical local endpoint + +- Keep the integrated Mission Core Control Station and API exclusively on + `http://127.0.0.1:8000`. +- Never start a second integrated backend on an alternate port to bypass a + stale or occupied `8000`. In particular, TCP `8765` is a legacy Foxglove + regression port and is not an operator path. +- Before browser QA or product handoff, inspect listeners on `8000` and `8765`. + If the Mission Core process on `8000` is stale, restart that exact canonical + service instead of launching another instance. +- Use `5173` only for an explicitly requested Vite development session and + `4173` only for an explicitly requested production preview. Both must proxy + the API to `8000`; neither changes the canonical integrated endpoint. +- Finish with exactly one integrated Mission Core backend on `8000` and no + Mission Core backend on `8765`. Open or hand off `8000`, never an alternate + backend URL. + ## Component gate - Reuse package exports from `@nodedc/ui-react`, `@nodedc/ui-core`, diff --git a/AGENTS.md b/AGENTS.md index ddfc144..8c23cfc 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -46,6 +46,11 @@ decoders before BLE/Wi-Fi/data-session evidence exists. `.codex/skills/mission-core-product-ui/SKILL.md` and follow `docs/17_PRODUCT_UI_AND_LAB_PRESENTATION_CANON.md` and `docs/18_APPLICATION_COMPONENT_ARCHITECTURE.md`. +- The integrated Control Station and API have one canonical local endpoint: + `http://127.0.0.1:8000`. Never start a second Mission Core backend on another + port to bypass a stale process. TCP `8765` is legacy Foxglove regression + only, not an operator path. Restart the canonical `8000` process and finish + with no Mission Core backend listening on `8765`. - `NODEDC_DESIGN_GUIDELINE` is the only visual-design source of truth. Before editing UI, read its `registry/registry.json`, `registry/components.json`, `registry/icons.json`, and the relevant component documentation. diff --git a/README.md b/README.md index d108ed1..1fa777e 100644 --- a/README.md +++ b/README.md @@ -307,11 +307,11 @@ export MISSIONCORE_POLYGON_RUNS_ROOT=/mnt/d/NDC_MISSIONCORE/simulation/artifacts export MISSIONCORE_POLYGON_WORKER_SOCKET=/run/missioncore-sim/worker.sock export MISSIONCORE_POLYGON_WORKER_CONTROL=internal-virtual-only export MISSIONCORE_COMMIT= -uv run uvicorn k1link.web.app:app --host 127.0.0.1 --port 8765 +uv run k1link serve ``` ```text -http://127.0.0.1:8765/ +http://127.0.0.1:8000/ ``` The direct `?workspace=polygon-run&run=` URL remains a @@ -322,6 +322,11 @@ commit. Missing configuration, transport drift and corrupt evidence fail closed. The browser receives no Unix socket, D root, artifact bytes, PX4 endpoint or direct provider command. +Do not launch a second integrated backend on another port when `8000` is +already occupied. Stop or restart the stale Mission Core process on `8000`. +TCP `8765` remains reserved for the legacy Foxglove regression module and is +not a Control Station operator path. + See the [Polygon product/SRS](docs/12_SIMULATION_POLYGON_PRODUCT_AND_SRS.md), [ADR 0015](docs/adr/0015-simulation-polygon-qualification-boundary.md), [ADR 0016](docs/adr/0016-distributed-product-edge-and-worker-topology.md), diff --git a/docs/runbooks/SIM_S1C_LIVE_WORKER.md b/docs/runbooks/SIM_S1C_LIVE_WORKER.md index 21e2dde..0b63257 100644 --- a/docs/runbooks/SIM_S1C_LIVE_WORKER.md +++ b/docs/runbooks/SIM_S1C_LIVE_WORKER.md @@ -114,15 +114,20 @@ export MISSIONCORE_POLYGON_RUNS_ROOT=/mnt/d/NDC_MISSIONCORE/simulation/artifacts export MISSIONCORE_POLYGON_WORKER_SOCKET=/run/missioncore-sim/worker.sock export MISSIONCORE_POLYGON_WORKER_CONTROL=internal-virtual-only export MISSIONCORE_COMMIT= -uv run uvicorn k1link.web.app:app --host 127.0.0.1 --port 8765 +uv run k1link serve ``` Open the Control Station: ```text -http://127.0.0.1:8765/ +http://127.0.0.1:8000/ ``` +The integrated backend has one canonical local endpoint. If `8000` is occupied +by a stale Mission Core process, restart it; do not launch a second backend on +an alternate port. TCP `8765` is reserved for the legacy Foxglove regression +module and is not an operator path. + After Mission Core confirms the worker, `Полигон` must appear in the header and open the implemented Polygon workspace directly. The legacy `?workspace=polygon-run[&run=]` URL redirects to