docs: record rover integration closeout and verification
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
# Rover 006 implementation closeout — 2026-09-25
|
||||
|
||||
This checkpoint joins the VESC development branch and the operator checkout.
|
||||
Both source histories are retained. Earlier operator driver code is superseded
|
||||
by the accepted Node 0.8.45-1 / VESC plugin 0.7.4 source; no new installation,
|
||||
firmware write, calibration, motion command or service restart was performed.
|
||||
|
||||
## Scope and repositories
|
||||
|
||||
- Mission Core: native VESC Tool bridge, discovery by controller UUID,
|
||||
configuration archive, calibration/Hall diagnostics, managed Linux startup,
|
||||
bounded USB recovery, board layout, motor assignments, remote command
|
||||
authority, 3D rover scene, telemetry, keyboard controls and lifecycle fixes.
|
||||
- Design Guideline: canonical momentary KeyButton, registry, catalog and docs.
|
||||
Dependency source commit: `a5a73c8753c2cdee42bee31e6ae50b6ece692d2d`.
|
||||
- Existing operator work is separately committed: AI polygon runtime/navigation,
|
||||
interface and evidence reports, plus launchd log-path recovery. NodeDC scene
|
||||
donor and Blender source were read-only; scene provenance is shipped with
|
||||
the renderer and exported model. No source changes in donor repositories.
|
||||
|
||||
## Integration preservation
|
||||
|
||||
The overlapping copies used different VESC driver generations. Conflicts were
|
||||
reviewed per file. Shared App/router preserve both AI and rover composition.
|
||||
All 127 AI/recovery/mixed files matched their preserved operator commit after
|
||||
resolution. Final VESC-owned source matches the development branch, except the
|
||||
intentional AI additions in App/router. One exact duplicate service-stop block
|
||||
created by auto-merge was removed. Earlier versions remain in Git history;
|
||||
private pre-commit file snapshots and a patch inventory remain outside Git.
|
||||
|
||||
`outputs/` contains private experiment material and is ignored, not deleted.
|
||||
The product rover GLB uses existing Git LFS; model SHA-256 is
|
||||
`15f17f5b5b014e0f65273aa1565b7fb8e46381ca389a3c3d3ca89a32806bfb79`.
|
||||
No raw controller configurations, serial inventories or credentials were added.
|
||||
|
||||
## Verification
|
||||
|
||||
- Design Guideline `npm run check` and registry validation pass.
|
||||
- Integrated Control Station: 962 unit/architecture tests; production build
|
||||
(including TypeScript) passes.
|
||||
- Integrated Core/fleet/environment/AI/launchd selection: 225 pytest cases pass.
|
||||
- VESC's declared unittest discovery: 144 cases pass.
|
||||
- Node UI: its unit test and production build/typecheck pass.
|
||||
- Earlier current-turn neutral-only startup acceptance remains: first-click
|
||||
preparation reached ready; 307 telemetry samples, no movement or fault,
|
||||
explicit stop with release confirmed. Focus-loss resume was accepted by the
|
||||
owner in the preceding physical trial. See the control report for boundaries.
|
||||
- Go/Linux native build qualification is inherited from the shipped release;
|
||||
no new Linux native build or clean-host installation was attempted here.
|
||||
|
||||
An initial mixed pytest invocation incorrectly collected an imported unittest
|
||||
helper and hit the sandbox's loopback-bind restriction. Correct declared
|
||||
unittest discovery plus permitted synthetic loopback pytest runs passed.
|
||||
Large frontend bundle and Starlette deprecation warnings remain; no new test
|
||||
failures. No live Worker simulation, physical motion or RC takeover test was
|
||||
performed by this closeout.
|
||||
|
||||
## Accepted and outstanding behavior
|
||||
|
||||
Calibration and raised-rig forward/reverse/group rotation were previously
|
||||
accepted. Keyboard movement/release, shared reversal neutral, focus pause with
|
||||
session preservation, and first-entry preparation have bounded acceptance.
|
||||
The left Hall electrical chain remains broken; it has not been repaired.
|
||||
Manufacturer-approved hardware/power limits, loaded/field behavior, remaining
|
||||
Tank/Stop/channel-loss checks and physical RC takeover remain open. Radio
|
||||
one-stick mixing is deferred; this does not prevent software Arcade/Tank modes.
|
||||
|
||||
Canonical configuration/evidence: [MISSIONCOR-85](https://ops.nodedc.ru/nodedc/browse/MISSIONCOR-85).
|
||||
Historical integration: [MISSIONCOR-84](https://ops.nodedc.ru/nodedc/browse/MISSIONCOR-84).
|
||||
AI polygon evidence: [MISSIONCOR-83](https://ops.nodedc.ru/nodedc/browse/MISSIONCOR-83).
|
||||
|
||||
## Semantic commits
|
||||
|
||||
```text
|
||||
24bbaef chore(repo): keep private evidence local and version rover assets with LFS
|
||||
45fb14b feat(vesc): integrate native calibration diagnostics and configuration archives
|
||||
5381823 feat(node): ship managed environment startup and USB recovery
|
||||
63cbb08 feat(rover): add drive profiles and leased remote command channel
|
||||
6d772b2 feat(control-station): add rover scene telemetry and guarded keyboard control
|
||||
bc55901 fix(core): serialize planning reports outside the control event loop
|
||||
6bbbd5b docs(rover): record calibration control acceptance and operating boundaries
|
||||
a7c64e0 fix(core): keep launchd service logs outside protected Downloads
|
||||
f01bd39 feat(simulation): add Worker AI polygon runtime and terrain navigation
|
||||
e627500 feat(control-station): add AI polygon setup streaming and mission controls
|
||||
dad11b4 docs(simulation): record polygon experiments and bounded route acceptance
|
||||
71a648f feat(fleet): preserve operator VESC integration before final driver merge
|
||||
399af98 merge: integrate final rover control with operator simulation workspace
|
||||
```
|
||||
|
||||
Remote push acknowledgements, final refs/clean-tree checks and log SHA-256
|
||||
receipts are kept in the private closeout directory and Ops; this report does
|
||||
not claim a push before its receipt exists.
|
||||
Reference in New Issue
Block a user