19 Commits

Author SHA1 Message Date
Yuzviak 7f76acfe29 docs(02-07): Phase 2 plan 07 SUMMARY + Phase 2 PHASE-SUMMARY
- 02-07-SUMMARY.md: log_schemas.py shape, test counts, AC-TRACEABILITY delta,
  E2E smoke notes, Phase 2 DoD checklist (9/10 checked, ROADMAP human action)
- 02-PHASE-SUMMARY.md: Phase 2 capstone — 236 tests, 15 ACs covered, 39 declared,
  10 hot-path structlog files, 3 boundary schemas, handoff notes for Phase 3
2026-05-11 18:53:43 +03:00
Yuzviak 14717c5364 chore(02-07): regenerate AC-TRACEABILITY.md with test_log_schemas nodeids
- AC-1.4: +5 test nodeids (round_trip, 3 label parametrize, rejects_unknown)
- AC-4.3: +6 test nodeids (round_trip, fix_type bounds x3, extra rejected, frozen)
- AC-2.1b: +6 test nodeids (accept round_trip + 5 reject-reason parametrize)
- AC-6.3: +1 test nodeid (api_request round_trip)
- ACs covered: 14 -> 15; --check exit 0
2026-05-11 18:50:51 +03:00
Yuzviak e81b6fdfba docs(02-05): complete CI pipeline split + AC orphan reconciliation plan
- 02-05-SUMMARY.md: full execution record for plan 02-05
- ROADMAP.md: plan progress updated (5 summaries of 7 plans complete)
- REQUIREMENTS.md: AC-06 and TEST-02 marked complete

Per-marker CI jobs and ac-traceability gate are now the CI contract.
All 21 orphan ACs annotated pending-phase-N; --check exits 0 locally.
2026-05-11 18:35:47 +03:00
Yuzviak 61c39cc060 chore(02-05): regenerate AC-TRACEABILITY.md after script + AC doc updates
Updated matrix reflects:
- _PENDING_RE addition: 21 orphan ACs now show DEFERRED (pending-phase-N)
- 4 hardware-deferred ACs show DEFERRED (hardware)
- 14 covered ACs show OK
- Summary stat line updated to 'deferred (hardware or pending-phase): 25'

git diff --exit-code .planning/AC-TRACEABILITY.md now exits 0.
2026-05-11 18:33:45 +03:00
Yuzviak fcd4bb7b3e docs(02-04): complete plan summary — 14 ACs covered, 216 passed, --check deterministic 2026-05-11 18:27:47 +03:00
Yuzviak 419e9c5b3a feat(02-04): generate initial AC-TRACEABILITY.md
- 39 AC entries from acceptance_criteria.md
- 14 non-deferred ACs covered by tagged tests
- 4 ACs DEFERRED (hardware): AC-NEW-1, AC-NEW-5, AC-NEW-7, AC-NEW-3 (partial)
- 25 ACs orphan (pending Phase 3+ tests)
- Zero backward orphans
2026-05-11 18:26:13 +03:00
Yuzviak 61e5544d82 docs(02-03): add plan summary — 37 files marked, 216 passed, 100% coverage 2026-05-11 18:20:10 +03:00
Yuzviak a11ed15187 docs: add Phase 1 ADRs and update PROJECT.md with completed decisions
ADR 0002: hexagonal/ports-and-adapters architecture — components/ layout,
  protocol.py per component, composition root, core/ for concentrated math.
ADR 0003: @dataclass(slots=True, frozen=True) on hot path; Pydantic retained
  only at REST/config/DB boundaries. Pose/GPSPoint migration deferred to Phase 2.
ADR 0004: Stage 2 as independent iteration — own phases 1-6, own requirements,
  stage1 code treated as MVP starting capital.

PROJECT.md: Stage 2 Key Decisions updated from Pending → Accepted with Phase 1
  implementation notes, deferred work list, and final architecture summary.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 09:23:09 +03:00
Yuzviak 35b2e98fad docs(01-07): complete plan summary for hexagonal refactor plan 07 2026-05-11 08:59:51 +03:00
Yuzviak 275c7b4642 docs(01-06): add SUMMARY.md for mavlink_io split
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 08:50:22 +03:00
Yuzviak 094895b21b feat(phases 2-7): implement full GPS-denied navigation pipeline
Phase 2 — Visual Odometry:
  - ORBVisualOdometry (dev/CI), CuVSLAMVisualOdometry (Jetson)
  - TRTInferenceEngine (TensorRT FP16, conditional import)
  - create_vo_backend() factory

Phase 3 — Satellite Matching + GPR:
  - SatelliteDataManager: local z/x/y tiles, ESKF ±3σ tile selection
  - GSD normalization (SAT-03), RANSAC inlier-ratio confidence (SAT-04)
  - GlobalPlaceRecognition: Faiss index + numpy fallback

Phase 4 — MAVLink I/O:
  - MAVLinkBridge: GPS_INPUT 15+ fields, IMU callback, 1Hz telemetry
  - 3-consecutive-failure reloc request
  - MockMAVConnection for CI

Phase 5 — Pipeline Wiring:
  - ESKF wired into process_frame: VO update → satellite update
  - CoordinateTransformer + SatelliteDataManager via DI
  - MAVLink state push per frame (PIPE-07)
  - Real pixel_to_gps via ray-ground projection (PIPE-06)
  - GTSAM ISAM2 update when available (PIPE-03)

Phase 6 — Docker + CI:
  - Multi-stage Dockerfile (python:3.11-slim)
  - docker-compose.yml (dev), docker-compose.sitl.yml (ArduPilot SITL)
  - GitHub Actions: ci.yml (lint+pytest+docker smoke), sitl.yml (nightly)
  - tests/test_sitl_integration.py (8 tests, skip without SITL)

Phase 7 — Accuracy Validation:
  - AccuracyBenchmark + SyntheticTrajectory
  - AC-PERF-1: 80% within 50m 
  - AC-PERF-2: 60% within 20m 
  - AC-PERF-3: p95 latency < 400ms 
  - AC-PERF-4: VO drift 1km < 100m  (actual ~11m)
  - scripts/benchmark_accuracy.py CLI

Tests: 195 passed / 8 skipped

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 17:00:41 +03:00
Yuzviak a15bef5c01 docs(phase-01): complete Phase 1 — ESKF Core execution
Phase 1 status: Complete (3/3 plans, 35/35 tests)
- ESKF-01: 15-state IMU prediction ✓
- ESKF-02: VO measurement update ✓
- ESKF-03: Satellite measurement update ✓
- ESKF-04: GPS initialization ✓
- ESKF-05: Confidence tier computation ✓
- ESKF-06: Coordinate chain (pixel→GPS→pixel) ✓

Next: Phase 2 — Visual Odometry Pipeline

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 23:53:47 +03:00
Yuzviak ba00065e1d docs(phase-01): add test summary for plan 01-03
35 tests pass covering ESKF-01..06 (initialization, IMU prediction,
VO/satellite updates, confidence tiers, coordinate chain).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 23:53:18 +03:00
Yuzviak bf9bef19c8 docs(01-eskf-core): create phase plan — 3 plans in 2 waves 2026-04-01 22:11:57 +03:00
Yuzviak d2b431f17f docs: add project STATE.md
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 20:53:01 +03:00
Yuzviak 659050f20b docs: add requirements and roadmap
36 v1 requirements across 6 categories (ESKF, VO, SAT, GPR, MAV, PIPE, TEST).
7-phase roadmap ordered by dependency: ESKF → VO → Satellite → MAVLink → Pipeline → SITL → Validation.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 20:52:42 +03:00
Yuzviak 06f9ccd28f chore: add project config 2026-04-01 20:48:56 +03:00
Yuzviak b3d2f8e5a2 docs: initialize project 2026-04-01 20:48:56 +03:00
Yuzviak 2dd60a0e37 Add codebase map to .planning/codebase/
7 structured documents covering stack, integrations, architecture,
structure, conventions, testing, and concerns.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 20:26:52 +03:00