Skip to content

R0 — Filets de sécurité : goldens, corpus de replay, table SDK → CLI/MCP #84

Closed

Description

@hoklims

Capacité livrée

Aucune capacité nouvelle ; ADR 0002–0004 publiées, table SDK → CLI/MCP

Rust TS conservé Packaging Dépendances
Aucun Tout npm assertledger inchangé Aucune nouvelle

Preuves de livraison

La release ne compte comme livrée que si ces preuves sont vertes sur le paquet publié, depuis une installation neuve.

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.

Activity

  1. added this to the R0 milestone on Oct 26, 2026
  2. self-assigned this
    on Oct 26, 2026
  3. added
    area:tsTypeScript implementation
    area:contractsVersioned schemas, conformance and wire contracts
    on Oct 26, 2026
  4. hoklims commented on Oct 27, 2026

    @hoklims
    OwnerAuthor

    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é).

    Tranche Témoins Exemples de mutants
    Goldens CLI/MCP (#121) 5 octets stdout, code de sortie, messages MCP, golden manquant, suffixe de chemin
    Corpus de replay (#124) 4 un octet de document, reçu rescellé, régression du replay v3, version retirée
    Candidats v3 toBe (#125) 4 matcher réécrit, mondes, divergence de verdict, réécriture retirée
    Surfaces publiques (#126) 4 import source non listé, entrée d'allowlist périmée, faute dans dist/cli.js, faute dans dist/mcp
    JSON canonique (#128) 5 ordre des clés en octets UTF-8, -0 conservé, surrogate isolé remplacé, non-fini accepté, piège retiré
    Scanner et closure (#129) 10 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.

    🤖 Generated with Claude Code

  5. hoklims commented on Oct 27, 2026

    @hoklims
    OwnerAuthor

    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é.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:contractsVersioned schemas, conformance and wire contractsarea:tsTypeScript implementation

Projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions