Oleksandr Bezdieniezhnykh
940066bee2
chore: WIP pre-implement
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-26 17:09:13 +03:00
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
8a83166261
[AZ-490] C5 set_takeoff_origin entrypoint + bounded-delta GPS gate
...
Add operator warm-start path to C5 StateEstimator Protocol and both
implementations (GtsamIsam2StateEstimator, EskfStateEstimator), plus
the third clause of the AZ-385 spoof-promotion gate.
- StateEstimator Protocol: set_takeoff_origin(origin, sigma_horiz_m,
sigma_vert_m) -> None.
- iSAM2: PriorFactorPose3 at origin with diagonal sigmas, single
isam2.update().
- ESKF: zero _nominal_pos, overwrite _P position block with sigma**2.
- SourceLabelStateMachine.process_gps_sample bounded-delta clause:
WgsConverter.horizontal_distance_m vs smoother estimate; reject
resets the dwell-time counter so AZ-385 cannot re-promote off bad
GPS.
- New EstimatorAlreadyStartedError (StateEstimatorConfigError
subclass) on late call after first add_*.
- C5StateConfig: spoof_promotion_bounded_delta_m=200,
default_takeoff_origin_sigma_horiz_m=5,
default_takeoff_origin_sigma_vert_m=10.
- New GpsSample DTO + WgsConverter.horizontal_distance_m helper.
- 4 new FDR kinds (cold_start_origin.{set,unavailable},
gps_bounded_delta.{accept,reject}) registered in AZ-272 schema.
- 33 new unit tests cover AC-1..AC-15; full repo 750 passed / 2
skipped (pre-existing CI tooling skips).
Docs synced: protocol contract, C5 component description,
architecture, glossary, system-flows, C10 provisioning description.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-12 02:53:58 +03:00
Oleksandr Bezdieniezhnykh
e0be591b06
[AZ-489] [AZ-490] ADR-010 design pass: operator-mission as cold-start anchor
...
Architecture, contracts, and task amendments for the flight-route-driven
preflight + cold-start origin feature (ADR-010). No source code touched
in this commit; the implementation commits for AZ-489 / AZ-490 / AZ-419
land separately.
* architecture.md: ADR-010, new Principle #14 , amended Principle #11 ,
external systems gain flights service + Mission Planner UI, data
model gains Flight / Waypoint / TakeoffOrigin.
* system-flows.md: F1 gains phase 0 (Flight resolve), F2 gains
cold-start ladder, F7 gains mid-flight bounded-delta GPS gate.
* glossary.md: Flight, Flights API, Mid-flight bounded-delta GPS gate,
Mission Planner UI, Takeoff origin, Waypoint.
* C10: description + cache_provisioner + manifest_verifier bumped to
v1.1 carrying takeoff_origin + flight_id in the manifest hash.
* C12: description updated + new flights_api_client.md contract v1.0.
* C5: description + state_estimator_protocol bumped to v1.1 with
set_takeoff_origin + 3-clause spoof-promotion gate.
* AZ-323/324/325/326/328/419 amended in place. AZ-490 spec created
(C5 set_takeoff_origin entrypoint).
* Dependencies table: 142 tasks / 478 pts / 15 forward edges
(2 new tasks, 2 backward deps, 2 forward deps from AZ-419).
* Leftovers cleared: 2026-05-11 Jira transition entries for AZ-355
and AZ-386 are deleted (Jira reconnected; both already transitioned
in their respective implementation commits).
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-12 01:28:05 +03:00
Oleksandr Bezdieniezhnykh
64542d32fc
Update autodev state, architecture documentation, and glossary terms
...
Transitioned the autodev state to phase 21, reflecting the completion of Step 5 and the drafting of Step 6 epics. Revised the architecture documentation to clarify the roles of the Tile Manager and its components, ensuring accurate representation of the system's operational flow. Updated glossary entries for Flight State and Operator to incorporate recent changes and enhance clarity on component interactions and responsibilities.
2026-05-10 00:21:34 +03:00
Oleksandr Bezdieniezhnykh
723f574b14
Update autodev state and glossary definitions
...
Modified the autodev state to transition to phase 10, updating the sub-step name and details to reflect the latest architectural review changes. Enhanced the glossary entry for VioStrategy to clarify its functionality, build-time exclusions, and implications for deployment and research binaries, ensuring alignment with recent architectural decisions.
2026-05-09 04:53:38 +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
Oleksandr Bezdieniezhnykh
8fcdbd4cf6
remove docs, new start once again
2026-04-29 11:58:50 +03:00
Oleksandr Bezdieniezhnykh
5391d2c710
update reserach skill
2026-04-29 11:58:37 +03:00