Reste à faire
title: Reste à faire description: La seule liste de ce qu’il reste à faire pour BoostEcom : actions du propriétaire, travail de l’app, décisions ouvertes.
Page unique. C’est la seule liste de ce qui reste à faire, pour le propriétaire comme pour l’app. Aucune autre page de cette documentation ne tient de liste « à faire », de statut ou de backlog : elles décrivent le comment et renvoient ici pour le quoi. Les items eux-mêmes restent dans backlog/ de l’app, un fichier par item (ils alimentent le Dev Studio et le manifeste de la flotte) : cette page en est le récit, l’ordre et les dépendances, pas une copie. Une tâche finie se retire d’ici (et part dans « Fait récemment ») dans la même PR que le travail.
État actuel en une ligne
BoostEcom est en ligne sur https://www.boostecom.app, déployé par Vercel, sans CI GitHub depuis le 2 octobre 2026 (facturation, platform-ops/2950), avec Stripe en mode test ; le nettoyage « rollback-first » des surfaces opérateur internes (49 PR, #1685 à #1733, du 3 au 8 octobre) est fusionné, ses résidus restent à solder, et la documentation d’ingénierie déménage de l’app vers ce dépôt.
Point de reprise pour une prochaine session
Relevé du 8 octobre 2026 (lecture seule, sans E2E) :
- app :
main=cee5f0f0(PR #1733) ; aucune PR ouverte ;originn’a quemain; - Vercel : sept builds de production en erreur le 8 octobre (#1723 à #1729), corrigés par #1730 ; le build de production est la seule porte automatique ;
- gardes rapides (node, sans dépendance) :
pnpm docs:claimsrouge (13 comptes périmés : crons 71 contre 70, routes API 460 contre 456, clés de.env.example184 contre 182),pnpm docs:linksrouge (32 liens morts, dont 28 dans un seul audit du 19 septembre),pnpm fleet:derive:checkrouge (manifeste de la flotte périmé) ;pnpm app:links,pnpm backlog:idsetpnpm fleet:scopeverts ; les 70 chemins de crons devercel.jsonrésolvent ; - backlog : 402 items ouverts, 877 archivés ; 309 prêts, 32 pris ou en cours, 59 bloqués ;
- documentation : ce dépôt est posé (navigation, gardes, pages de découverte, gouvernance, agents) ; la copie de la prose de l’app (ADR, architecture, runbooks, économie, audits, flotte, migration) arrive à côté.
Par où reprendre : côté propriétaire, actions 1 et 2 (CI et Redis) ; côté app, le P0 « tests qui lisent des fichiers supprimés », puis la régénération des fichiers dérivés et la remise au vert de pnpm docs:claims, pnpm docs:links et pnpm fleet:derive:check. L’ordre du propriétaire du 8 octobre reste « rollback-first » : aucun retrait des deux Studios ne s’annonce comme terminé tant que la parité de leur remplaçant n’est pas prouvée.
Côté propriétaire
Dans l’ordre. Chaque action se fait dans un tableau de bord ; aucune valeur secrète ne se colle dans un fichier, une PR ou une conversation. Le pas à pas est dans le runbook cité (pages de operations/runbooks/).
1. GitHub Actions : facturation (platform-ops/2950)
- GitHub → organisation BoostEcom → Settings → Billing & plans : régler le paiement en échec ou relever la limite de dépense. Les runners ne démarrent plus depuis le 2 octobre ; ça ne revient pas seul.
- En attendant, dans ce dépôt de documentation : Settings → Secrets and variables → Actions → onglet Variables →
CI_PAUSED=true(les jobs passent en « skipped » au lieu d’échouer). La preuve d’une PR est alors locale :node scripts/audit-docs.mjs. - Quand les runners reviennent : supprimer
CI_PAUSED, relancer un passage complet surmaindans les deux dépôts.
2. Vercel : Redis (platform-ops/3155)
Runbook : operations/runbooks/vercel-env-checklist.
- Le code lit
KV_REST_API_URLetKV_REST_API_TOKEN, supprimées du projet Vercel le 2 octobre : la production tourne dégradée (limites de débit et verrous sans stockage partagé). Reposer ces deux variables en Production (intégration Upstash ou valeurs du store), puis redéployer.
3. Vercel : variables à poser ou vérifier
Runbook : operations/runbooks/vercel-env-checklist.
-
ADMIN_EMAILsur un domaine vérifié chez Resend (platform-ops/3150) ; vérifier qu’une alerte arrive. -
TURNSTILE_SECRET_KEYetNEXT_PUBLIC_TURNSTILE_SITE_KEY. -
RESEND_SUPPORT_DOMAIN. -
TOKEN_ENCRYPTION_KEY. -
INTELLIGENCE_ANON_SECRET. -
MAX_CONVERSATION_USD. - Supprimer les variables mortes que
src/env/server.tsne déclare plus (comparer la liste Vercel à ce fichier). - DataFast : relier le webhook de revenu au compte DataFast.
4. Parcours complet en sandbox, puis Stripe live (platform-ops/3151 puis billing/3140)
Runbook : operations/runbooks/lancement-checklist.
- Jouer le parcours complet comme un vrai utilisateur, en sandbox : attribution, e-mails, MCP, paiement, remboursement (
platform-ops/3151). - Ensuite seulement (décision du 2 octobre) : passage en live Stripe (
billing/3140), produits et prix créés en live, webhooks en live.
5. Builds Vercel : Enhanced builds (platform-ops/0088)
- Le build meurt par manque de mémoire du conteneur, pas par lenteur. Décider d’activer les Enhanced builds (dépense) ; c’est un item
type: decision.
6. Chrome Web Store (growth-web/0620)
- Re-téléverser le ZIP de l’extension sur le Chrome Web Store.
- Renseigner le champ Website du tableau de bord CWS : l’installation ouvre encore une page tierce au lieu de la page d’installation de BoostEcom.
7. Neon : branche de production (platform-ops/3160)
- Cocher la case « Production » de la branche de production dans la console Neon.
- Vérifier que le marqueur
[ignore-build]coupe bien les builds inutiles, puis relever les coûts sur sept jours.
8. Dev Studio : secrets GitHub (platform-ops/2723)
- Poser
GITHUB_WEBHOOK_SECRET(webhook GitHub du dépôt de l’app) etGITHUB_FLEET_TOKENdans Vercel : sans eux, la console de développement reste inerte.
9. Export fondateur et données du studio interne retiré (data-platform/3122)
- Exécuter l’export fondateur (le script est livré par #1693) et vérifier l’archive hors base.
- Attester par écrit l’unique écrivain de la publication sociale avant toute autre migration (Growth interne retiré).
- Portes de migration encore à prouver : décisions D-02, D-03, D-18, D-28 et import E2E-26.
10. Secrets de l’outil de publication sociale retiré
- Révoquer les clés Postiz (outil retiré de l’app le 8 octobre) dans le tableau de bord du fournisseur et dans Vercel, une fois l’export (action 9) prouvé.
11. Documentation : domaine et audits
Runbook : Checklist de publication.
-
docs.boostecom.appest le domaine de toute la documentation (décision du 8 octobre 2026) : retirer la redirection 308 de l’app vers/docs(src/lib/subdomain-routing.ts, décisiongrowth-web/3018) et pointer le domaine vers Documentation.AI. - Relier le dépôt
BoostEcom/docs.boostecom.appà Documentation.AI ; Access Control en mode Partial, JWT ou OAuth 2.0, claimsaccessRoles. - Créer le secret
BOOSTECOM_READ_TOKENdans ce dépôt : jeton fin d’organisation limité àBoostEcom/boostecom.app, Contents: read-only et Metadata: read-only, expiration courte. - Créer la variable
BOOSTECOM_CLAIMS_ENABLED=true: le job hebdomadaireboostecom-claimsne tourne pas sans elle.
Côté app
Les items vivent dans backlog/ de l’app ; un identifiant s’écrit <pilier>/<id> (des identifiants se répètent d’un pilier à l’autre).
P0
- Tests qui lisent des fichiers supprimés (relevé du 8 octobre, à confirmer en lançant Vitest sur eux seuls) :
src/test/creative-qc-conventions.test.ts,src/test/studio-surfaces-conventions.test.ts,src/test/feedback-loop.test.ts,src/test/a-render-says-when-it-is-done.test.ts,src/test/one-inventory-of-renders.test.ts,src/test/academy-tutorials-match-the-product.test.ts(ce dernier lit une page du handbook retirée). Un test se supprime seulement avec ce qu’il garde. - Fichiers dérivés :
pnpm docs:claims:fix(13 comptes périmés) etpnpm fleet:derive(manifeste), une seule fois, après les autres changements ; puis réparer les 32 liens morts depnpm docs:links. - Redis (
platform-ops/3155) : suit l’action 2 du propriétaire, ou le code lit les variables que Vercel fournit. - Parcours complet en sandbox (
platform-ops/3151), préalable du live Stripe. - Verrous fantômes : ai-platform 3046, 3050, 3060, 3062, 3064, 3068, app-shell 3063, commerce-systems 3061 sont pris depuis le 26 septembre sur des branches
claude/*absentes d’origin; les 32 items pris ou en cours citent tous une branche absente. Les libérer ou les reprendre. - P0 prêts :
ai-platform/2642(job durable d’audit : le worker importe le moteur de scan ou passe par une entrée signée),ai-platform/2955(Builder = éditeur Onlook),commerce-systems/2644(RevenueDailydécoupe les jours en UTC, pas dans le fuseau du marchand). - P0 probablement périmés, à requalifier :
growth-web/2689,growth-web/2905(l’interface du Studio marchand est retirée).
P1
- Résidus du nettoyage (relevé du 8 octobre, chaque constat à revérifier avant d’agir) :
- fichiers de production importés par personne, gardés en vie par des tests qui lisent leur source : composants et modules de
src/features/studio/,src/services/creative/capability-run.tsetgenerated-assets.ts,scripts/derive-brand-assets.mjset les scriptsbrand:derive*(aussi dans le crochetpre-push) ; src/components/studio/: déplacer à côté du Dev Studio ce qu’il utilise (studio-shell.tsx,stage-chip.ts,studio.css), supprimer le reste ;- un prompt d’IA vivant renvoie vers des routes retirées (
src/features/ai/platform-skills/platform-general/prompt.md) ; la recherche du handbook pointe vers/ops/docs, route absente (src/lib/content/docs-search.ts) ; - allow-list de sécurité morte pour le cinéma retiré (
src/lib/security/service-session-claims.ts, branche de session de service danssrc/proxy.ts) ; - permissions sans rien derrière (
src/lib/security/permissions.ts) ;src/features/studio/writes.tsrevalide des routes retirées ; - environ 918 clés i18n orphelines sous
studio.*, dans les six langues ; .claude/fleet/ownership.jsonpossède encore des dossiers retirés ;- skills et
CLAUDE.mdlocaux qui renvoient vers les skills de contenu et de création retirés ; les faits vivent désormais danscontent/platform/verified-facts.md.
- fichiers de production importés par personne, gardés en vie par des tests qui lisent leur source : composants et modules de
- Pages publiques qui vendent encore le Studio retiré (
src/app/(marketing)/features/studio,src/app/llms.txt/route.ts) : en attente de la décision du propriétaire (garder, réécrire, retirer). - Modèles de base sans lecteur (
GrowthUnit,ContentRender,ContentReview,AttributionEvent) : les garder jusqu’à l’export fondateur prouvé, puis les retirer dans une migration séparée. - Backlog P1 notables :
billing/3142(Free = clé API + MCP, à prouver de bout en bout),app-shell/3156(vue unique des actions du propriétaire dans le Dev Studio),marketplace/3143etmarketplace/3144,ai-platform/2958(aucun plafond global devantstreamText),platform-ops/2663(aucun job QStash n’aboutit depuis sept jours),platform-ops/2960(le bonus quotidien saute des organisations après 300 s),marketplace/3028etmarketplace/3029,platform-ops/0552(Node 24 casse le build). - Items en retard sur la réalité :
growth-web/3114etgrowth-web/3115encore bloqués alors qu’ils sont en grande partie exécutés ;platform-ops/3164en cours avec sa définition de fini non cochée ;data-platform/3122en cours (script livré, export non prouvé) ;platform-ops/3160(restes côté propriétaire, action 7).
P2
- Consommateurs du dossier
docs/de l’app (vague 2, une fois la prose arrivée ici) : environ 378 références dans 255 fichiers de code ; les gardes de chemins et de liens de documentation ; une trentaine de tests qui lisent de la prose, à porter dansscripts/audit-boostecom-claims.mjs(registre :node scripts/audit-boostecom-claims.mjs --list) ; les scriptsscripts/check-doc-claims.mjs,scripts/check-doc-links.mjs,scripts/fleet-status.mjs,scripts/fleet-scope-check.mjs;src/services/fleet/prompt.ts; les globsdocs/**de.claude/fleet/ownership.json. - Runners GitHub : les 16 jobs de l’app tournent sur
ubuntu-latest, qui passe à Ubuntu 26 le 19 octobre ; les épingler. - Qualité du backlog :
3161et3162marquésdonehors de_archive; deux items enin_progressau lieu dein-progress; identifiants signalés en double (2950, 2993, 0596, 0589, 2945, 2947, 3061) ; environ 48 items ouverts visent des surfaces retirées (Studio, Postiz, Cinéma, Academy, Remotion retirés). - Dérive du processus : des PR récentes ont utilisé des branches hors du format
fleet/<pilier>/<id>-<slug>et n’ont pas mis à jour leur item ; #1702 a été fusionnée en brouillon. - Petits restes :
src/app/(dashboard)/ops/README.mdcommence par un `
littéral ;src/test/admin-conventions.test.tsliste encore une page retirée ;knip.jsonignore le binaire du renderer, encore nécessaire tant que.github/workflows/creative-render.ymlreste. 6. **Extractions ultérieures**, seulement après la preuve de non-régression des médias Shopify :src/features/studio, src/components/studio, src/services/creative, src/lib/studio, les outils studio-*desrc/features/ai/tools/(découpler d’abordstudio-voice-tools`).
Décisions ouvertes
Aucun agent ne les tranche : ce sont des items type: decision du backlog, ou des choix que seul le propriétaire peut faire.
- Pages publiques du Studio retiré : garder, réécrire ou retirer.
- P1 :
billing/0596(le plan Free n’ouvre ni le cockpit ni le chat),billing/2704,billing/0369,billing/0612,billing/2811,billing/2964,billing/2786,billing/2787,billing/2788,data-platform/2789,security-identity/0601,security-identity/2790,growth-web/0628(mentions légales LCEN, médiateur),platform-ops/0367(quota QStash). - P2 :
app-shell/0365,commerce-systems/0370,commerce-systems/0527,commerce-systems/3013,data-platform/0520(RGPD),integrations/0714,integrations/2962,intelligence/0598,marketplace/2999,marketplace/3000,platform-ops/0368,security-identity/0600,security-identity/0602. - P3 :
app-shell/0502,app-shell/3154. - Bloquante :
platform-ops/0088(Enhanced builds, action 5). - Items « à décider » hors type
decision:ai-platform/0366,ai-platform/2703,billing/2988. - Les décisions créatives
billing/2786àbilling/2788,data-platform/2789etsecurity-identity/2790sont à reformuler : le Studio opérateur est retiré, la vidéo du chat et des Workflows existe toujours.
Fait récemment
Du 3 au 8 octobre 2026, sur le main de l’app :
- FinOps et Neon (#1685 à #1687) : fin de la tempête de builds, garde-fous de coût, état FinOps et nettoyage Neon consignés (
platform-ops/3160). - Films et vidéo de démonstration sortis de l’app (#1688, #1689).
- Consentement cookies porté depuis l’autre produit (#1690).
- Rendus créatifs sourcés depuis le Studio de l’écosystème, moteur épinglé (#1691, #1703) ; 51 documents de skills dupliqués retirés (#1697).
- Préparation du nettoyage C-5 et C-6 consignée (#1692) ; export fondateur préparé (#1693,
data-platform/3122). - Frontières : audit des frontières entre dépôts et portes de bascule (#1696), classement Studio écosystème, Studio de l’autre produit et chat/Workflow Shopify (#1694), médias des Workflows isolés avec autorisation de boutique partagée (#1695).
- 72 skills opérateur internes retirés, faits fondateur empaquetés pour le chat (#1698,
content/platform/verified-facts.md) ; traçage du chat corrigé (#1699). - Nettoyage « rollback-first » du 8 octobre (#1700 à #1731) : alias de garde retiré, thèse Shopify isolée du Growth interne, états médias inatteignables retirés, bureaux et actions opérateur retirés, routes créatives internes retirées, chat et lecture HTTP du Growth interne retirés, cron d’attribution interne retiré, modules Growth et Postiz retirés, Academy et Cinéma opérateur retirés, ancien Studio marchand retiré sans toucher aux capacités médias (#1728), frontière Shopify/Studio documentée (#1729).
- Correctif de production : résolveur de tenant fondateur rétabli pour les faits vérifiés du chat (#1730), après sept builds de production en erreur.
- Dev Studio natif dans l’Admin : raccourcis Studio retirés du profil (#1731), cockpit Admin unifié et flux de travail relu par le propriétaire (#1732), mise en page native et rédaction du backlog (#1733).