docs(lab): plan the post-E29 research cycle

This commit is contained in:
DCCONSTRUCTIONS
2026-07-26 18:24:59 +03:00
parent f50405d907
commit 2ffaf94052
2 changed files with 55 additions and 0 deletions
@@ -618,6 +618,38 @@ is
the detailed interpretation and reproduction contract are in
`experiments/perception/LAB_E29_REPORT_2026-07-26.md`.
#### Accepted research cycle after E29
The next objective is not to make the K1 cloud look more like a conventional
rotating-LiDAR dataset. It is to decide whether the existing passive K1
`lio_pcl + lio_pose` stream can reliably confirm metric occupied geometry for
camera-first observations at recorded source pace. The persistent
reconstruction remains an independent derivative and is never overwritten by
perception filtering.
The cycle uses the existing immutable `RAVNOVES00` recording first. A connected
K1, firmware changes, new application commands and a newly collected training
dataset are not prerequisites. Every row below is a separate immutable LAB run
with a complete `missioncore.laboratory-method/v1` manifest.
| LAB | Question and admitted input | Required evidence and measures | Exit decision |
| --- | --- | --- | --- |
| **E30 — disagreement audit** | Why did E29 produce 38 conflicts, 13,246 camera-only observations and 21,321 unassociated occupied components? Input is the immutable E29 result plus its exact RAVNOVES00 camera/LiDAR/pose evidence. | Review all conflict episodes and a stratified sample of agree, camera-only, unknown and geometry-only cases. Each reviewed item keeps synchronized camera, point cloud, source time and classification into evidenced causes such as FOV, occlusion, time binding, projection/calibration, sparse return, local-surface error, association error or self/rig geometry. | Freeze a cause distribution and the minimum correction set. Do not tune thresholds before this audit. |
| **E31 — time, transform and self-mask qualification** | Are camera↔LiDAR binding, factory calibration identity, pose age and rig footprint sufficient for E29? | Pin the read-only calibration/profile identities; measure timestamp/pose-age distributions, projection residuals where corresponding evidence exists, offset sensitivity and the effect of a source-defined vehicle/self mask. No hard-coded handheld sensor height and no inferred raw firing time. | Accept one evidenced binding/profile or fail closed and retain diagnostic-only E29. |
| **E32 — camera-first geometry v2** | Does the accepted E31 profile improve consistency without erasing occupied evidence? | Re-run the full 4,489-frame source with the exact E31 profile. Compare E29 and E32 by class, distance, scene interval and cause bucket: agree, camera-only, conflict, unknown, geometry-only, occupied support and excluded samples. Show before/after evidence for every changed conflict episode. | Accept the profile only if conflict/staleness improves without converting unknown or unsupported space to free and without hidden source loss. |
| **E33 — recorded-source-paced fusion shadow** | Can the complete camera-first + geometry pipeline keep up with the recorded source stream on the worker? | Replay E32 at original host pace through bounded latest-wins queues. Record sensor-to-result p50/p95/max, deadline misses, queue depth, replacements, drops, stale results, recovery, CPU, RSS, GPU/VRAM, runtime/container and exact model-weight identities. Commands remain impossible. | Admit a replay-shadow candidate only when accounting is closed, resource bounds are declared and every late/missing result becomes explicit health state. |
| **E34 — temporal occupied layer** | Can occupied geometry remain stable enough for a local world model without polluting the persistent reconstruction? | Build a separate short-TTL layer over accepted E32/E33 evidence. Measure component continuity, re-association, ghost lifetime, stale expiry, map-frame jumps and geometry-only persistence. Visualize track history and expiration; retain raw/map evidence unchanged. | Accept only bounded occupied/unknown telemetry. Dynamic class, free space and planner authority remain unavailable unless independently proved. |
| **E35 — deterministic degradation and recovery** | Does the accepted pipeline fail safely when one source degrades? | Derive immutable replay variants for camera loss, LiDAR loss, pose staleness, delayed frames, bounded drops and timing offset. Preserve the original source and record every injected transformation. Measure status transitions, recovery time, queue accounting and false confidence. | Pass only if missing evidence becomes camera-only, geometry-only, stale or unknown; never guessed class, false free space or hidden success. |
| **E36 — second-source transfer gate** | Does the result survive another real capture rather than only RAVNOVES00? | First audit the source catalog for a second recording with the required camera, LiDAR, pose, time and calibration identities. Run the accepted E32E35 profile unchanged when such evidence exists. Public GOOSE/RELLIS data may qualify an algorithm but cannot substitute for this K1 transfer gate. | Compare the frozen profile without retuning. If no eligible source exists, publish a blocked LAB record naming the missing modalities; do not fabricate a result or collect new data by default. |
Execution is strictly sequential through E33: E30 determines what E31 is
allowed to change; E31 determines the E32 profile; E32 determines the E33
runtime input. E34 and E35 may proceed only after E33 closes exact accounting.
E36 is the first generalization gate. A separate product decision follows:
either keep the result as operator/shadow evidence, or start L5 occupied-space
integration. No LAB in this cycle can enable navigation, commands or safety
authority.
### L5 — local occupancy and Nav2
- [ ] Qualify conservative hit-based occupied/unknown output from the existing
+23
View File
@@ -157,6 +157,29 @@ A LAB run may be shown as diagnostic evidence with `legacy-partial` method
metadata. It may be called reproducible or promoted only when the method is
`complete` and its experiment-specific acceptance gates pass.
## Planning discipline
A planned LAB number is not a placeholder page. Before execution it must name:
1. one decision question or falsifiable hypothesis;
2. the exact immutable source and admitted derivative inputs;
3. the method identities and the one configuration allowed to vary;
4. the required visual evidence;
5. measurements, exclusions and predeclared thresholds;
6. the exit decision and the authority that remains forbidden.
After execution, the planned definition is retained in the immutable result.
Changing the source, algorithm, model weights, preprocessing, thresholds or
runtime creates a new LAB run. A failed or blocked experiment remains useful
only when its missing evidence and failure reason are explicit; an empty
viewer or invented metric is never a laboratory result.
The accepted E30E36 camera-first/K1 research sequence is maintained in
`docs/13_LIDAR_WORKER_PRODUCT_AND_ROADMAP.md`. It deliberately starts with the
E29 disagreement audit and recorded evidence already available in Mission
Core. It does not require a connected K1 or new data collection before the
existing recording has exhausted its admitted questions.
## Storage and Git
Raw captures, model weights, generated RRD, videos and large derived arrays stay