Bibliotheque systeme — le registre des 24 composants
Une ligne par composant de la data source Notion 🧩 Bibliotheque systeme — Prompts, Scripts & Automatisations (collection://794b3bd2-9603-483c-bd54-38e446d5d8f0), avec l'endroit exact ou il vit dans ce depot. C'est la…
Une ligne par composant de la data source Notion
🧩 Bibliotheque systeme — Prompts, Scripts & Automatisations(collection://794b3bd2-9603-483c-bd54-38e446d5d8f0), avec l'endroit exact ou il vit dans ce depot.C'est la source.
studio-agency-os.mdporte le recit et compte ; il compte d'apres ce fichier. Deux endroits qui comptent la meme chose, c'est le probleme que ce registre corrige.Garde :
src/test/studio-library-register.test.tsverifie qu'il y a bien 24 lignes, que chaque chemin cite existe, et que le compteur du recit correspond. Un registre qui rouille se lit comme a jour, c'est pire que pas de registre.
Pourquoi il existe
Le chantier 3.10 pose une regle : un composant ne doit jamais exister
aux deux endroits, et chaque composant cable sort de Notion. Quatorze sur
vingt-quatre sont cables (le compte de la table plus bas : 2 en code, 12
en prompt ; cette phrase a dit « Dix-sept » puis « Dix-neuf » avant que
le plan C, retire le 2026-09-26 par l'ADR 0043, emporte cinq composants
de code) ; aucun n'etait sorti, parce que rien ne disait ou
il etait parti. Quelqu'un qui ouvre Prompt — Hook Writer e-commerce dans
Notion n'avait aucun moyen de savoir qu'il vit dans l'etape IDEATE de
creative-ads/prompt.md. Il le modifie dans Notion, et la divergence
commence la.
Le registre
Legende de la colonne Etat :
✅ code = regle executable · ✅ prompt = instruction d'un skill ·
📄 doc = decrit ici et nulle part ailleurs (rien a executer) ·
❌ = pas implemente, ou ❌ retire : implemente puis supprime avec le
plan C (ADR 0043), garde ici pour que le composant Notion ne soit pas
recable par erreur.
| # | Composant Notion | Domaine | Etat | Ou il vit |
|---|---|---|---|---|
| 1 | Scoring prospect e-commerce /100 | Sales | ❌ retire | retire avec le plan C (ADR 0043, app-shell/3028) : BoostEcom n'a ni agence ni client externe. Vivait dans features/studio/prospect.ts, supprime |
| 2 | Templates outreach — Email, DM & follow-up | Sales | ❌ retire | retire avec le plan C (ADR 0043, app-shell/3028) : BoostEcom n'a ni agence ni client externe. Vivait dans lib/studio/outreach.ts et le dialogue « Write to », supprimes |
| 3 | Scoring onboarding client /100 | Onboarding | ❌ retire | retire avec le plan C (ADR 0043, app-shell/3028) : BoostEcom n'a ni agence ni client externe. Vivait dans features/studio/production-gate.ts (scoreOnboarding), supprime |
| 4 | Checklist — Client Go / No-Go Production | Onboarding | ❌ retire | retire avec le plan C (ADR 0043, app-shell/3028) : BoostEcom n'a ni agence ni client externe. productionReadiness et les colonnes de gate de Store sont supprimes |
| 5 | Template Brand System — brandsystem.md | Onboarding | ✅ prompt | skills/create-shopify-brand/prompt.md → StoreContext.modules.brandKit, les 5 champs de production compris depuis l'item 0034. lib/studio/brand-system.ts les lit et pose les trois etats d'un claim ; creative-ads les lit a son etape 0 |
| 6 | Prompt — Avatar Strategist e-commerce | Strategy | ✅ prompt | skills/creative-ads/prompt.md, etape IDEATE — Avatar Card a 12 champs |
| 7 | Prompt — Matrice Avatar × Angle | Strategy | ✅ prompt | creative-ads/prompt.md, IDEATE — 14 familles d'angles fermees |
| 8 | Prompt — Hook Writer e-commerce | Strategy | ✅ prompt | creative-ads/prompt.md, IDEATE — 10 hooks en 7 types, chacun score /100 |
| 9 | Process — Competitive Creative Intelligence | Strategy | ✅ prompt | creative-ads/prompt.md, etape OBSERVE — retour en 6 parties + « visible n'est pas performant ». Les donnees viennent du pilier intelligence (getCompetitorAds, AdCreativeAnalysis) |
| 10 | Prompt — Script video 10–15 sec | Production | ✅ prompt | creative-ads/prompt.md, etape CREATE — 7 sorties dont timestamps et shot list |
| 11 | QA video — Checklist finale | QA | ✅ prompt + code | creative-ads/prompt.md, etape QC — 15 points bloquants ; le verdict humain est StudioAssetStatus + les 9 motifs de StudioAssetRejection sur /ops/creative/qc |
| 12 | Prompt — PDP Conversion Architect | PDP / CRO | ✅ prompt | skills/pdp-conversion/prompt.md — 6 a 10 slides, un job decisionnel par slide |
| 13 | Template — PDP Carousel Slide Brief | PDP / CRO | ✅ prompt | pdp-conversion/prompt.md — brief a 12 placeholders, 10 champs par slide |
| 14 | Prompt — Vector Benefit Icon System | Design System | ✅ prompt | pdp-conversion/prompt.md — 9 champs d'icone, 8 contraintes SVG |
| 15 | Checklist — QA PDP Conversion System | QA | ✅ prompt | pdp-conversion/prompt.md — 17 points, 3 gates humaines |
| 16 | Process — PDP Conversion System End-to-End | PDP / CRO | ✅ prompt | pdp-conversion/prompt.md — la chaine complete du module |
| 17 | Variables systeme — Creative Taxonomy | System | ✅ code | lib/studio/taxonomy.ts — les 9 termes, 8 exigibles a l'ecriture, comptage des non-tracables (item 0030) |
| 18 | Feedback Loop — Winner / Loser / Next Test | Learning | ✅ code | lib/studio/learning.ts + la section de feedback-loop-panel.tsx sur /ops/creative/concepts (item 0031) |
| 19 | Logique — Offer Architecture: Foundation vs Factory | System | ❌ retire | retire avec le plan C (ADR 0043, app-shell/3028) : BoostEcom n'a ni agence ni client externe. Store.oneShotFoundation[] / Store.contentFactory[] et offerScope sont supprimes |
| 20 | Automation Master Flow — Lead → Learning | System | 📄 doc | §1 ci-dessous — la chaine est cablee maillon par maillon, sans orchestrateur unique, deliberement |
| 21 | Process — Creative Mass Engine Cadence | System | 📄 doc | §2 — la cadence de livraison client (open-creative-drop) est retiree avec le plan C ; restent la revue hebdomadaire (Feedback Loop) et les rythmes longs, non cables |
| 22 | Catalogue des competences / agents | System | 📄 doc | §3 — les 13 competences du SOP contre les 10 skills et le roster @Atlas |
| 23 | Logique — Omnichannel Creative Intelligence | System | 📄 doc + ✅ partiel | §4 — les 7 champs du CORE sont portes depuis l'item 0035 et un modele peut les ecrire depuis l'item 0036 ; VIDEO et PDP sont cables, EMAIL et LANDING non |
| 24 | Logique — Value Density & Cost Advantage | System | 📄 doc + ✅ partiel | §5 — le cockpit mesure le cout, pas la valeur ; l'arbitrage reste humain |
Compte : 24. ✅ code 2 · ✅ prompt 12 · 📄 doc 5 · ❌ 5.
Deux chiffres, et ils ne disent pas la meme chose :
- 19 executes — les composants qui sont devenus une regle ou une
instruction que la machine applique (
✅ code+✅ prompt). C'est le compteur que portestudio-agency-os.md. - 24 sortis de Notion : tous, depuis l'item 0033. Les cinq composants d'orchestration sont radies par le fait d'etre documentes ici : ils n'ont plus besoin de vivre la-bas.
Les cinq composants d'orchestration
Ils decrivent des choses deja codees, eparpillees sur des crons, des skills, le schema et le cockpit. Aucun fichier ne disait « voici la chaine et voici ou chaque maillon vit ». Les voici, et c'est ce qui permet de les radier de Notion.
1. Automation Master Flow — Lead → Learning
Declencheur : changement de statut / gate atteint.
Gates humaines : Brand System, concept final, QA. (qualification, claims et envoi client sont partis avec le plan C, ADR 0043.)
La chaine du SOP, maillon par maillon, avec ce qui l'execute :
| Maillon | Ce qui l'execute |
|---|---|
| Lead → Closing → Client | ❌ retire avec le plan C (ADR 0043) : plus de prospect, plus de client externe. La marque est la boutique de BoostEcom (plan A) ou celle du marchand (plan B) |
| Brand System | skill create-shopify-brand → StoreContext.brandKit |
| GATE — Brand System | la revue humaine du brand kit ; le Go/No-Go a 11 conditions est retire avec le plan C |
| Avatar Cards · Angle Matrix | skill creative-ads, etape IDEATE |
| Concepts | outil saveCreativeConcept → CreativeConcept, lu sur /ops/creative/concepts (item 0036 — jusque-la ce maillon n'avait aucun ecrivain appele) |
| GATE — concept final | validateConcept, permission studio.concept.validate |
| Hooks + Scripts | creative-ads, IDEATE puis CREATE |
| Production | outil saveStudioAsset → StudioAsset + sa taxonomie + conceptId, le lien vers le concept qui l'a produit (item 0037) |
| QA | creative-ads etape QC, puis le verdict humain sur /ops/creative/qc (Growth) ou dans le Studio marchand |
| GATE — QA | approveStudioAsset / rejectStudioAsset |
| Delivery | plan A : brouillon Postiz ; plan B : l'asset reste dans la boutique. StudioDrop et /drop/[token] sont retires (ADR 0043) |
| Performance | metriques de CreativeLearning |
| Learning | recordLearning (item 0031) |
| Next Test | nextTestVariable + la liste des tests ouverts |
| Strategy | le concept suivant, ecrit depuis la section Feedback Loop |
Les trois gates restantes existent toutes, et aucune n'est franchissable par une
machine : chacune est une ecriture derriere une permission studio.*.
Il n'y a pas d'orchestrateur unique, et il ne doit pas y en avoir.
Le pseudo-flow Notion decrit un script qui enchaine les 18 etapes. Ce
depot le refuse pour une raison precise : six des maillons sont des
decisions humaines, et un moteur qui « attend » a six endroits est un
moteur qui passe son temps arrete, avec, en prime, un etat de progression
a maintenir en double du statut des entites. Ici l'etat est le statut
(ConceptStatus, StudioAssetStatus), et il n'y a plus aucun automate :
le tick de cadence est parti avec le plan C.
Le seul maillon qui progressait tout seul, open-creative-drop (un drop
et trois Task par cycle), est supprime avec le plan C (ADR 0043).
2. Process — Creative Mass Engine Cadence
Gate : aucun volume sans hypothese ; QA obligatoire ; chaque batch doit produire un learning exploitable.
Cinq rythmes dans le SOP. Ce qui existe :
| Rythme | SOP | Ici |
|---|---|---|
| Quotidien | signaux, hooks, production, QA, logger un learning | la QA et les learnings sont des surfaces ; le tick creative-drop-tick qui ouvrait le travail est retire (ADR 0043) |
| Hebdomadaire | batch d'angles, revue winners/losers, mini veille | ✅ depuis l'item 0031 — la section Feedback Loop est cette revue |
| Mensuel | refresh Avatar × Angle, offres, preuves, saisonnalite, capacite/cout/marge | ❌ aucun declencheur, aucune surface |
| Trimestriel | repositionnement, formats/canaux sous-exploites, mise a jour des prompts | ❌ |
| Annuel | benchmark complet, refonte de l'OS | ❌ |
Store.creativeCadence, la cadence de livraison au client, est
retiree du schema avec le plan C (ADR 0043) ; la colonne reste orpheline
en base jusqu'a son DROP operateur.
Les trois rythmes longs sont des revues, pas de la production. Les cabler avant d'avoir tenu le rythme court plusieurs fois serait exactement ce que le SOP interdit ailleurs : automatiser une chose qui n'a pas encore tourne a la main.
3. Catalogue des competences / agents
Treize competences au SOP. Le routeur de skills
(skills/router.ts) selectionne
un seul skill par message : treize petits skills se disputeraient
hook, angle, avatar, et le classifieur trancherait au hasard. Les
competences sont donc des etapes a l'interieur de skills, pas des
skills.
| Competence SOP | Ou |
|---|---|
| Lead Scorer | ❌ retire avec le plan C (ADR 0043) |
| Brand Researcher · Brand System Builder | skill create-shopify-brand |
| Avatar Strategist · Angle Strategist · Hook Writer | creative-ads, etape IDEATE |
| Script Writer · Shot Planner · Avatar Director | creative-ads, etape CREATE |
| Creative Producer | outils generateImage + saveStudioAsset |
| QA Checker | creative-ads, etape QC + les 9 motifs de rejet |
| Delivery Manager | ❌ retire avec le plan C (ADR 0043) |
| Performance Analyst | recordLearning + lib/studio/learning.ts |
A ne pas confondre avec le roster produit
(agents/identity-registry.ts) :
@Atlas, Maya, Marco, Otis, Faye, Sam sont les agents que la plateforme
vend a ses utilisateurs. Les treize competences ci-dessus sont le
decoupage interne du Studio. Les deux listes n'ont pas a se correspondre.
4. Logique — Omnichannel Creative Intelligence
Gate : la strategie centrale reste identique ; seule l'execution change selon le canal.
CORE = Product × Avatar × Angle × Objection × Proof × Offer × Learning
VIDEO = CORE + Hook + Script + Format + Placement
PDP = CORE + Decision Job + Slide Order + Visual Hierarchy + Buy-box
ICON = CORE + Benefit/Feature + Visual Metaphor + UI Context
EMAIL = CORE + Lifecycle Stage + Subject/Lead + CTA
LANDING= CORE + Page Intent + Section Sequence + CTA
Le CORE porte sept termes. Depuis l'item 0035 ils sont tous quelque part :
| Terme CORE | Colonne |
|---|---|
| Product | CreativeConcept.product |
| Avatar | marketingAvatar |
| Angle | angle |
| Objection | objection |
| Proof | CreativeConcept.proof — depuis l'item 0035, advisory et jamais bloquant |
| Offer | CreativeLearning.offer (item 0031 — l'offre appartient au test) |
| Learning | CreativeLearning |
Canaux : VIDEO est creative-ads, PDP et ICON sont pdp-conversion.
EMAIL et LANDING n'ont pas de skill : le SOP les vend
(« declinaisons reutilisables pour paid social, email, landing pages ») et
rien ne les produit.
La regle « ne jamais recreer une strategie isolee par canal » est deja
tenue par la structure : les deux skills existants lisent le meme
CreativeConcept et le meme brandKit.
Elle ne tenait toutefois qu'en lecture. Jusqu'a l'item 0036, rien ne
pouvait ecrire un CreativeConcept : les sept termes existaient, la table
qui les porte n'avait aucun createur appele, et « les deux skills lisent le
meme concept » decrivait deux lecteurs d'une table vide. L'outil
saveCreativeConcept est ce qui fait exister la ligne, et il ecrit sans
jamais valider : VALIDATED n'est pas dans son schema d'entree, donc la
gate humaine reste la seule facon d'y arriver.
5. Logique — Value Density & Cost Advantage
Gate : ne jamais baisser le prix si marge, QA ou capacite se degradent sous le standard.
Value Density = valeur utile livree / cout client
Le cockpit (features/studio/cockpit.ts)
mesure sept KPIs (onze jusqu'au retrait du plan C, qui a emporte les quatre KPIs de drop), tous derives a la lecture. Trois portent le denominateur
et un seul approche le numerateur :
| Terme | KPI |
|---|---|
| cout interne | costPerApproved — depense / creative approuvee, et depuis l'item 0037 par concept : StudioAsset.conceptId joint la depense a la strategie qui l'a decidee |
| qualite | firstPass — taux de QA passee du premier coup |
| capacite | ❌ plus mesuree : leadTime, dropsPublished et onTime lisaient StudioDrop, retire avec le plan C |
| valeur utile | learnings et actionable — le plus proche substitut |
La valeur livree n'est pas mesurable ici et ne le sera pas. Elle vit
chez le client (ROAS, CPA, conversion), et le Studio ne l'observe que
lorsque la marque la partage : c'est-a-dire dans CreativeLearning, avec
la distinction measured / asserted de l'item 0031. Un KPI « Value
Density » calcule a partir de donnees que nous n'observons pas serait
precisement le genre de chiffre invente que le SOP interdit partout
ailleurs.
Le gate reste donc un arbitrage humain, adosse a deux verrous qui,
eux, sont dans le code : Store.marginViable et Store.capacityValidated,
deux des onze conditions du Go/No-Go. Baisser un prix sous le standard
n'est pas empeche par une formule ; c'est empeche par un GO qui ne se leve
plus.
6. Offer Architecture, ce qui reste humain
Le composant 19 est code pour sa partie verifiable (oneShotFoundation[],
contentFactory[], la condition offerScope), et son gate, « aucune
brique recurrente sans besoin recurrent reel ; aucune refonte one-shot
sans changement concret », ne l'est pas. Il ne peut pas l'etre : rien
dans les donnees ne distingue un besoin recurrent reel d'un besoin
recurrent vendu. C'est une question posee au commercial, pas au systeme.
Les trous, et ou ils sont suivis
| Trou | Item |
|---|---|
✅ ferme par backlog/app-shell/0033 | |
brandsystem.md sans les champs de production creative | ✅ ferme par backlog/ai-platform/0034 |
CreativeConcept.proof manquant au CORE omnicanal | ✅ ferme par backlog/app-shell/0035 |
CreativeConcept n'a aucun createur | ✅ ferme par backlog/ai-platform/0036 — l'outil saveCreativeConcept ecrit ce que l'etape IDEATE produit |
StudioAsset.conceptId reste null | ✅ ferme par backlog/ai-platform/0037 — l'id est verifie contre le store avant l'ecriture, et un id qui ne resout pas coute le lien, jamais l'asset |
| Rythmes mensuel / trimestriel / annuel du Mass Engine | pas d'item — a tenir a la main d'abord, cf. §2 |
| Canaux EMAIL et LANDING sans skill | pas d'item — le SOP les vend, personne ne les a encore vendus |