ADR-0043 — Le plan C (agence) est retire : BoostEcom ne produit pas pour des marques clientes
Remplace l'ADR 0004. Restreint, sans les revoquer, les ADR 0013, 0017, 0024 et 0026 : ce qu'ils disent des plans A et B reste vrai, ce qu'ils disent d'une marque cliente de l'agence ne s'applique plus a rien.
Statut
Accepté · 2026-09-26
Remplace : ADR-0004 ; restreint 0013, 0017, 0024 et 0026 (la moitie « marque cliente » de chacun)
Piliers : app-shell, security-identity, ai-platform, design-system, growth-web, data-platform, platform-ops
Remplace l'ADR 0004. Restreint, sans les revoquer, les ADR 0013, 0017, 0024 et 0026 : ce qu'ils disent des plans A et B reste vrai, ce qu'ils disent d'une marque cliente de l'agence ne s'applique plus a rien.
Contexte
Trois usages de la production creative coexistaient dans le depot :
- plan A : le contenu Growth de BoostEcom lui-meme, produit dans le
Studio interne
/ops/creative/studio(/[storeId]), gate parplatform.creative.review, avec Remotion souscreative/; - plan B : le Studio d'un marchand pour SA boutique (le mode
studiode/[orgSlug]/[storeSlug], facture en credits,StudioAsset) ; - plan C : une agence de production creative vendue a des marques
externes. Pipeline de prospection (
Prospect,ProspectEvent), portefeuille client et gate Go/No-Go (colonnes de production surStore), cadence et livraisons (StudioDrop, croncreative-drop-tick, jobopen-creative-drop), livraison publique par jeton (/drop/[token]), le Studio d'organisation/[orgSlug]/~/studio/**, les pages/ops/creative/{pipeline,clients}et les brand kits souscreative/brand/clients/.
Le 2026-09-26, decision finale : BoostEcom n'a ni agence ni client externe. Aucune marque n'a jamais recu de drop. Le plan C portait un modele de donnees, un cron, une surface publique par jeton, cinq outils @Atlas et une dizaine de permissions pour un metier qui n'existe pas, et chaque garde, chaque traduction et chaque audit le payaient.
Décision
Le plan C est retire du produit. Il ne reste que les plans A et B, inchanges.
Ce qui part : les pages /[orgSlug]/~/studio/**, /ops/creative/pipeline,
/ops/creative/clients, /drop/[token] ; le cron creative-drop-tick et
le job open-creative-drop ; la route agency-bootstrap ; les modeles
Prisma StudioDrop, Prospect, ProspectEvent, leurs enums, la cadence
et les colonnes de gate de production sur Store ; les permissions
agency.prospect.*, agency.client.*, agency.cadence.manage,
studio.drop.*, studio.gate.read et les presets sales / client_ops ;
les outils getStudioPipeline, getStudioClientGates, publishStudioDrop,
qualifyStudioProspect, setStudioProspectStatus ; creative/brand/clients/.
Ce qui reste, par decision explicite :
- La file de QC
/ops/creative/qc, re-cadree comme la revue des assets Growth avant publication Postiz.agency.qc.reviewetagency.economics.readrestent : l'ADR 0013 a nommeagency.*« ce que BoostEcom FAIT », et juger sa propre production en fait toujours partie. - Les concepts (
CreativeConcept,CreativeLearning,/ops/creative/concepts,studio.concept.*) comme briefs d'angle Growth. Seul leur rattachement a un client disparait.CreativeLearningest lu par Growth (src/services/growth/creator-intelligence.ts).
Alternatives écartées
| Option | Pourquoi non |
|---|---|
| Garder le plan C derriere un feature flag | Un flag garde le cout (gardes, traductions, schema, cron) sans le revenu, et le jeton /drop resterait une surface publique a defendre. |
| Tout supprimer, QC et concepts compris | La QC et les concepts servent le plan A. Demande de ne rien nettoyer « qui pourrait servir ailleurs ». |
| Supprimer aussi les tables en base | Le schema guard est additif : retirer un modele laisse la table. Un DROP est une action operateur deliberee, jamais un effet de bord d'une PR. |
Conséquences
- Les tables
StudioDrop,Prospect,ProspectEventet les colonnes retirees deStorerestent orphelines en base. LeurDROPest une action operateur ulterieure, deliberee (pnpm db:deployapres sauvegarde), suivie dansbacklog/app-shell/3028. - Les liens
/drop/<jeton>deja envoyes existent dans des boites mail : le proxy garde/dropdans les racines « URL a capacite », robots et l'analytique IA continuent de ne jamais le lire ni le tracer, et le slugdropreste reserve. La page, elle, rend 404. - Les ADR 0004, 0013, 0017, 0024 et 0026 ne sont pas reecrits (immuables).
0004 passe
superseded by 0043; les autres restentacceptedpour leur moitie plans A et B. clientBrandsFor(le chemin « marque cliente » du montage interne de l'ADR 0026) est garde pour l'instant et signale au proprietaire.- Signal de revisite : un premier contrat de production signe avec une marque externe. Il reouvrirait la question par un nouvel ADR, pas par la restauration de ce code.