ADR 0001: Cyclone-First Single-Backend Strategy

Status

Approved

Date

2026-02-09

Context

  • UMAAPy 2.x planning is Cyclone-first for runtime verification and integration workflows.

  • Active docs and workflows still contain RTI-specific assumptions that conflict with a single-backend migration direction.

  • Introducing dual-backend support at this phase would expand CI, test matrix, and maintenance overhead without roadmap priority.

Decision

  1. Active development and integration verification target a single DDS backend: Cyclone DDS.

  2. Active workflow documentation must avoid RTI-specific assumptions.

  3. Unit tests remain middleware-agnostic via fake/in-memory middleware abstractions.

  4. No new dual-backend architecture layer is introduced during this phase.

  5. Existing RTI references may remain temporarily as tracked migration debt until follow-up issues close them.

Consequences

Positive

  • Reduced architecture and CI complexity.

  • Clear backend target for contributor onboarding and debugging.

  • Stronger separation between domain logic and middleware implementation details.

Negative

  • Users relying on RTI-specific runtime behavior will need migration guidance.

  • Temporary mismatch may remain while historical documents and legacy code are retired.

Non-Goals

  • Implementing dual-backend support in the current phase.

  • Removing every historical RTI mention from archived wiki and planning material in this issue.

  • Completing all runtime dependency migration in one change set.

Follow-Up

  1. Rename legacy pytest marker integration_vendor to integration_cyclone.

  2. Remove RTI package/runtime coupling from packaging and integration code paths.

  3. Update legacy requirements and wiki docs to align with the accepted architecture.