mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-08-18 08:36:13 +00:00
Architectural reference for the staged API refactoring that precedes the soundtouch-web / soundtouch-service merge: - Route classification by client audience and what pins each path (frozen firmware contract vs externally-pinned OAuth callbacks vs our movable admin/control surface), with service + web route tables. - Actors model (speaker / app / cloud) and deployment topologies; speaker-direct vs data-plane reachability. - deployment-mode parameter (private/shared/public), trust tiers, auth posture (opt-none -> opt-in -> opt-out?), and auth mechanisms (Marge as one auth provider like EntraID; native/headless clients via RFC 8252 loopback or a headless token; identity in logs). - /app/* single role-gated app with code-splitting for on-device size. - Versioning policy: no path versioning; semver with 0.x dual-routing and a 1.x cutover that removes obsolete routes. - Staged migration (add+alias, fold in web, deprecate the binary, observable old-route warnings) with a "before 1.x" definition of done. - Regression safety: contract tests from the frozen recordings, building on the existing tests/integration/http-client suite. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>