Brillant sur 50 lignes. La ligne 5 000, c'est une autre histoire.
Transformez un prompt qui marche en une table de production qui se met à jour — chaque ligne soldée, jamais de versions mélangées.
Les colonnes que vos données n'ont jamais eues. Votre agent fait pousser, lot par lot, la colonne que votre source n'avait pas, et elle atterrit là où l'aval peut s'en servir — l'état de la ligne vit sur le serveur, pas dans son contexte : elle continue de produire après la fin de la session. Chaque tentative est consignée sur un même registre.
115 brutes → 62 nettoyées → 62 prises en bail sur le disque → soumission → refus → la 2ᵉ tentative reprend le même lot depuis l'état serveur, pas une nouvelle exécution → 62 posées · enregistré avec le contrôle actif ↓
Session rejouée · enregistrée le 28/07/2026claude-code + tablize skill
>
Ligne de production · Sélection de fournisseurs = tablize lineage■À jour
3 tables
Collecte ┄ hors registre
Source
Supplier listings · raw
115lignes
append-only · doublons conservés
dédoublonnage par url
−53 repliées
Traitement
Supplier listings · clean
62lignes
la première l'emporte · id stables
Extraction IA
par votre agent
Table des tentatives
Supplier category
124entrées
chaque tentative au registre
Vue validée · lentille■62 acceptéesclaude-sonnet-4.5 · tentative 2une lecture de la table des tentatives — pas une quatrième table
contrôle
4 lignes de contrôle masquées · contrôle : actif
■4/4 · tentative 2
62 acceptées · 62 écritures bloquées
Consommation ┄ hors registre
Exécution réelle — instance locale, 28/07/2026. Le contenu des lignes fournisseurs est un jeu d'essai créé pour cette vérification ; chaque compte, verdict, modèle et identifiant de lot rejoué ici est l'état enregistré par le produit lui-même. Cette exécution a été enregistrée avec le contrôle actif — bâtissez une ligne sans fichier de lignes de référence et elle tourne au niveau none : aucun verdict, les lignes se posent non vérifiées, et le flux de lots ci-dessus fonctionne exactement pareil. Les trois niveaux ↓. Ce schéma est dessiné dans le langage typographique du site — le produit lui-même ressemble à ceci ↓.
✓62 posées à la 2ᵉ tentative du même lot — l'exécution a repris depuis l'état serveur au lieu de repartir de zéro.Installer pour votre agent
Où ça s'exécute
Sur votre machine, avec votre clé de modèle. Tablize ne fournit ni modèle ni runtime.
Ce que votre agent tient à la fois
Un seul lot pris en bail, jamais la table entière. Les lignes qu'il ne traite pas restent côté serveur : son attention ne se dilue donc pas quand la table s'allonge.
Ce qui se passe demain
La session suivante reprend depuis le registre — lots ouverts, baux, verdicts — au lieu de reconstituer l'exécution à partir d'une transcription.
À quoi sert le contrôle
Pas de lignes de référence, pas de contrôle. Fournissez-en un fichier et une vérification que l'agent ne peut pas lire juge chaque lot — un seul écart refuse le lot entier, et chaque refus reste au registre.
01 / Comment ça marche
Donnez à votre agent un pipeline qui survit à la conversation.
Quatre commandes. Une seule connexion dans le navigateur pour l'appairage, pas de visite guidée, et aucune clé à longue durée de vie collée dans un terminal.
~/votre-projet · installation
$ npm i -g @tablize/cli
$ tablize install
$ tablize login --url https://api.tablize.com
$ tablize doctor
Prompt pour Claude Code / Codex
Installe Tablize comme pipeline durable pour le travail clean → extract → accept de ce projet. L'idée est que l'état du processus vit côté serveur, pas dans ton contexte.
1. Exécute `npm i -g @tablize/cli`, puis `tablize install` pour poser la compétence d'agent fournie.
2. Exécute `tablize login --url https://api.tablize.com` et demande-moi d'approuver l'appariement dans le navigateur.
3. Exécute `tablize doctor` et corrige tout écart de version, de compétence, de serveur ou d'espace de travail.
4. Inspecte ce projet et propose le contrat de preuves brutes et le schéma de résultat d'extraction avant de créer un pipeline.
5. Pour le premier passage, crée le segment d'extraction sans fichier de lignes de référence — il tourne au niveau `none` : rien de jugé, les lignes se posent non vérifiées. N'invente pas de lignes de référence juste pour remplir un champ.
6. Travaille par petits lots : `batch pull`, calcule, `batch submit`, recommence. Ne charge jamais la table entière dans ton contexte, et reprends depuis `tablize context` plutôt que depuis cette conversation.
7. Avant de faire confiance à une ligne, lis `gateMode` via `tablize transform show <adresse>` : seul `enforce` marque une ligne acceptée. Le niveau peut être déplacé plus tard — `tablize transform gate <adresse> --mode enforce --reason "…"` ne reconstruit pas la ligne, n'incrémente pas la version de la recette et laisse le travail déjà fait exactement où il est ; `enforce` et `observe` exigent d'abord des lignes de référence épinglées. Propose ce passage quand le pipeline mérite d'être protégé, et demande-moi d'abord, car c'est moi qui signe les lignes de référence, pas toi.
8. Ne desserre jamais le niveau jusqu'à `none` pour échapper à des lignes de référence qu'une ligne n'arrête pas d'échouer. C'est le contrôle qui fait son travail.
9. Garde explicitement hors de la garantie de Tablize la complétude de la collecte et l'usage réel en aval.
Pourquoi un appairage navigateur plutôt qu'un champ de clé API : ces commandes sont lancées par des agents au moins autant que par des humains, et un agent n'a ni navigateur ni mot de passe. L'appairage lui donne une identification utilisable en un seul clic humain — et le secret n'apparaît jamais dans une page web, un presse-papiers ou votre historique de shell.
⚠ L'interface du produit et la CLI n'existent aujourd'hui qu'en anglais et en chinois. Cette page est en français ; ce que vous verrez après l'installation sera en anglais — c'est pourquoi les écrans de terminal et de navigateur ci-dessous sont reproduits tels quels.
Ce qui se passe vraiment · sorties réelles de la CLI et du navigateur
01
Le terminal affiche un code court et attend.
🔐 Sign in to tablize
Opening: https://app.tablize.com/cli-login?code=…Confirm this code matches: BFTK-9QDX
Waiting for approval....
Rien n'est encore accordé. La demande expire d'elle-même si personne ne l'approuve.
02
Le navigateur nomme le client et l'étendue exacte.
Sign in to tablize?A command-line client is asking to connect to your account.
Client tablize CLI · your-mac · you
Code BFTK-9QDXWhat it will be able to do
Read and write your data. It cannot manage
members, policies or billing, and it does not
expire — revoke it any time in Profile → API keys.
[ Approve ] [ Refuse ]
Vous comparez ce code avec celui de votre propre terminal avant d'approuver. Refuser n'accorde rien et prévient le terminal en attente, qui s'arrête.
03
La CLI reçoit la clé, et doctor vérifie trois couches.
$ tablize doctor
{
"summary": { "ok": 9, "warn": 0, "fail": 0 },
"message": "all three layers healthy against
https://api.tablize.com (9 ok, 0 warn) —
this verdict covers that server only",
"next": "tablize context # rehydrate against
https://api.tablize.com: open tasks, recipes,
rules. Checking a different server?
tablize doctor --url <other>"
}
Installé == exécuté ? skill == CLI ? capacités serveur en ligne ? Chaque contrôle en échec revient avec la commande fix exacte, pour que l'agent puisse réparer sans vous solliciter.
02 / Pourquoi maintenant
Des colonnes qui n'existaient pas.
Un LLM sait lire ce que seuls des humains savaient lire, et répondre par une colonne qui n'existait pas : fabricant ou négociant, clause standard ou clause à risque. De nouvelles dimensions, à l'échelle.
Mais une dimension ne rapporte qu'une fois posée dans le pipeline — une vraie colonne que l'on peut joindre, filtrer, et sur laquelle on peut construire, pas une réponse qui s'évapore avec la conversation. Et produire des colonnes à l'échelle, c'est de la production : il faut des lots qui reprennent, un contrôle d'acceptation, et un registre de qui a produit quoi, selon quelle règle.
C'est cela, Tablize — là où les nouvelles dimensions atterrissent, et le compte qui permet de construire dessus en confiance.
La table fournisseurs gagne une colonne category — écrite par votre agent, jugée au contrôle.
La même exécution, dans l'application, enregistrée avec le contrôle actif (enforce) — c'est ce qui rend un refus visible. Sans retouche, à 100 % de zoom, recadrée seulement là où chaque en-tête le précise.
A / La ligne
Le résultat accepté reste attaché à sa source.
Tout le segment sur un seul plan : 115 lignes brutes, 53 repliées par url, 62 lignes nettoyées, l'extraction, et le contrôle.
L'étiquette sur l'arête qui sort du contrôle est celle du produit, pas une légende que nous aurions écrite : 62 acceptées · 62 écritures bloquées. Enregistré mais non promu, dessiné à même la ligne.
app.tablize.com · plan de travail28/07/2026 · zoom 100 %
115 → −53 → 62 → 62 acceptées, et sur l'arête du contrôle : 62 acceptées · 62 écritures bloquées. Le produit a lui aussi deux thèmes — cette capture suit celui que vous avez choisi plus haut.
B / Registre des lots
Chaque tentative garde son identité.
Une seule ligne porte tout le compte d'un lot : son identifiant, combien de lignes il a prises, le score des contrôles masqués, le modèle qui l'a produit, et combien de fois il a été soumis.
La barre d'état en dessous place rejected 62 à côté d'accepted 62. Ici le refus est un état de première classe, pas un journal d'erreurs à vider.
table des tentatives · lots et étatsthème clair · recadré, sans les lignes
62 lignes · 4/4 · claude-sonnet-4.5 · 2 soumissions — le lot accepté, avec le refus antérieur toujours compté dans le même registre.
Les captures proviennent d'une instance locale, le 28/07/2026. Le mécanisme, les identifiants, les comptes, les verdicts et les colonnes système sont l'état du produit lui-même ; les lignes fournisseurs sont des données d'exemple générées pour cette exécution. La capture du registre des lots n'existe que dans le thème clair du produit et s'affiche telle quelle dans les deux thèmes du site — nous préférons étiqueter une capture plutôt que la retoucher. Aucun logo client sur cette page : il n'y a rien à montrer pour l'instant.
04 / Est-ce pour moi ?
La plupart des tâches de données n'ont besoin de rien de tout ça.
Un agent, un après-midi, une erreur peu coûteuse — un CSV est la bonne réponse et ceci n'est que du surcoût. Cochez ce qui est réellement vrai chez vous.
Conditions vraies
0sur 10
□
05 / Limite honnête
Ce qu'une ligne posée signifie, et ne signifie pas.
La section la plus porteuse de cette page. Un compte qui exagère sa propre portée est pire que pas de compte du tout, parce qu'on cesse alors de vérifier la partie qu'il n'a jamais couverte.
Le compte couvre le milieu. Les deux bouts restent à vous.
Dans le segment
Tablize garantit
■
Une ligne marquée acceptée a passé les règles et les lignes de contrôle telles qu'elles existaient à cet instant, et la version est enregistrée. Une ligne marquée non vérifiée n'a jamais été jugée — l'étiquette vous dit laquelle vous avez.
Hors du segment
Tablize ne garantit pas
×
Que quelqu'un ait utilisé le résultat accepté. Chez notre tout premier client de bout en bout, 128 lignes sur 136 n'ont jamais été reprises par quoi que ce soit en aval — cinq cycles, sans que personne le remarque, alors que le registre est resté exact tout du long.
06 / Tarifs — une seule base, le palier est un échelon
Commencez gratuitement. Payez quand la ligne produit.
Le même moteur à tous les paliers — vous ne montez d'une marche que lorsque la ligne le fait. Le registre est le compteur, et il compte les colonnes livrées, pas les efforts dépensés : les reprises et les lots refusés ne comptent jamais.