ArchitectureLe garde de documentation

Le garde de documentation

Deplace depuis la racine CLAUDE.md / AGENTS.md par platform-ops/3048.

Deplace depuis la racine CLAUDE.md / AGENTS.md par platform-ops/3048.

Les chiffres des docs sont derives, pas tenus a la main

Meme principe que le schema guard, applique a la documentation. scripts/check-doc-claims.mjs (pnpm docs:claims) derive du repo les affirmations verifiables de plusieurs fichiers et echoue si l'une ne correspond plus :

FichierCe qui y est derive
CLAUDE.md / AGENTS.md (racine)piliers de ownership.json, nombre et ordre des etapes du hook pre-push
docs/architecture/routes.mdcrons de vercel.json (total et familles), handlers d'API et de webhooks, outils du serveur MCP, pages /features et leurs slugs, Systems du tableau de bord, redirections /intelligence
docs/business-model/plans.md, content/docs/en/plans-and-limits.mdx (et sa version francaise)prix, credits, bonus quotidien
docs/team/roster.mdtotal de crons
docs/business-model/affiliate.md, messages/en.jsonduree et pourcentage de parrainage

La racine n'en porte presque plus depuis platform-ops/3048 : un chiffre qui n'est plus ecrit dans le fichier charge a chaque session n'a plus besoin d'y etre garde. Le tableau des prix et le nombre de lignes de .env.example en sont sortis avec leurs claims ; les prix restent gardes dans les deux documents de plans ci-dessus.

pnpm docs:claims:fix reecrit les chiffres. Verifie en CI (job Typecheck) et par le hook pre-push.

Depuis growth-web/0624 le garde couvre aussi la doc publique elle-meme : src/lib/content/docs-surface.ts (handlers d'API, endpoints webhook, Systems) et quatre MDX de content/docs/en/ (les memes chiffres en prose). C'etait le trou le plus couteux de la liste : la page /community/docs publiait « 362 REST endpoints » contre 386 sur disque, et une tuile « 12 » outils MCP trois paragraphes au-dessus de sa propre prose disant 13. Neuf familles de claims derivaient des nombres pour CLAUDE.md, le roster et les plans, et aucune ne gardait la surface dont le seul role est d'etre la reference qu'un inconnu croit. Un chiffre faux dans CLAUDE.md trompe un agent ; ici il trompe un client qui decide d'integrer.

Deux cibles par nombre, volontairement : la constante qui alimente les tuiles du hub, et la prose du MDX qui porte le meme chiffre. Un lecteur qui voit 386 sur le hub et 362 dans la reference ne croit ni l'un ni l'autre. Les outils et scopes MCP, eux, ne sont pas gardes mais importes de MCP_SCOPES : ce qui peut etre importe doit l'etre, un litteral n'est une dette acceptable que sous garde.

Une ancre introuvable est un ECHEC, jamais un succes silencieux : si cette page est restructuree, le guard doit le dire au lieu d'arreter de verifier sans prevenir. Ajouter une affirmation = une entree dans CLAIMS.