Skip to content

WhiskerPlatform Architecture Decision Records

Decision records for adopting WhiskerPlatform over rwe-core as the retail store micro-frontend host. Each ADR follows the pattern in payment-systems ADR 0057: context, drivers, options, pros/cons, outcome, consequences, links.

Living reference docs (how things work today) live in docs/architecture/. ADRs record decisions and trade-offs; architecture docs record mechanism and status.

# ADR What it decides
0001 Adopt WhiskerPlatform over rwe-core Overarching — strategic direction for the retail host
0002 Dynamic manifest registry S3 → Lambda → DynamoDB vs static host registries
0003 Self-service module automation Kit, scaffolder, CI, and zero host PRs for module teams
0004 Host scalability model When each model scales; ops cost vs coordination cost
0005 Per-operator preferences from rwe-core Keep from rwe-core — athlete-scoped state vs device localStorage
0006 Declarative widget host vs imperative widget SDK Paradigm difference — host-agnostic widgets vs notifyReady lifecycle
0007 Adopt Playwright for E2E E2E runner choice — Playwright + @playwright/mcp; free vs paid AI tooling
0008 persona hierarchy and scope model Access model — role hierarchy vs. store scope; platformOwner split; gated access as grants
0009 Enforced store/global config vs. per-operator preference Preference layering — cosmetic per-operator preference vs. ops-required monitoring config; who can enforce, and precedence