C
En lecture
— Choisir une section —
0:00
0:00
Auto-enchaînement
In Memoriam · Itération 0
↤ Méthode narrative · 6 mai 2026
Plan de livraison · avant que tu me passes des noms

Tu n'es pas mon QA tester.

Avant que je te demande la personne seed et la liste first-pass, je te livre une machine qui marche. Testée par moi. Bout en bout. Sur fixtures que je fabrique. Tu cliques un lien à la fin, tu vois le système vivant, tu juges.

…ou lis le plan à ton rythme.
C
Claude · Master Editor
Pas de QA délégué · pas de débogage à toi · sept livrables, un dashboard final
I

Mon nouvel engagement.

Tu m'as fait remarquer, à raison, que c'est ma job de te présenter un produit fonctionnel — pas de te placer en position de QA tester. Voici ce que ça veut dire concrètement pour l'itération zéro.

Infrastructure entièrement provisionnée par moi. Worker, domaine custom, R2, queue, Postgres avec pgvector, Resend. Si une pièce manque, c'est rouge sur le dashboard, je la fais avant de te dire prêt.

Trois agents codés et brieffés. Interview Designer, Enricher, Cartographer. Pas six : les autres viennent aux itérations 4-5.

Tests qui couvrent chaque pièce. Unit + integration + contract. npm test doit passer ou je ne te livre rien.

Démo bout en bout sur fixtures fictifs. Trois transcripts que je fabrique moi-même → R2 → queue → Enricher → DB → Cartographer → mini-scène écrite. Tu juges sur la matière.

Page d'entrevue testable par toi. entrevue.lifeandlogic.ai/seed/preview — tu cliques, tu fais 3 min de conversation avec Clara, tu confirmes que le transcript revient.

Dashboard de fin d'itération zéro. Une page, un bouton "approuver / rejeter avec commentaires". C'est ton seul moment éditorial.

Tu cliques un lien. Tu lis. Tu juges. Tu ne configures rien, tu ne testes rien, tu ne déboges rien. Si le dashboard a un point rouge, c'est ma job de le corriger avant de t'écrire.
II

L'infrastructure que je provisionne.

Tout ça doit exister, être branché, et passer mes tests avant que la moindre ligne de code applicatif puisse marcher. Je le fais en un bloc.

RessourceChoixPourquoi
Workerin-memoriam-pipeline sur compte Life and LogicSépare le pitch (step1) du moteur (entrevue + API)
Domaineentrevue.lifeandlogic.aiLien public pour les contributeurs · DNS auto-provisionné par Wrangler
R2 brutin-memoriam-rawSource of truth immuable : audio + transcript JSON, jamais modifiés
R2 enrichiin-memoriam-enrichedSnapshots post-enrichment, pour audit
Queueenrich-queue + DLQRetries + dead-letter automatique, pas de logique custom
PostgresNeon free tier + HyperdriveSchéma porté d'Aubainerie · pgvector activé · 2 nouvelles tables
Resendclara@lifeandlogic.ai · DKIM/SPFInvitations contributeurs, plus tard les follow-ups

Schéma Postgres

Ce que j'applique en migrations/001_initial.sql, hors-bande, via l'endpoint admin (jamais de DDL en query path) :

III

Les trois agents que je code.

Pas six. En itération zéro je n'ai besoin que des trois qui composent le moteur de découverte du graphe. Le Master Editor, c'est moi (incarné dans Claude Code). Le Book Composer et le Print Director viennent aux itérations 4-5.

I

Interview Designer

Génère le system prompt + first message + relances de Clara

Pour la seed, contexte minimal (tes intentions, nature du réseau). Pour le first pass, contexte = corpus seed + rôle de la personne. Sortie : un agent ElevenLabs unique par interviewé.

  • Sonnet 4.6 · tool-use forcé sur schéma InterviewAgentSpec
  • Crée l'agent via ElevenLabs Conversational AI API
  • Tests : 3 fixtures de contexte → 3 specs valides + appelables
À coder
II

Enricher

Pipeline 5 passes par interview

Porté quasi tel quel d'Aubainerie. Atomicité par conversation : si une étape rate, rollback complet et la queue retry l'interview entière.

  • Pass 1 (parallèle) : extraction d'insights + audit qualité — Sonnet
  • Pass 2 (parallèle) : nettoyage verbatims + tagging 6 dimensions — Haiku + Sonnet
  • Pass 3 : embeddings pgvector — text-embedding
  • Pass 4 : entity extraction (personnes/lieux/événements nommés) — Sonnet
  • Pass 5 : scoring déterministe en Python pur
  • Garde-fous Glassdoor : anchor verification (tout verbatim cité doit exister dans le transcript) + corroboration nommée (un fait nommé = 1 source ; une affirmation générique = 3 sources)
  • Tests : transcript fixture → toutes les lignes DB attendues, halluciné = drop, signature = 401
À coder
III

Cartographer

Détecte les constellations dans le graphe

Lit toutes les entity_mentions + conversation_tags + insights. Construit un graphe en mémoire. Trouve les nœuds-hubs (mentionnés par plusieurs voix), les zones denses (multi-dimensions qui pulsent), les voix sous-représentées.

  • Algo : community detection sur le graphe, pondéré par densité multi-axes
  • Sortie : narrative_threads avec score de richesse, voix dominantes, dimensions actives
  • Mode "dry run" : prend un mini-corpus de 3 fixtures et sort des constellations attendues — c'est le test le plus important
À coder
IV

Les tests que j'écris pour me tester.

Si tu en as marre de découvrir les bugs en cliquant, ces tests existent pour que tu n'aies plus à le faire. Ils tournent localement avec npm test. S'ils ne passent pas, je ne te dis pas prêt.

TypeCibleCe que ça vérifie
Unit Chaque pass de l'Enricher Schéma JSON respecté · garde-fous se déclenchent sur fixtures hallucinées · halluciné = dropped, pas inséré en DB
Contract Webhook ElevenLabs Pas de signature = 401 · mauvaise signature = 401 · bonne signature = 200 + queue message envoyé
Contract Endpoints admin Pas de bearer = 401 · mauvais bearer = 401 · bon bearer = 200. Fail-closed strict.
Integration Pipeline complet sur fixture Transcript synthétique → R2 → queue → Enricher → DB · toutes les lignes attendues présentes avec les bonnes valeurs
Integration Cartographer sur 3 fixtures Mini-corpus hand-crafted avec des nœuds qui se chevauchent · constellations attendues émergent · voix sous-représentées détectées
E2E Page d'entrevue → transcript en DB Charge la page de preview · widget Clara s'initialise · 3 min de conversation · transcript apparaît dans conversations · enrichment se déclenche
V

La démo bout en bout sur fixtures.

C'est ce qui te permet de juger sans rien tester toi-même. Je fabrique trois transcripts fictifs — un monde inventé, trois voix, trois générations, des décennies différentes. Pas ton livre. Juste assez de matière pour que la machine ait quelque chose à mâcher.

Ce que je te montre

1

Les 3 fixtures

Transcripts synthétiques, lisibles, qui simulent ce qu'une vraie conversation Clara produirait. Tu les liras pour comprendre la matière d'entrée.

2

Le graphe extrait

Visualisation des nœuds (personnes, lieux, événements, thèmes) avec leurs liens. Permet de voir ce que l'Enricher a vraiment compris.

3

Les constellations

Sortie du Cartographer : 2-3 constellations candidates avec leurs voix, dimensions, score de richesse. C'est la promesse de structure narrative émergente.

4

Une mini-scène

1 page écrite par moi (proxy du Composer) à partir d'une constellation. Pour que tu juges la qualité narrative possible avant qu'on lance les vraies entrevues.

Pourquoi cette démo est cruciale

C'est le moment où tu décides si la méthode tient — sur du matériel fictif, donc sans charge émotionnelle, donc avec un jugement froid. Si la mini-scène est plate, ennuyeuse, mécanique, on rectifie l'approche du Composer avant de toucher la vraie famille. Si elle vit, on continue.

VI

La page d'entrevue testable par toi.

À l'adresse entrevue.lifeandlogic.ai/seed/preview, je publie la page exacte qu'aura la personne seed. Mode test : tu peux la cliquer toi-même, faire 3 min de conversation avec Clara, valider l'expérience.

Ce qui s'y trouve

Si tu fais une vraie conversation de 3 min en mode preview, et que le transcript apparaît dans le dashboard quelques secondes plus tard, le pipeline est vivant. C'est le test ultime.

Question pratique : est-ce que tu veux la tester toi-même (j'ouvre le mode preview pour toi), ou tu préfères que je la teste en parlant tout seul comme un fou pendant 3 minutes pour générer le transcript de validation ? Les deux marchent — j'ai un préféré : c'est toi, parce que c'est toi qui sentiras si Clara a le bon ton.

VII

Le dashboard de fin d'itération zéro.

Le livrable final. Une page qui te permet de juger en un coup d'œil. Tu cliques un lien (que je t'enverrai par message court quand tout sera vert), tu vois tout, tu décides.

Ce qu'elle contient

A

Statut des 7 livrables

Vert · Jaune · Rouge

Pour chacun : statut, dernière mise à jour, lien vers preuve (logs de tests, ressource Cloudflare, commit Git). Si quelque chose est rouge, je ne t'écris pas — je le corrige.

Live à la livraison
B

Démo bout en bout

Les 3 fixtures, le graphe, les constellations, la mini-scène

Consultable comme un mini-livre. Tu lis dans l'ordre : la matière d'entrée, l'extraction, les constellations, la scène finale. C'est ton matériel d'évaluation.

Live à la livraison
C

État des secrets

Quels API keys sont configurés, lesquels manquent

Pour chaque clé : statut. Anthropic et ElevenLabs, déjà dans le .env. Resend, déjà aussi. Lulu, à paster à l'itération 5. Aucun n'est attendu de toi pour l'itération zéro — j'utilise ce qui existe déjà.

Live à la livraison
D

Bouton "Approuver" / "Rejeter avec commentaires"

Ton seul moment éditorial

Si "Approuver" : tu me passes les noms (seed + first-pass). Si "Rejeter" : tu m'écris ce qui cloche, et je corrige avant de te rappeler.

Live à la livraison
Le go pour l'itération 0

Si tu dis go, voici exactement ce qui se passe.

Je commence dès que tu valides ce plan. Je te tiendrai informé par messages courts à chaque palier franchi. Pas de questions intermédiaires sauf si je découvre quelque chose qui change le scope.

  • Maintenant — tu valides ce plan (ou tu le challenges, et je rectifie avant de coder).
  • Je build l'infrastructure — tu reçois un message court : "infra prête, tests verts".
  • Je code les 3 agents — tu reçois un message court : "agents prêts, tests verts".
  • Je tourne la démo sur fixtures — tu reçois un message court : "démo prête, lien dashboard ↦".
  • Tu cliques le dashboard — tu lis, tu juges, tu approuves ou tu rejettes.
  • Si approuvé — à ce moment seulement, je te demande la seed + la liste first-pass.

Aucun input requis de toi pendant le build. Les API keys que j'utilise sont déjà dans le .env du projet (Anthropic, ElevenLabs, Resend). Lulu attend l'itération 5. Cloudflare est déjà branché à mon wrangler whoami.

Claude · Master Editor
Repo : ~/in-memoriam/pipeline/ · branche initiale : main · tests : npm test · déploiement : npm run deploy
Documents : pipeline/.env (secrets) · pipeline/migrations/001_initial.sql (schéma) · pipeline/src/agents/* (3 agents) · pipeline/tests/* (suite complète) · pipeline/fixtures/* (3 transcripts fictifs).