Files
gps-denied-onboard/_docs/03_implementation/batch_90_cycle1_report.md
T
Oleksandr Bezdieniezhnykh dbae0cad5b [autodev] Backfill batch_90_cycle1_report.md for AZ-619
Prior session committed AZ-619 (Phase A of AZ-618) as 8abfb02,
transitioned the tracker, and archived the spec, but did not write
the batch report. Content reconstructed from git show + the AZ-619
task spec + the prior _docs/_autodev_state.md sub_step.detail.

No code change. Pure audit-trail housekeeping.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-19 06:35:47 +03:00

3.5 KiB

Batch 90 Report — AZ-619 Phase A: build_pre_constructed seeds c13_fdr + clock (cycle 1)

Batch: 90 Date: 2026-05-19 Context: Product implementation (greenfield Step 7 — Implement; AZ-618 umbrella, Phase A of 6) Tasks: AZ-619 (2 cp) — 1 task Cycle: 1 Verdict: COMPLETE — PASS (committed as 8abfb02) Note: Report backfilled retroactively — the prior session committed code, transitioned tracker, and archived the spec but did not write this report. Content reconstructed from the commit (git show 8abfb02), the task spec in _docs/02_tasks/done/AZ-619_pre_constructed_phase_a_c13_fdr_clock.md, and the prior _docs/_autodev_state.md sub_step.detail.

Summary

First of six subtasks decomposing the AZ-618 umbrella ("airborne_bootstrap pre-constructed dict"). Phase A introduces the public entry-point build_pre_constructed(config) -> dict[str, Any] and seeds the two foundational keys (c13_fdr, clock). Phases B..F (AZ-620..AZ-624) extend this function additively without breaking the AZ-619 contract.

AZ-619 — build_pre_constructed Phase A (2 cp)

  • src/gps_denied_onboard/runtime_root/airborne_bootstrap.py — new public build_pre_constructed(config) plus two internal builders:
    • _build_c13_fdr(config) -> FdrClient via make_fdr_client("airborne_main", config). Per-producer cache makes the instance identity-stable across calls (AC-619.2).
    • _build_clock(config) -> WallClock. Replay-mode override is not done here — compose_root merges replay_components over pre_constructed, replacing WallClock with TlogDerivedClock in replay binaries (existing contract).
  • New module constant AIRBORNE_MAIN_PRODUCER_ID = "airborne_main" for the producer ID used by the bootstrap FdrClient.
  • __all__ updated to export build_pre_constructed.

Out of scope (deferred)

  • All other 10 keys in AIRBORNE_REQUIRED_PRE_CONSTRUCTED_KEYS — AZ-620 (c6 storage), AZ-621 (c7 inference), AZ-622 (c3 runtimes), AZ-623 (RANSAC + c5 helpers).
  • runtime_root.main() integration + full AC-1..AC-5 umbrella verification — AZ-624.
  • Mandatory-Tier-2 Jetson run — consolidated at AZ-624 to avoid 6 separate Jetson runs for one feature (per _docs/02_document/tests/tier2-jetson-testing.md).

Test Results

  • New unit tests: 5 under tests/unit/runtime_root/test_az619_pre_constructed_phase_a.py covering AC-619.1 (required minimum keys present with correct types) and AC-619.2 (c13_fdr identity stability across calls).
  • Combined run with AZ-591 regression: 12/12 passed (no regression in the registry seam).
  • No new linter errors introduced.

File Ownership

  • OWNED (component runtime_root):
    • src/gps_denied_onboard/runtime_root/airborne_bootstrap.py
    • tests/unit/runtime_root/test_az619_pre_constructed_phase_a.py
  • READ-ONLY: runtime_root imports from fdr_client (make_fdr_client) and clock (WallClock) Public APIs only.
  • No FORBIDDEN-zone writes.

State

  • Spec moved: _docs/02_tasks/todo/AZ-619_pre_constructed_phase_a_c13_fdr_clock.md_docs/02_tasks/done/.
  • Commit: 8abfb02 [AZ-619] Phase A: build_pre_constructed seeds c13_fdr + clock.
  • Tracker: AZ-619 transitioned to In Testing.
  • _docs/_autodev_state.md advanced to last_completed_batch: 90.

Next Batch

  • Batch 91: AZ-620 (3 cp) — Phase B of AZ-618 umbrella. Adds c6_descriptor_index (DescriptorIndex) and c6_tile_store (TileStore) keys to build_pre_constructed, plus an AirborneBootstrapError path when a BUILD-flag mismatch leaves a consuming component without its dependency.