# Autopilot State

## Current Step

step: 3
name: Decompose
status: in_progress
sub_step: 1 — Bootstrap Structure Plan

## Completed Steps

| Step | SubStep | Name                 | Completed  | Key Outcome                                                                                                                                |
| ---- | ------- | -------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| 0    | 4/4     | Problem              | 2026-03-19 | Semantic detection for camouflaged positions via two-level scan, 3 submodules                                                              |
| 1    | 4/4     | Research (Mode A)    | 2026-03-19 | Draft01: three-tier architecture (YOLOE-26 + CNN + VLM)                                                                                    |
| 1    | 8/8     | Research (Mode B R1) | 2026-03-19 | Draft02: 11 weak points addressed — thermal, robustness, degradation, VLM availability hedge                                               |
| 1    | 8/8     | Research (Mode B R2) | 2026-03-19 | Draft03: 11 more weak points — vLLM replaced with NanoLLM, dual backbone, NVMe mandatory, CRC UART, recording/logging, power management    |
| 2    | 6/6     | Plan                 | 2026-03-20 | 6 components + 2 helpers, 93 tests across 6 specs, 8 epics (42-68 pts), 96% AC coverage, FINAL_report.md complete                         |


## Key Decisions

- Three-tier architecture with graceful degradation
- YOLOE backbone configurable: benchmark YOLO11 vs YOLO26 before committing
- FP16 TRT only for initial deployment (INT8 unstable on Jetson)
- NanoLLM replaces vLLM as VLM runtime (vLLM unstable on Jetson)
- VILA1.5-3B primary VLM via NanoLLM; UAV-VL-R1 via llama.cpp if GGUF available
- NVMe SSD mandatory (SD card corruption documented)
- UART integrity: check ViewLink spec first for native checksum, then add CRC-16 if needed
- Detection logger + frame recorder for post-flight review and training data
- Power monitoring via INA sensors + load shedding
- Ruggedized carrier board (MILBOX-ORNX or similar)
- V1 path tracing: minimal heuristic, no CNN (ship fast, validate)
- **V2 CNN removed from plan** — heuristic + VLM sufficient; CNN adds unnecessary complexity
- Version pinning: Ultralytics, JetPack, NanoLLM
- E2E test coverage of 76% accepted
- Data model simplified: no traditional DB, only runtime structs + persistent flat files (NVMe)
- Architecture simplified: 5 system flows, inline health checks, capability flags, 2 environments
- ScanController: Behavior Tree (py_trees 2.4.0) — ADR-008
- **Dynamic Search Scenarios** — data-driven YAML configs with 4 investigation types (path_follow, cluster_follow, area_sweep, zoom_classify)
- **GIL is not a concern** — all compute-heavy ops release GIL; VLM in separate process; single-threaded by design
- **Tier2PathTracer generalized to Tier2SpatialAnalyzer** — supports mask tracing (footpaths) and cluster tracing (AA networks, vehicle groups) via unified SpatialAnalysisResult/Waypoint output
- Jira epics created: AZ-130 (Bootstrap), AZ-131 (Tier1), AZ-132 (Tier2), AZ-133 (VLM), AZ-134 (Gimbal), AZ-135 (Output), AZ-136 (ScanController), AZ-137 (Integration Tests)

## Last Session

date: 2026-03-20
ended_at: Step 2 Plan — SubStep 6/6 complete
reason: Plan step completed, auto-chaining to Step 3 Decompose
notes: Steps 5 (Test Specifications) and 6 (Jira Epics) completed. 93 tests written across 6 component test specs (50 integration, 14 performance, 9 security, 20 acceptance). 8 epics documented in epics.md (Jira MCP auth skipped). FINAL_report.md written. 96% AC coverage (27/28 — AC-28 training dataset is data annotation scope, not runtime).

## Blockers

- R05 (Critical): Seasonal generalization — mitigated by phased rollout (winter first)
