Record owner-confirmed onboard K1 Bridge laboratory checkpoint

This commit is contained in:
DCCONSTRUCTIONS
2026-09-07 21:43:19 +03:00
parent ee5d760c30
commit cc90709919
2 changed files with 138 additions and 0 deletions
@@ -127,6 +127,18 @@ and return, then start another named scan without a separate recovery action.
Also inspect autofill colors and the live scene corners. Physical and browser/GPU
visual acceptance remain pending; no such acceptance is claimed from build/tests.
### Owner laboratory checkpoint after installation
The owner subsequently reports that the normal repeated Bridge workflow works
and that K1 remains connected after closing the browser tab and opening the same
Mission Core address in a new tab. This closes the bounded owner laboratory
workflow gate, not the multi-scenario robustness gate. The owner explicitly did
not test critical/failure scenarios and does not accept the overall Node/K1
connection contour as fully complete. Autofill/corner presentation is not
independently certified by this general functional confirmation. The consolidated
scope, implementation history and open acceptance matrix are recorded in
`2026-09-07-k1-node-bridge-lab-checkpoint-r16.md`.
Final canonical Core health: HTTP 200, ok=true. Port 8000 remains on the original
PID 88424 at the pre-install check; no backend on 8765. No Docker service or
temporary application server was started. The installer was the only new
@@ -0,0 +1,126 @@
# Mission Core → onboard Node → K1 Bridge: laboratory checkpoint R16
## Decision and evidence boundary
On 2026-09-07, after installing R16, the owner confirms that the repeated normal
workflow works in the current controlled laboratory setup. They additionally
closed the browser tab, opened the same Mission Core address in a new tab and
found K1 still connected. Through Mission Core, the owner can connect K1 to the
onboard computer in Bridge mode, configure a named acquisition, start/observe
and stop it, then return without the previous mandatory manual reconnection.
Earlier owner runs in this conversation showed actual camera, point cloud and
trajectory, as well as successful physical START and STOP.
Acceptance level: **working laboratory scenario, broader robustness unproven**.
This is owner-reported physical/UI evidence, separate from automated regressions
and package/service readback. No new agent-controlled physical experiment was
performed, and no raw capture, secret, network credential or device identifier is
included here. The exact count and duration of repeated scans were not measured.
The general confirmation does not independently certify every visual detail.
The owner explicitly states that critical scenarios were not exercised. Do not
mark the complete Mission Core/Node/K1 connection contour or Node architecture
finished. Do not generalize this result to other networks, devices, firmware,
Quick Connect, GNSS/RTK modes or autonomous mission operation. The next work
assignment will come from the owner; the matrix below is an open gate, not an
instruction to begin physical fault injection.
## Architecture represented by this result
Operator intent travels from Control Station through Core Fleet and the paired
Node broker to the isolated K1 plugin. Node remains responsible for local
device access and recording; Core/browser provide operator control and viewing.
Preview recovery does not own physical START/STOP or Wi-Fi provisioning.
Enrollment, connectivity, acquisition, recording and preview are separate states.
Direct K1 and onboard views consume shared product components while retaining
their transport, profile and authority boundaries.
This checkpoint does not amend the frozen architecture baseline in
MISSIONCOR-76. Implementation progress belongs in that card's comments; current
integration details belong in MISSIONCOR-3, and the project summary in
MISSIONCOR-2. The older direct-Mac acceptance remains distinct from this Linux
onboard laboratory result.
## Work consolidated from the conversation
| Area | Implemented result and causal evidence |
| --- | --- |
| Linux installation and control authority | Separate Node/K1 packages, supplied runtime and services; systemd credential delivery accepted without exporting the existing encrypted credential into R12R16 updates. Linux route contract and Node/plugin operation identity translation corrected in earlier stages. Installed R9 physically enabled START/STOP. |
| RRD transport, R10 | SCTP fragmentation previously fed partial RRD fragments directly into the decoder. A bounded versioned envelope now reassembles complete native payloads before decoding; malformed, partial and oversized input is rejected. FFmpeg path and delayed camera producer admission corrected. |
| Idle preview and shared scene, R12 | An empty native sink read returned None and incorrectly killed the peer. Idle reads now preserve channels; freshness comes from source metadata. Direct and onboard views share the established scene, controls and camera composition. Camera delivery waits for the actual recording producer/committed media and cannot start a producer after STOP. |
| Accumulation and route continuity, R13 | Outbox/backpressure previously replaced the recording and erased history. Protocol v3 preserves recording identity and batch/ACK cursor across disposable peer recovery, with bounded queues, deduplication and explicit expired-resume rejection. Preview never blocks the archive or repeats device commands. Source freshness remains separate from retained history. |
| Operator flow, R13R15 | Shared spatial scene and K1 phase/timing/route/speed capsule; engine/layer/display controls, accumulation and floating camera. Removed redundant status/loading panels and unused LAB/AI chrome. Full-width configuration action; camera waiting overlay no longer covers its draggable header. Shared installation/GNSS/project fields gate START on a valid name; current admitted modes remain handheld/no RTK. Shared password visibility control and precise connection failure presentation. |
| Bluetooth and verification, R14R15 | 18:03 failure was a missing BlueZ object before Connect/GATT/Wi-Fi write. R14's nested discovery introduced another failure; the native historical error code was not retained, while the installed-client synthetic reproduction produced InProgress. R15 uses one selected-device discovery context held through Connect, removes premature capture revocation and shares policy-bound verification for enrollment/detail. These failures were before password delivery, not evidence of a wrong Wi-Fi password. |
| Between scans, R16 | Completed STOP/READY previously closed the control socket and projected connection loss. The idle socket now remains serviced. The next explicit START opens a fresh one-shot command dialogue for the same bound device/network without another BLE/provisioning step. Generation/CAS and physical ledger guards remain; actual loss still requires proof/recovery. The adapter also no longer mistakes its own just-admitted pending START for a separate unresolved command. |
| Connection and field presentation, R16 | Inventory reports communication separately from acquisition completion. Canonical Design Guideline Field owns neutral autofill colors. Shared spatial viewport has one rounded compositing clip. Actual GPU corner/autofill detail acceptance is not inferred from the broad functional confirmation. |
R12 stability and R14 enrollment were failed intermediate acceptance attempts;
their installation success and synthetic tests were not treated as physical
success. The final implementation supersedes those intermediate mechanisms.
## Source and delivery
Key source commits: R10 `92b60de`, R11 `ad24518`, R12 `fa8ac76` + `9e03404`,
R13 `9bba44f`, R14 `eed53db`, R15 `762d77e`, R16
`c6693d6f442e0d2bb4ea3c5710db7af44d41b667`. Installation verification is
`ee5d760`. Design Guideline autofill commit/pin:
`26a1bf72a2a32b002e51f910e8faa300333bb6c3`.
Installed R16: Node **0.8.13**, K1 **0.1.13**, both install-ok and active/running,
NRestarts=0 at post-install readback. Service starts: 21:22:04/21:22:13 MSK;
bounded warning-or-higher journal since startup was empty. Core health was
HTTP 200, ok=true, and Fleet reported the board online. These observations
precede the owner's final confirmation; they are not continuous monitoring.
- Node DEB SHA-256: `d5571c956f305ee658a9119d7afeecfb47c99a2aa9dffad37ad2ba9b5e25e592`.
- K1 DEB SHA-256: `0cb5826f6c452189c19d69291552492da56bb88b08715fddff8c31eb587a7429`.
Archive members/provenance and remote hashes were checked. R16 contains no
private application key. Owner entered sudo in the Ubuntu GUI; installed state
was verified independently. Source changes are committed locally. This report
does not claim a Git push or remote branch synchronization.
Principal implementation files: `src/k1link/viewer/node_media.py`,
`node_rerun.py`; K1 `ble/scanner.py`, `ble/wifi_provisioning.py`,
`ble/ap_activation.py`, `node_bridge.py`, `node_sensor.py`, `facade.py`,
`camera.py`, `protocol/application_session.py`, `application_acceptance.py`;
`packages/spatial-ui/src/SpatialScene.tsx`, `FloatingMediaWindow.tsx`,
`spatial.css`; K1 frontend `K1AcquisitionFields.tsx`, `K1SpatialSession.tsx`,
`K1WifiPasswordField.tsx`, sensor preview/enrollment/presentation adapters;
Node/K1 package builders and service definition; DG `packages/ui-core/styles.css`
with registry/docs/catalog updates. Exact paths and individual changes are in
the commits and dated R10R16 audits.
## Validation performed
R16: 167 control/protocol/Node/supervisor/coordinator checks, final affected
subset 89; full acquisition lifecycle 631; installer/package 14; Control Station
809; TypeScript/production builds, DG registry/build, Node UI/Go/package build,
K1 package inspection, Ruff and whitespace checks passed. Counts overlap where
subsets were rerun and must not be summed as unique tests.
R13 included real bounded loopback WebRTC with native RRD fragmentation,
backpressure beyond the old timeouts, ACK loss/resume and camera idle/resume.
R15 included the real pinned Bleak manager/scanner against a synthetic D-Bus
wire, without hardware access. These regressions protect implementation
contracts; they do not establish field reliability or a long-running rate.
## Acceptance retained and still required
- [x] R16 package installation and service health verified.
- [x] Owner confirms normal repeated Bridge workflow in the current laboratory.
- [x] Owner confirms K1 connection survives closing/reopening the browser tab.
- [x] Camera/cloud/trajectory and UI START/STOP observed in this conversation.
- [ ] Measured 10/20/30 scan cycles, long idle intervals and long acquisition.
- [ ] Browser/Core/Node/plugin failures separately while idle, capturing and finalizing.
- [ ] K1 sleep, power interruption, wake/reboot and recovery after each stage.
- [ ] Network outage/degradation, changed DHCP address, router restart and changed network settings.
- [ ] Lost/delayed/duplicated command replies with proof of no repeated physical START/STOP/write.
- [ ] Preview congestion/recovery under varied load without false live status or hidden history reset.
- [ ] Storage pressure, interrupted finalization and durable archive integrity/recovery.
- [ ] Concurrent tabs/operators, stale generations and mismatched device identity.
- [ ] Other host/device/firmware/topology profiles and full UI visual matrix.
Decision: retain the working checkpoint and keep broader onboard connection
acceptance open. No claim of production reliability, autonomous mission
readiness, complete Node requirements, or multi-device generalization is made.