Glossaire · Ingénierie-Native

    Un logiciel enfin conçu pour les ingénieurs

    Un logiciel ingénierie-native encode le domaine dans le schéma lui-même, entités Requirement typées, rollups BOM calculés, baselines cryptographiques, accès IA MCP-native. Cette page est la référence schéma : des contrastes data-shape concrets qui montrent exactement où un outil projet générique s'arrête et où un outil ingénierie-native commence.

    Le schéma fait la différence

    Les outils projet génériques et les outils ingénierie-native exposent tous les deux un formulaire avec des champs. La divergence se passe un niveau en-dessous, dans la structure de données autour de laquelle l'outil a été conçu. Quatre exemples côte à côte, dans la forme exacte qu'un ingénieur rencontre au quotidien.

    Une exigence est une entité typée, pas un ticket customisé

    Ticket générique (outil projet)
    {
     "key": "SR-128",
     "issuetype": "Story",
     "summary": "La batterie doit tenir ≥ 8h à 25°C",
     "labels": ["safety", "ISO13485"],
     "customfield_10042": "Méthode test : cycle labo",
     "customfield_10043": "Acceptation : ≥ 480 min",
     "customfield_10044": "Source : STK-018"
    }
    Requirement Koddex (typé)
    Requirement {
     id: "SR-128"
     statement: "La batterie doit tenir ≥ 8h à 25°C"
     acceptanceCriteria { threshold: 480 min, condition: 25°C }
     verification: { method: "Cycle labo", standard: ISO13485.7.3.6 }
     source: ref(Stakeholder "STK-018")
     verifiedBy: [ref(Test "TC-501")] // bidirectionnel
     baseline: ref(Baseline "v1.2")
     rationale: "Conformité ISO 13485 §7.3.5"
    }

    La masse de la BOM est calculée, pas maintenue

    BOM tableur (générique)
    // Cellule C42 (masse totale)
    =SOMME.SI.ENS(D2:D40, B2:B40, "actif")
    + RECHERCHEV(... // casse à l'insertion de ligne
    + entrées manuelles depuis mail fournisseur
    Rollup BOM Koddex (calculé)
    Component.mass {
     computed: rollup(
     children: self.children.filter(state="active"),
     aggregator: sum,
     field: "mass"
     )
    }
    // Muter une feuille met à jour réactivement chaque ancêtre.
    // Pas d'étape de re-calcul. La requête EST la valeur.

    Un agent IA agit sur le graphe typé, pas sur du texte

    Agent générique sur wiki + outil de tickets
    // Le mieux que l'agent puisse faire sans schéma :
    search("couverture exigence batterie")
    → 47 pages wiki, 312 tickets
    → Le LLM les relit, hallucine les relations
    → output incertain, pas d'audit trail
    Agent Koddex (MCP-native)
    // Requête typée, réponse déterministe :
    agent.exec({
     intent: "exigences safety non couvertes",
     query: Requirement.where(
     label="safety",
     verifiedBy.size == 0
     ),
     scope: project.id,
     permissions: ["read"]
    })
    → ensemble exact. Loggé. Vérifiable.

    Une baseline est un snapshot content-addressed, pas une copie de dossier

    Baseline dossier (générique)
    \\partage\\baselines\\
     v2.1_FINAL_REVU.zip
     v2.1_FINAL_REVU_(2).zip
     v2.1_FINAL_REVU_janv.zip
    // Pas de preuve d'intégrité.
    // Pas de relation avec les baselines des autres outils.
    // Signatures reviewer = un suffixe "_signed".
    Baseline Koddex (cryptographique)
    Baseline "v2.1" {
     hash: sha3-256:7e2c… // racine Merkle
     contents: [Requirement…, Component…, Test…]
     signedBy: [alice.chen, marc.dubois]
     parent: Baseline "v2.0"
     frozenAt: 2026-05-22T14:32Z
    }
    // Replay déterministe, anti-manipulation, fork-able.

    Ce que « typé » vous achète vraiment

    01

    Le schéma rejette les mauvaises écritures

    Un test ne peut pas exister sans les exigences qu'il vérifie. Une baseline ne peut pas geler si une entité est en Draft. Le graphe applique des invariants comme un compilateur applique des types, silencieusement, à chaque écriture.

    02

    La couverture est une requête, pas un tableur

    Exigences sans lien de vérification. Composants sans fournisseur. Tests pointant vers des exigences supprimées. Tout en une requête, et le schéma rend le résultat fiable.

    03

    Les agents deviennent déterministes

    Un LLM qui doit lire 312 tickets génériques pour deviner le trou de couverture va halluciner. Un agent qui traverse Requirement → verifiedBy → Test → result retourne une réponse exacte et vérifiable.

    04

    Les renommages restent sûrs

    Refactorez Requirement.acceptanceCriteria en sous-champs structurés et toutes les requêtes, vues et exports dépendants se mettent à jour. Dans un monde générique, ce refactor casse 20 dashboards que personne ne réparera.

    05

    L'audit est une propriété, pas un projet

    Auteur, approbateur, rationale, timestamp, checksum sur chaque mutation. Exportable en DHF, lifecycle data, livraison CDE, audit trail, tout depuis le même historique typé.

    06

    L'onboarding enseigne le domaine

    Les nouveaux ingénieurs apprennent le schéma d'ingénierie, pas le savoir tribal des customisations d'outil de tickets. Le schéma EST la doc ; la doc ne peut pas dériver.