mirror of
https://github.com/azaion/gps-denied-onboard.git
synced 2026-06-22 07:21:13 +00:00
[AZ-221] [AZ-222] Add shared runtime helpers
Provide deterministic geometry/time-sync helpers and structured config, error, health, and telemetry primitives for downstream runtime components. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
# Shared Geometry And Time Sync
|
||||
|
||||
**Task**: AZ-221_shared_geometry_time_sync
|
||||
**Name**: Shared Geometry And Time Sync
|
||||
**Description**: Provide shared geospatial and timestamp helper behavior for runtime components.
|
||||
**Complexity**: 3 points
|
||||
**Dependencies**: AZ-219_initial_structure, AZ-220_shared_runtime_contracts
|
||||
**Component**: Shared Geometry And Time Sync
|
||||
**Tracker**: AZ-221
|
||||
**Epic**: AZ-207
|
||||
|
||||
## Problem
|
||||
|
||||
Camera, VIO, Tile Manager, Satellite Service, Anchor Verification, safety, and FDR need consistent coordinate, footprint, homography, and timestamp behavior.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Shared helpers provide deterministic geometry and time-sync behavior.
|
||||
- Components do not duplicate geospatial or timestamp alignment logic.
|
||||
|
||||
## Scope
|
||||
|
||||
### Included
|
||||
- WGS84/local conversions, distance/GSD helpers, footprint projection, homography/covariance conversion support.
|
||||
- Monotonic timestamp checks, frame-to-IMU window selection, replay ordering, gap/jitter metrics.
|
||||
|
||||
### Excluded
|
||||
- VIO estimation.
|
||||
- Cache policy and safety degrade decisions.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
**AC-1: Geometry helpers are deterministic**
|
||||
Given the same calibration, attitude, altitude, and coordinates
|
||||
When geometry helpers run
|
||||
Then they return repeatable footprint and metric outputs.
|
||||
|
||||
**AC-2: Time-sync violations are explicit**
|
||||
Given frame and telemetry timestamps with a gap or mismatch
|
||||
When alignment runs
|
||||
Then the result reports the violation instead of dropping data silently.
|
||||
|
||||
## Non-Functional Requirements
|
||||
|
||||
**Performance**
|
||||
- Helpers are suitable for hot-path use under the system latency budget.
|
||||
|
||||
**Reliability**
|
||||
- Invalid calibration, CRS, or timestamp inputs fail explicitly.
|
||||
|
||||
## Unit Tests
|
||||
|
||||
| AC Ref | What to Test | Required Outcome |
|
||||
|--------|--------------|------------------|
|
||||
| AC-1 | WGS84/local round-trip | Error within tolerance |
|
||||
| AC-2 | Non-monotonic timestamps | Explicit mismatch result |
|
||||
|
||||
## Blackbox Tests
|
||||
|
||||
| AC Ref | Initial Data/Conditions | What to Test | Expected Behavior | NFR References |
|
||||
|--------|-------------------------|--------------|-------------------|----------------|
|
||||
| AC-1 | Derkachi/replay frame metadata | Footprint and ordering evidence | Deterministic helper outputs in reports | Performance |
|
||||
|
||||
## Constraints
|
||||
|
||||
- Shared helpers do not own policy decisions.
|
||||
- Timestamp units must match the shared runtime contract.
|
||||
|
||||
## Risks & Mitigation
|
||||
|
||||
**Risk 1: Coordinate-frame confusion**
|
||||
- *Risk*: Components interpret helper outputs differently.
|
||||
- *Mitigation*: Contract documents units, frames, and error semantics.
|
||||
|
||||
## Contract
|
||||
|
||||
This task produces/implements the contract at `_docs/02_document/contracts/shared/geometry_time_sync.md`.
|
||||
Consumers MUST read that file — not this task spec — to discover the interface.
|
||||
@@ -0,0 +1,80 @@
|
||||
# Runtime Config Errors And Telemetry
|
||||
|
||||
**Task**: AZ-222_runtime_config_errors_telemetry
|
||||
**Name**: Runtime Config Errors And Telemetry
|
||||
**Description**: Provide shared configuration, error envelope, health, and telemetry behavior for runtime components.
|
||||
**Complexity**: 3 points
|
||||
**Dependencies**: AZ-219_initial_structure, AZ-220_shared_runtime_contracts
|
||||
**Component**: Runtime Configuration And Errors
|
||||
**Tracker**: AZ-222
|
||||
**Epic**: AZ-208
|
||||
|
||||
## Problem
|
||||
|
||||
Runtime components need common configuration loading, readiness validation, error handling, and telemetry metadata.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Environment profiles are validated before runtime use.
|
||||
- Errors and health events are structured and FDR-safe.
|
||||
- Secrets are referenced without leaking into logs or reports.
|
||||
|
||||
## Scope
|
||||
|
||||
### Included
|
||||
- Runtime profile validation.
|
||||
- Shared error/result envelopes.
|
||||
- Health and metrics metadata.
|
||||
|
||||
### Excluded
|
||||
- Component-specific business logic.
|
||||
- FDR storage implementation.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
**AC-1: Required settings are validated**
|
||||
Given a production profile is missing a required setting
|
||||
When startup/readiness validation runs
|
||||
Then the component reports a structured failure.
|
||||
|
||||
**AC-2: Errors are not silent**
|
||||
Given a dependency failure occurs
|
||||
When a component reports it
|
||||
Then the error includes component, category, severity, and retryability.
|
||||
|
||||
## Non-Functional Requirements
|
||||
|
||||
**Reliability**
|
||||
- Missing configuration and dependency failures are never silently ignored.
|
||||
|
||||
**Compatibility**
|
||||
- Error categories and config keys follow the contract versioning rules.
|
||||
|
||||
## Unit Tests
|
||||
|
||||
| AC Ref | What to Test | Required Outcome |
|
||||
|--------|--------------|------------------|
|
||||
| AC-1 | Missing production cache dir | Readiness failure |
|
||||
| AC-2 | Dependency error envelope | Structured fields present |
|
||||
|
||||
## Blackbox Tests
|
||||
|
||||
| AC Ref | Initial Data/Conditions | What to Test | Expected Behavior | NFR References |
|
||||
|--------|-------------------------|--------------|-------------------|----------------|
|
||||
| AC-1 | Invalid env profile | Runtime readiness | Service refuses ready state | Reliability |
|
||||
|
||||
## Constraints
|
||||
|
||||
- Secrets must not be serialized into logs, FDR, or metrics.
|
||||
- Error handling must not use silent suppression.
|
||||
|
||||
## Risks & Mitigation
|
||||
|
||||
**Risk 1: Environment-specific behavior drifts**
|
||||
- *Risk*: Development and production profiles behave differently in unsafe ways.
|
||||
- *Mitigation*: Profile validation is shared and tested.
|
||||
|
||||
## Contract
|
||||
|
||||
This task produces/implements the contract at `_docs/02_document/contracts/shared/config_errors_telemetry.md`.
|
||||
Consumers MUST read that file — not this task spec — to discover the interface.
|
||||
Reference in New Issue
Block a user