docs(runtime): enforce canonical port 8000

This commit is contained in:
DCCONSTRUCTIONS
2026-07-27 14:02:20 +03:00
parent 9bbd5845b7
commit fa2d66ab0e
4 changed files with 36 additions and 4 deletions
@@ -26,6 +26,23 @@ Before changing UI:
Do not start implementation before resolving the required controls and icons in Do not start implementation before resolving the required controls and icons in
the registries. 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 ## Component gate
- Reuse package exports from `@nodedc/ui-react`, `@nodedc/ui-core`, - Reuse package exports from `@nodedc/ui-react`, `@nodedc/ui-core`,
+5
View File
@@ -46,6 +46,11 @@ decoders before BLE/Wi-Fi/data-session evidence exists.
`.codex/skills/mission-core-product-ui/SKILL.md` and follow `.codex/skills/mission-core-product-ui/SKILL.md` and follow
`docs/17_PRODUCT_UI_AND_LAB_PRESENTATION_CANON.md` and `docs/17_PRODUCT_UI_AND_LAB_PRESENTATION_CANON.md` and
`docs/18_APPLICATION_COMPONENT_ARCHITECTURE.md`. `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 - `NODEDC_DESIGN_GUIDELINE` is the only visual-design source of truth. Before
editing UI, read its `registry/registry.json`, `registry/components.json`, editing UI, read its `registry/registry.json`, `registry/components.json`,
`registry/icons.json`, and the relevant component documentation. `registry/icons.json`, and the relevant component documentation.
+7 -2
View File
@@ -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_SOCKET=/run/missioncore-sim/worker.sock
export MISSIONCORE_POLYGON_WORKER_CONTROL=internal-virtual-only export MISSIONCORE_POLYGON_WORKER_CONTROL=internal-virtual-only
export MISSIONCORE_COMMIT=<exact-40-character-mission-core-commit> export MISSIONCORE_COMMIT=<exact-40-character-mission-core-commit>
uv run uvicorn k1link.web.app:app --host 127.0.0.1 --port 8765 uv run k1link serve
``` ```
```text ```text
http://127.0.0.1:8765/ http://127.0.0.1:8000/
``` ```
The direct `?workspace=polygon-run&run=<qualification-run-id>` URL remains a The direct `?workspace=polygon-run&run=<qualification-run-id>` 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 closed. The browser receives no Unix socket, D root, artifact bytes, PX4
endpoint or direct provider command. 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), See the [Polygon product/SRS](docs/12_SIMULATION_POLYGON_PRODUCT_AND_SRS.md),
[ADR 0015](docs/adr/0015-simulation-polygon-qualification-boundary.md), [ADR 0015](docs/adr/0015-simulation-polygon-qualification-boundary.md),
[ADR 0016](docs/adr/0016-distributed-product-edge-and-worker-topology.md), [ADR 0016](docs/adr/0016-distributed-product-edge-and-worker-topology.md),
+7 -2
View File
@@ -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_SOCKET=/run/missioncore-sim/worker.sock
export MISSIONCORE_POLYGON_WORKER_CONTROL=internal-virtual-only export MISSIONCORE_POLYGON_WORKER_CONTROL=internal-virtual-only
export MISSIONCORE_COMMIT=<exact-40-character-commit> export MISSIONCORE_COMMIT=<exact-40-character-commit>
uv run uvicorn k1link.web.app:app --host 127.0.0.1 --port 8765 uv run k1link serve
``` ```
Open the Control Station: Open the Control Station:
```text ```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 After Mission Core confirms the worker, `Полигон` must appear in the header and
open the implemented Polygon workspace directly. The legacy open the implemented Polygon workspace directly. The legacy
`?workspace=polygon-run[&run=<qualification-run-id>]` URL redirects to `?workspace=polygon-run[&run=<qualification-run-id>]` URL redirects to