# ADR 0003: Subscription Model Replaces BRIDGES ## Status Proposed ## Context The legacy `BRIDGES` dict mixes configuration, runtime state, reflector naming, routing, and export concerns. FreeDMR 2 models each TG as a conference bridge to which clients subscribe. ## Decision Use subscription-oriented internal state instead of legacy `BRIDGES` as the authoritative FreeDMR 2 model. ## Rationale Subscription state directly represents the FreeDMR user model: clients subscribe to TGs they want to hear. It supports direct TGs, dial-a-TG, default reflectors, API control, and future aliases without hard-coding routing modes. ## Consequences The packet path can use indexed subscription lookups. Existing dashboard/config expectations need compatibility export or migration. ## Compatibility `BRIDGES` and `#` reflector names may be generated as compatibility/export state where required, but routing should not depend on them. ## Testing Requirements Tests must assert subscription activation, expiry, direct TG routing, dial-a-TG mapping, default reflector behaviour, and absence of unintended recipients.