chore(repo): codify local operator resource limits
This commit is contained in:
@@ -26,17 +26,27 @@ and the boundary between Mission Core and vendor-specific integration code.
|
||||
|
||||
## Local operator resource envelope
|
||||
|
||||
- The operator Mac has 18 GB of physical memory. Treat local memory and swap as
|
||||
a hard shared limit, not as disposable build capacity.
|
||||
- The local operator machine is a 14-inch 2023 MacBook Pro with only 18 GB of
|
||||
physical memory. Treat local memory and swap as a hard shared operational
|
||||
limit, not as disposable build capacity.
|
||||
- Run frontend tests, production builds, Docker builds, runtime startup, and
|
||||
browser QA sequentially. Do not launch parallel heavy local jobs.
|
||||
- Do not start Docker Desktop, a Compose stack, a second browser automation
|
||||
session, or a full test/build pass merely for convenience. First prove that
|
||||
the operation is necessary, prefer the narrowest focused check, and keep no
|
||||
more than one memory-intensive validation job active at a time.
|
||||
- Do not run load or stress tests on the Mac. Run bounded synthetic load only on
|
||||
Worker 006, and remove every temporary process after the measurement.
|
||||
- Use only the canonical Mission Core endpoint on port `8000`; do not start
|
||||
duplicate application servers to work around stale state.
|
||||
- Before a memory-intensive local operation, inspect current memory pressure and
|
||||
active Docker workload. Prefer focused tests and existing build artifacts when
|
||||
they are sufficient for acceptance.
|
||||
active Docker workload. If memory pressure is elevated or swap is growing,
|
||||
stop and remove temporary jobs before continuing. Prefer focused tests and
|
||||
existing build artifacts when they are sufficient for acceptance.
|
||||
- After every local test, build, replay, browser-QA, or Docker operation, stop
|
||||
temporary workers, watchers, replay publishers, duplicate viewers, and
|
||||
containers that are not durable operator state. Keep only the canonical
|
||||
Mission Core service on `8000` and explicitly required operator services.
|
||||
- Docker Desktop's configured VM ceiling is not evidence that the host can
|
||||
safely supply that memory. Do not change Docker Desktop CPU or memory limits
|
||||
without explicit owner approval.
|
||||
@@ -90,6 +100,12 @@ decoders before BLE/Wi-Fi/data-session evidence exists.
|
||||
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`.
|
||||
- The canonical `8000` process is durable operator state. A completed test,
|
||||
build, browser QA pass, Codex turn, or implementation increment never
|
||||
authorizes stopping it. Every Control Station task starts by checking and, if
|
||||
necessary, starting the integrated service; every handoff verifies and leaves
|
||||
that exact service running on `8000`. A rebuild may replace it only when the
|
||||
replacement is confirmed listening before handoff.
|
||||
- `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.
|
||||
|
||||
Reference in New Issue
Block a user