Oleksandr Bezdieniezhnykh
a92e5ee482
[AZ-329] [AZ-330] [AZ-523] [AZ-524] Doc sweep: arch + glossary for Batch 44
...
Propagate Batch 44 SRP refactor (C11 internal flight-state gate moved to
C12; PostLandingUploadOrchestrator gates on flight_footer.clean_shutdown;
OperatorReLocService dispatches AC-3.4 hints via OperatorCommandTransport)
into the suite-wide architecture documents that the per-component sweep
in Phase F did not yet cover.
Files updated:
- architecture.md: C11/C12 component entries, principle #4 phrasing,
Data Model table (FlightStateSignal annotation + new
FlightFooterRecord / PostLandingUploadRequest / ReLocHint rows),
post-landing + reloc data-flow summaries, ADR-004 "Why the gate
moved to C12" rationale, deployment + security wording.
- glossary.md: Tile Manager entry — gate-removal note.
- data_model.md: FlightStateSignal row clarified; new rows for
Batch 44 DTOs.
- system-flows.md: F10 row, dependencies, full F10 prose +
preconditions + mermaid + error table reworked around the
footer-based gate.
- epics.md: E-C11 scope/interface/AC/child-issue table (gate
stripped, AZ-317 superseded); E-C12 scope/interface/AC/child-
issue table expanded with PostLandingUploadOrchestrator,
OperatorReLocService, FdrFooterReader, OperatorCommandTransport.
- FINAL_report.md: component table rows 12 + 13.
- components/10_c8_fc_adapter/description.md: removed stale claim
that C11 TileUploader consumes FlightStateSignal.
- contracts/c6_tile_cache/tile_metadata_store.md: minor C12
naming fix.
Tests: 1543 passed / 80 skipped — doc-only sweep, no regressions.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-13 21:28:59 +03:00
Oleksandr Bezdieniezhnykh
5fe67023b2
[AZ-329] [AZ-330] [AZ-523] [AZ-524] Batch 44 atomic refactor
...
Implements two new C12 services and rebalances the C11/C12 boundary
in one atomic commit:
* AZ-329 PostLandingUploadOrchestrator — gates C11 upload on the
`flight_footer` FDR record's `clean_shutdown` field; 4 refusal
modes; new FdrFooterReader Protocol + LocalFdrFooterReader.
* AZ-330 OperatorReLocService — AC-3.4 visual-loss re-localization
hint; reuses shared LatLonAlt; OperatorCommandTransport Protocol
cut (E-C8 owns the future pymavlink concrete); new FDR record
kind `c12.reloc.requested`; log redaction (lat/lon 5 decimals,
reason 200 chars).
* AZ-523 C11 internal flight-state gate removed (SRP refactor):
`confirm_flight_state` / `FlightStateSignal` use /
`FlightStateNotOnGroundError` deleted from C11; TileUploader
contract bumped to v2.0.0 (frozen) with migration note; AZ-317
superseded.
* AZ-524 Package rename `c12_operator_tooling` →
`c12_operator_orchestrator` across source, tests, pyproject,
CMake, Dockerfile, compose, CI, runtime-root services class
(`OperatorOrchestratorServices`) + factory function
(`build_operator_orchestrator`), logger namespaces, config slug,
docs, and the E-C12 epic title.
Tests: 1543 passed, 80 skipped (all environment gates). Targeted
AC suite (AZ-329 + AZ-330 + FdrFooterReader): 37 passed. Cold-start
NFR-perf still ≤ 500 ms p99.
Tracker: AZ-317 → Done (superseded); AZ-319 v2.0.0 contract bump
comment; AZ-329/AZ-330 → In Testing; AZ-253 epic renamed; AZ-523
+ AZ-524 created and closed as audit-trail tickets.
See `_docs/03_implementation/batch_44_cycle1_report.md`.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-13 19:42:46 +03:00
Oleksandr Bezdieniezhnykh
8171fcb29e
[AZ-263] [AZ-264] [AZ-265] Decompose: layout, helpers epic, replay epic
...
Decompose Step 1 + Step 1.5 + new cycle-1 epics:
- Step 1 (Bootstrap): AZ-263 spec at _docs/02_tasks/todo/. Single
top-level Python package src/gps_denied_onboard/ + nested
components/ subpackage per user feedback (replaces earlier
src/gps_denied/ + sibling src/components/ split).
- Step 1.5 (Module Layout): _docs/02_document/module-layout.md is
the file-ownership map consumed by /implement Step 4. Covers all
14 components + cross-cuttings (_types, config, logging,
fdr_client, helpers x8, frame_source, clock, runtime_root,
cli/replay, healthcheck), 5-layer layering, and the Build-Time
Exclusion Map for all 4 binaries (airborne, research,
operator-tooling, replay-cli).
- New epic AZ-264 (E-CC-HELPERS): re-homes the 8 shared helpers
from per-component child-issues into a single cross-cutting
epic per the decompose skill cross-cutting rule. R14
(LightGlue circular dep) is structurally prevented because
both C2.5 and C3 import gps_denied_onboard.helpers.lightglue_runtime.
- New epic AZ-265 (E-DEMO-REPLAY): offline replay mode (video +
tlog -> per-tick coordinate stream). 8 child tasks, 27-32 pts.
Reuses C8 FcAdapter via TlogReplayFcAdapter strategy + new
VideoFileFrameSource + JsonlReplaySink + compose_replay
composition root + gps-denied-replay CLI + auto-sync via IMU
take-off detection (per how_to_test.md). NO ROS dependency.
- Plan Final report at FINAL_report.md.
- _autodev_state.md updated with handoff notes for Step 2
execution in a fresh chat (~290 MCP calls expected; epic
ordering documented).
Step 2 task PLAN approved (97 implementation tasks across 18
epics) but EXECUTION deferred per user choice to a fresh chat.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-10 03:14:42 +03:00
Oleksandr Bezdieniezhnykh
8382cdae10
start over again
2026-05-07 04:08:03 +03:00
Oleksandr Bezdieniezhnykh
72a9df6b57
[AZ-219] [AZ-228] Generalize VIO component layout
...
Keep VIO package and native bridge paths backend-neutral so BASALT remains an implementation choice rather than a component boundary.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-03 12:41:54 +03:00
Oleksandr Bezdieniezhnykh
dd9afe2797
Refactor documentation to replace the Validation Harness with a separate E2E Test Suite, updating references throughout various documents. Adjust the autodev state to reflect the transition from the Decompose phase to the Implement phase, and revise the architecture documentation to clarify system boundaries and component relationships. Enhance risk mitigation documentation to specify affected components and update the component overview diagram accordingly.
2026-05-03 12:41:53 +03:00
Oleksandr Bezdieniezhnykh
5bf2dbd85f
Update autodev state documentation to reflect progress in the Decompose phase, changing the current step from 5 to 6. Revise sub-step details to indicate a shift to phase 2, focusing on module layout for the Satellite Service and Tile Manager, and awaiting confirmation before product task decomposition. Additionally, enhance problem documentation to clarify the original still-image sample limitations and introduce the Derkachi representative fixture for improved data validation. Update references to the Tile Manager and Satellite Service throughout the documentation for consistency.
2026-05-03 12:41:52 +03:00
Oleksandr Bezdieniezhnykh
7e15868d39
Revise acceptance criteria and restrictions documentation to clarify recent updates and specifications. Key changes include enhanced definitions for position accuracy, image processing quality, and operational parameters, as well as updates to camera specifications and validation requirements. This revision aims to improve clarity and ensure alignment with project goals.
2026-05-01 16:24:46 +03:00