ADR-033: Feature flags
Estado
Accepted — 2026-08-23
Amendment 2026-09-08: flags por Subscriber. Flags Cashlane (inbox/QBO) no son producto IVPrior.
Contexto
Hay que desacoplar deploy de release sin LaunchDarkly el día 1.
Decisión
Flags por Subscriber (columna de fábrica puede seguir siendo organizationId hasta remap) + defaults globales. Persistidos en Postgres (FeatureFlag). Evaluación en application layer.
V1: flags de producto IVPrior se definen en briefs/slices (scanner, billing, signup.open). Flags copiados de Cashlane (inbox.gmail, QBO, payment links al deudor) no se activan.
Sin experimento A/B complejo. Sin flag en el cliente para saltarse auth.
Kill switch: flag off detiene nuevos efectos colaterales; no borra datos.
Alternativas
LaunchDarkly / Unleash: se evalúan si hay muchas cuentas y reglas. El puerto FlagEvaluator permite cambiar.
Consecuencias
- Scaffolding puede incluir la tabla + evaluator no-op (todo on en local).
- “Tenants” en copy de flags = leftover; el sujeto es Subscriber.