{
  "plan": "mostajs-devtest/1",
  "project": {
    "key": "tc200",
    "name": "Thermostat connecté TC-200 (exemple fictif)"
  },
  "specs": [
    {
      "ref": "CRA-01",
      "title": "Livré sans vulnérabilité exploitable connue (annexe I, partie I)",
      "priority": "critical",
      "status": "implemented"
    },
    {
      "ref": "CRA-02",
      "title": "Configuration sûre par défaut : aucun mot de passe par défaut, réinitialisation possible (annexe I, partie I)",
      "priority": "critical",
      "status": "implemented"
    },
    {
      "ref": "CRA-03",
      "title": "Protection contre l'accès non autorisé : authentification du client MQTT par certificat (annexe I, partie I)",
      "priority": "critical",
      "status": "implemented"
    },
    {
      "ref": "CRA-04",
      "title": "Confidentialité des données en transit : TLS 1.2 minimum (annexe I, partie I)",
      "priority": "high",
      "status": "implemented"
    },
    {
      "ref": "CRA-05",
      "title": "Intégrité : micrologiciel signé, démarrage sécurisé (annexe I, partie I)",
      "priority": "critical",
      "status": "implemented"
    },
    {
      "ref": "CRA-06",
      "title": "Correction par mises à jour de sécurité, automatiques par défaut (annexe I, parties I et II)",
      "priority": "critical",
      "status": "implemented"
    },
    {
      "ref": "CRA-07",
      "title": "Nomenclature logicielle (SBOM) lisible par machine (annexe I, partie II, point 1)",
      "priority": "critical",
      "status": "implemented"
    },
    {
      "ref": "CRA-08",
      "title": "Politique de divulgation coordonnée des vulnérabilités publiée (annexe I, partie II)",
      "priority": "high",
      "status": "draft"
    }
  ],
  "realisations": [
    {
      "ref": "REL-01",
      "specRef": "CRA-02",
      "title": "Mot de passe unique par appareil, imprimé sur l'étiquette ; bouton de réinitialisation",
      "kind": "feature",
      "artifact": "firmware/provisioning.c",
      "progress": 100,
      "status": "done"
    },
    {
      "ref": "REL-02",
      "specRef": "CRA-05",
      "title": "Secure boot v2 et signature des images OTA",
      "kind": "feature",
      "artifact": "firmware/ota.c",
      "progress": 100,
      "status": "done"
    }
  ],
  "tests": [
    {
      "ref": "T-CRA-01",
      "specRef": "CRA-01",
      "title": "le SBOM de la version ne contient aucune CVE connue non corrigée",
      "type": "automated",
      "priority": "critical",
      "autoRef": "test/securite.test.mjs::T-CRA-01",
      "steps": []
    },
    {
      "ref": "T-CRA-02",
      "specRef": "CRA-02",
      "title": "aucun identifiant par défaut n'ouvre l'interface d'administration",
      "type": "automated",
      "priority": "critical",
      "autoRef": "test/securite.test.mjs::T-CRA-02",
      "steps": []
    },
    {
      "ref": "T-CRA-03",
      "specRef": "CRA-03",
      "title": "un client MQTT sans certificat est refusé",
      "type": "automated",
      "priority": "critical",
      "autoRef": "test/securite.test.mjs::T-CRA-03",
      "steps": []
    },
    {
      "ref": "T-CRA-04",
      "specRef": "CRA-04",
      "title": "une négociation TLS 1.0 ou 1.1 est refusée",
      "type": "automated",
      "priority": "high",
      "autoRef": "test/securite.test.mjs::T-CRA-04",
      "steps": []
    },
    {
      "ref": "T-CRA-05",
      "specRef": "CRA-05",
      "title": "une image OTA non signée est rejetée au démarrage",
      "type": "automated",
      "priority": "critical",
      "autoRef": "test/securite.test.mjs::T-CRA-05",
      "steps": []
    },
    {
      "ref": "T-CRA-06",
      "specRef": "CRA-06",
      "title": "une mise à jour de sécurité s'installe sans action de l'utilisateur",
      "type": "automated",
      "priority": "critical",
      "autoRef": "test/ota.test.mjs::T-CRA-06",
      "steps": []
    },
    {
      "ref": "T-CRA-07",
      "specRef": "CRA-07",
      "title": "le SBOM CycloneDX est produit à chaque construction et porte la version",
      "type": "automated",
      "priority": "critical",
      "autoRef": "test/sbom.test.mjs::T-CRA-07",
      "steps": []
    }
  ]
}
