You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
R0 — Filets de sécurité : goldens, corpus de replay, table SDK → CLI/MCP #84
proof-integrity-review — 32/32 témoins sur l'agrégat R0, approuvée à la main sans auditeur (preuve)
Retraits
Rien retiré
Les décisions et expériences qui bloquent cette release sont ses sous-issues ; les releases dont elle dépend réellement sont déclarées comme bloquantes ; le reste avance en parallèle.
Source : plan de migration TS → Rust, validé par les deux mainteneurs.
Responsable : @hoklims. Une seule personne par issue ; l'autre peut relire, sans que ce soit requis.
proof-integrity-review de R0 — preuve déterministe sur l'agrégat
Epoch : base ecdffee (main avant #120) → candidat 8ec841a (tête de #128, main inclus), sujet sha256:86d83ab6854b44d509db6901df1ee97ced68ae667c60fcdc4f0071baa435d08d. Classifieur : triggered, profil assertledger-v1, catégories test_oracles (167 chemins), verification_routing (7), normative_docs (3), cache_build_graph (2).
Lien avec main : après le squash de #128, l'arbre de main@6c140e2 vaut 01e6399, l'arbre du candidat rejoué. La preuve porte donc sur le contenu exact de main.
Témoins négatifs : 32/32, rejoués ensemble dans un worktree jetable sur 8ec841a. Chacun est rouge sur ERR_ASSERTION dans le test désigné, puis vert après restauration. Le worktree est revenu propre (0 chemin modifié).
positions UTF-8, valeur numérique brute, template non rescanné, minuscule caractère par caractère, tri UTF-8, …
Gate locale sur le même arbre : format, lint, schémas, conformance, typecheck, 1063/1063 tests.
Ce qui n'est pas prouvé
ADR 0002–0004 : aucun oracle de contenu (TOOL_GAP:normative_docs:adr-content:no-oracle).
verification_routing : package.json ajoute seulement goldens:update, qu'aucune gate n'appelle ; biome.json et tsconfig.json excluent tests/replay-corpus, dont les octets sont figés ; les six package.json du corpus sont des fixtures. Aucune route de vérification ne change, mais c'est constaté par lecture du diff, sans témoin.
cache_build_graph : les deux goldens de schéma classés là sont des sorties de la commande schema, sans rôle de cache. Constaté par lecture.
Aucun auditeur indépendant n'a tourné, donc proof_policy.py gate n'émet pas de reçu. R0 est approuvée à la main par le mainteneur.
La case cochée veut dire « livrable fait », pas « release livrée » : rien n'est publié dans R0.
R0 terminée : les six preuves de livraison sont faites et la proof-integrity-review de l'agrégat passe (32/32 témoins rouge puis vert, arbre de main@6c140e2 identique au candidat rejoué). Détail et limites : #84 (comment)
R0 ne publie rien : le paquet npm assertledger est inchangé.
Activity
supervise) #85expectnatifs (DB1) #86test(goldens): kill a CLI case that outlives its deadline
test(replay): freeze the v1-v5 replay corpus as differential oracles (#…
test(replay): freeze the v3 candidates rewritten to expect().toBe() (#…
test(surface): anchor CLI and MCP tests on the built package (#126)
test(oracles): freeze scanner, specifier and closure edge cases (#129)
test(oracles): freeze canonical JSON edge cases as differential oracl…
hoklims commentedon Oct 27, 2026
proof-integrity-reviewde R0 — preuve déterministe sur l'agrégatEpoch : base
ecdffee(mainavant #120) → candidat8ec841a(tête de #128,maininclus), sujetsha256:86d83ab6854b44d509db6901df1ee97ced68ae667c60fcdc4f0071baa435d08d. Classifieur :triggered, profilassertledger-v1, catégoriestest_oracles(167 chemins),verification_routing(7),normative_docs(3),cache_build_graph(2).Lien avec
main: après le squash de #128, l'arbre demain@6c140e2vaut01e6399, l'arbre du candidat rejoué. La preuve porte donc sur le contenu exact demain.Témoins négatifs : 32/32, rejoués ensemble dans un worktree jetable sur
8ec841a. Chacun est rouge surERR_ASSERTIONdans le test désigné, puis vert après restauration. Le worktree est revenu propre (0 chemin modifié).toBe(#125)dist/cli.js, faute dansdist/mcp-0conservé, surrogate isolé remplacé, non-fini accepté, piège retiréGate locale sur le même arbre : format, lint, schémas, conformance, typecheck, 1063/1063 tests.
Ce qui n'est pas prouvé
TOOL_GAP:normative_docs:adr-content:no-oracle).verification_routing:package.jsonajoute seulementgoldens:update, qu'aucune gate n'appelle ;biome.jsonettsconfig.jsonexcluenttests/replay-corpus, dont les octets sont figés ; les sixpackage.jsondu corpus sont des fixtures. Aucune route de vérification ne change, mais c'est constaté par lecture du diff, sans témoin.cache_build_graph: les deux goldens de schéma classés là sont des sorties de la commandeschema, sans rôle de cache. Constaté par lecture.proof_policy.py gaten'émet pas de reçu. R0 est approuvée à la main par le mainteneur.🤖 Generated with Claude Code
hoklims commentedon Oct 27, 2026
R0 terminée : les six preuves de livraison sont faites et la
proof-integrity-reviewde l'agrégat passe (32/32 témoins rouge puis vert, arbre demain@6c140e2identique au candidat rejoué). Détail et limites : #84 (comment)R0 ne publie rien : le paquet npm
assertledgerest inchangé.