Files
autopilot/_docs/03_implementation/batch_18_cycle1_report.md
T
2026-05-20 18:27:15 +03:00

2.9 KiB
Raw Blame History

Batch 18 — Cycle 1 Implementation Report

Tasks: AZ-659, AZ-660, AZ-661 Completed: 2026-05-20 Status: All tests pass; code review PASS_WITH_WARNINGS; committed 0854d3b


AZ-659 — frame_ingest publisher (3 pts)

Files added/changed:

  • crates/frame_ingest/src/internal/publisher.rsFramePublisher, FrameReceiver, ConsumerId, PublisherStats
  • crates/frame_ingest/src/internal/mod.rs — exports publisher
  • crates/frame_ingest/src/lib.rsFrameIngestHandle extended with subscribe_as, publisher, dropped_frames, publishes_total
  • crates/frame_ingest/tests/publisher.rs — AC-1/2/3 integration tests

ACs: All passing.


AZ-660 — detection_client gRPC bi-directional stream (5 pts)

Files added/changed:

  • crates/detection_client/Cargo.toml — added tonic, prost, tonic-prost-build, protoc-bin-vendored
  • crates/detection_client/build.rs — proto codegen via tonic-prost-build
  • crates/detection_client/proto/detections.proto — gRPC contract (FrameRequest / DetectionResponse bi-di stream)
  • crates/detection_client/src/internal/mod.rs — module registry
  • crates/detection_client/src/internal/proto.rs — generated code re-export
  • crates/detection_client/src/internal/budget.rsBudgetTracker (drop-oldest VecDeque, default capacity 2)
  • crates/detection_client/src/internal/stats.rsDetectionStats (lock-free AtomicU64 counters)
  • crates/detection_client/src/internal/runtime.rs — supervisor + run_stream_session with bounded backoff reconnect
  • crates/detection_client/src/lib.rsDetectionClient, DetectionClientConfig, DetectionClientHandle, DetectionEvent, ConnectionState
  • crates/detection_client/tests/stream.rs — AC-1/2/3/4 integration tests (fixture in-process gRPC server)

ACs: All passing.


AZ-661 — schema validation + model_version + latency degradation (2 pts)

Implemented inside the same detection_client crates (AC-660 and AC-661 share the same modules):

  • src/internal/latency.rsLatencyWindow ring-buffer + DegradationTransition latch
  • src/internal/runtime.rs::handle_response — schema version check, model_version latch, Tier1 degradation evaluation after every response
  • crates/detection_client/tests/stream.rs — AC-1/2/3 integration tests

ACs: All passing.


Code Review

Verdict: PASS_WITH_WARNINGS — see _docs/03_implementation/reviews/batch_18_review.md.

Findings:

  • F1 (Medium, fixed): dead code in handle_response (let now, let _ = in_flight) removed.
  • F2F4: Low findings, no action required this batch.

Architecture / Doc Updates

  • _docs/02_document/module-layout.mdframe_ingest and detection_client sections updated to reflect actual streaming API.

Remaining tasks in todo/

9 tasks remaining across 3 components (movement_detector, semantic_analyzer, scan_controller).