docs(simulation): record S1 target bootstrap and UI gates

This commit is contained in:
DCCONSTRUCTIONS
2026-07-24 18:04:11 +03:00
parent 630d1ae819
commit e1809ac9e1
5 changed files with 115 additions and 7 deletions
@@ -0,0 +1,72 @@
# SIM S1 target bootstrap — 2026-07-24
## Result
`PASS` for the exact S1 source-generation/bootstrap boundary. This proves that
the committed S1A/S1B contracts, repository, application service, worker guard
and process-supervisor tests execute inside the accepted `MissionCore-Sim`
target. It does not accept the stock-rover provider lifecycle, PX4 commands,
telemetry, frames, watchdog behavior or S1 as a whole.
## Exact source generation
- Mission Core commit: `630d1ae`.
- Branch: `feat/simulation-polygon-s1`.
- Archive: `NODEDC_MISSION_CORE-s1-630d1ae.tgz`.
- Archive SHA-256:
`0ca5d3ffb008add6e793428e96b88920fdc65fa8d9982e5018ce7a4e83958dae`.
- Source:
`/mnt/d/NDC_MISSIONCORE/simulation/source/NODEDC_MISSION_CORE-630d1ae`.
- Cache:
`/mnt/d/NDC_MISSIONCORE/simulation/cache/mission-core-s1/`.
The archive was produced with `git archive` from the exact commit and an
explicit path set. The pre-existing S0 source and evidence generations were not
modified.
## Target and storage
- WSL distribution: `MissionCore-Sim`.
- Python: `3.12.3`.
- Kernel: WSL2 Linux `6.18.33.1-microsoft-standard-WSL2`, x86-64.
- Mutable source, cache and evidence: D-only.
- D free bytes at bootstrap: `392483127296`.
- Evidence:
`/mnt/d/NDC_MISSIONCORE/simulation/artifacts/s1/bootstrap/20260724T150000Z-630d1ae`.
## Validation
```text
PYTHONPATH=src python3 -m pytest -q \
tests/test_simulation_s1_run_store.py \
tests/test_simulation_s1_orchestrator.py
```
Result:
```text
20 passed in 14.73s
```
The evidence generation retains environment and source identity, target pytest
output, source-file SHA-256 values, an empty process-residue record, an evidence
digest index and `verdict=pass`.
## Accepted and open boundaries
Accepted:
- exact committed S1 source executes on the target worker;
- the D-only source/cache/artifact split is viable;
- local process-group tests stop without retained test processes;
- S1 requires neither a global Python package install nor Docker.
Still open:
- concrete Gazebo/PX4/XRCE/ROS provider specifications;
- product-owned loopback target namespace;
- real-provider health and deterministic shutdown;
- restart-safe PID/start-token reconciliation;
- live pause/resume/step/reset;
- Ackermann/Differential command mapping;
- canonical `VehicleState`, frame conversion and failsafe evidence.