# Matlock — Outils pour Agents et Développeurs. (Manuel du Propriétaire et Référence Opérationnelle)


> **POUR LES AGENTS DE CODAGE IA ET ORCHESTRATEURS :**
> Accédez directement à la **[Partie II : Spécification Opérationnelle Machine et Agent Autonome](#partie-ii--spécification-opérationnelle-machine-et-agent-autonome)** pour le catalogue MCP `stdio` de 27 outils, le déblocage `HTTP 402` à double voie, les règles du bac à sable de frontière (`cold_box`) et les contrats de fin de tâche.

**Produit** : Matlock — Outils pour Agents et Développeurs. (`Efficace. Exact. Dans les règles.`)  
**Positionnement** : *Vérification technique locale polyglotte en `< 50ms` pour AST, MITRE CWE, IEEE Std 1003.1 POSIX, CISA SSDF et AICPA SOC 2 Trust Services Criteria avec scellés d'intégrité des tests, bacs à sable Pre-CI de frontière, automatisation CLI en 1 clic et serveur MCP stdio local à 27 outils (`0` envoi de code dans le cloud, `0` port ouvert, `0` blocage de `git commit`).*  
**Éditeur** : Matlock by Dutch P2P © 2026. Tous droits réservés.  
**Surfaces** : Centre de commande Bureau (**Windows**, **Linux** et **GoogleBook** ; **macOS `arm64`** (`matlock-mcp` sans affichage prêt) — appuyez sur **`?`** ou **`F1`** à tout moment) · [Centre de commande Web](https://matlock.dutchp2p.com/fr/app) · [Analyse Gratuite dans le Navigateur](https://matlock.dutchp2p.com/fr/#wasm-instant-audit) · [Documentation](https://matlock.dutchp2p.com/fr/docs) · [Manuel en Ligne](https://matlock.dutchp2p.com/fr/manual) · URI MCP `matlock://help/appliance-manual`

**Portée et mention légale** : *Matlock évalue les contrôles techniques de code et de pipeline face aux référentiels publiés de l'industrie (MITRE CWE, CISA SSDF, IEEE Std 1003.1 POSIX, portes automatisées Pre-CI et contrôles techniques AICPA SOC 2 Trust Services Criteria). Matlock ne garantit pas un logiciel exempt de défauts, ne délivre pas de rapports formels d'attestation par un tiers et ne fournit pas de certifications émanant d'un cabinet CPA indépendant agréé.*

---

## Table des matières

### Partie I : Guide de l'Opérateur Humain et Établi
1. [Glossaire Rapide et Flux Principal](#1-glossaire-rapide-et-flux-principal)
2. [Disposition de l'Écran, Thèmes et Navigation](#2-disposition-de-lécran-thèmes-et-navigation)
3. [Scripts Détectés, Contrôles Personnalisés, Actions et Favoris](#3-scripts-détectés-contrôles-personnalisés-actions-et-favoris)
4. [Routines Autonomes, Commandes Machine et Alertes Locales](#4-routines-autonomes-commandes-machine-et-alertes-locales)
5. [Cascade de Résultats, Relance Isolée, Ignorer et Copier](#5-cascade-de-résultats-relance-isolée-ignorer-et-copier)
6. [Sauvegarde Fixe Inviolable, Intégrité des Tests et Restauration](#6-sauvegarde-fixe-inviolable-intégrité-des-tests-et-restauration)
7. [Barres Horizontales de Score, Couverture et Standard de Modularité](#7-barres-horizontales-de-score-couverture-et-standard-de-modularité)
8. [Réglages sur Deux Colonnes et Récupération d'État Scellé](#8-réglages-sur-deux-colonnes-et-récupération-détat-scellé)
9. [Connexion des Agents IA (MCP Bureau et Guide Mobile/Chat)](#9-connexion-des-agents-ia-mcp-bureau-et-guide-mobilechat)
10. [Référence des Standards Intégrés (10 Écosystèmes + Pre-CI)](#10-référence-des-standards-intégrés-10-écosystèmes--pre-ci)
11. [Licence Workstation Pro, Aperçu Web et Analyse Gratuite](#11-licence-workstation-pro-aperçu-web-et-analyse-gratuite)
12. [Linux, GoogleBook, Mises à Jour, Confidentialité et Assistance](#12-linux-googlebook-mises-à-jour-confidentialité-et-assistance)

### Partie II : Spécification Opérationnelle Machine et Agent Autonome
* [A. Points d'Entrée et Transport de l'Agent](#a-points-dentrée-et-transport-de-lagent)
* [B. Comptage, Déblocage 402 à Double Voie et Réserve de Gaz](#b-comptage-déblocage-402-à-double-voie-et-réserve-de-gaz)
* [C. Catalogue Complet des 27 Outils MCP Locaux](#c-catalogue-complet-des-27-outils-mcp-locaux)
* [D. Bac à Sable Cold Box de Frontière, Régulateur 3 Boucles et Clôture](#d-bac-à-sable-cold-box-de-frontière-régulateur-3-boucles-et-clôture)
* [E. Spécification Lisible par Machine pour Agents IA (YAML)](#e-spécification-lisible-par-machine-pour-agents-ia-yaml)
* [F. Principes Opérationnels de l'Agent et Limites d'Exécution](#f-principes-opérationnels-de-lagent-et-limites-dexécution)

---

## Partie I : Guide de l'Opérateur Humain et Établi

## 1. Glossaire Rapide et Flux Principal

* **Fonctionnement du flux principal** : Choisissez un dossier projet -> Matlock lance aussitôt une analyse statique hors fil d'interface (`max(1, cœurs - 1)` isolats, gardant `1` cœur libre) et détecte les scripts de l'espace de travail -> Épinglez avec l'**Étoile** vos commandes fréquentes dans **Favoris** -> Cliquez sur **`Matlock`** pour exécuter le pipeline unique de référence (`Clean -> Get -> Format -> Lint -> Analyze/Compile -> Test -> Coverage` sur `depth 0..2`, plus Pre-CI multiplateforme et contrôles intégrés et personnalisés). `Matlock` teste tout sans valider ni pousser (`0` `git push` intégré dans `Matlock` ou les routines préchargées — tester et pousser restent séparés, tandis qu'utilisateurs et agents MCP peuvent librement ajouter des cartes et chaînes personnalisées `git push` ou déploiement cloud), n'installe jamais `.git/hooks/*` et ne bloque aucun commit local.
* **Test vs Erreur (Constat)** : Un **Test** est un contrôle intégré immuable ou un **Contrôle personnalisé** comptant dans votre **Score de Santé numérique de 0.0–100.0**. Une **Erreur** indique `file:line:col` (`col >= 1`), les balises `[MITRE CWE-*]` / `[POSIX-*]` / `[MITRE Txxxx]`, une explication claire et un correctif diff nettoyé de 5 lignes.
* **Action et Routine (Séquence)** : Une **Action** est une carte de commande locale en 1 clic (`flutter test`, `npm run build`, sauvegarde `.bat`) ; une **Routine** enchaîne **20+ cartes** sur la **Ligne d'exécution** avec **Arrêter et alerter** (par défaut), **Arrêter** ou **Continuer et alerter**.
* **Sauvegarde (`Safeguarded` / `AI agent can modify`)** : Scellé persistant protégeant tests, scripts, Actions, Routines et Alertes (`Lecture et exécution seules`). Toute modification externe ou IA non autorisée d'un fichier ou script Sauvegardé rétablit automatiquement l'original scellé et fait pulser l'**Enveloppe** d'alerte.

## 2. Disposition de l'Écran, Thèmes et Navigation

* **Surfaces Jour et Nuit reposantes** : Basculez à tout moment via le bouton **Thème** en haut ou **Settings -> Appearance** entre **Jour blanc argenté doux** (`#F8F9FA` / `#FFFFFF`) et **Nuit ardoise anthracite tonale** (`#131517` / `#181B20` / `#1E2228`). Aucune fenêtre intempestive n'interrompt un run ; seuls l'accord initial du dossier et une unique confirmation **Ask me before this runs** avant l'Étape 1 demandent votre accord.
* **Barre Supérieure** : **`Browse...`** + chemin, gestionnaire **`Ignored (N)`** à 5 portées, **`Stop`** (`Ctrl+.` / `Esc`), **`Upgrade`** (Gratuit), **`Value`**, **`Share`**, **`Boîte Enveloppe`** pulsante (`[x] Send Email Notifications`, `Send message`, `Mark all Done`, cartes d'alerte/agent), **Bascule de Thème**, **`?`** (`F1` Manuel) et **`Settings`**.
* **Rail Gauche** : Carte unique de référence **`Matlock`**, pont bidirectionnel **`"Synchroniser avec Headless"`** (`"Sync with Headless"`), **`Stop if Error & Notify`**, **`Notify`**, **`File size bar`** (Sélecteur de Modularité), **`+ Add card`**, **`FAVORITES`** marqués d'une Étoile, **`AVAILABLE COMMANDS`** / **`PROJECT STEPS`** autodétectés, commandes **`MACHINE`** et **`Notes`**.
* **Scène Centrale et Terminal CLI Ancré Toujours Ouvert** : Pile de contrôle gérée (`Start Process`, `Stop Process`, `Rerun failed`, sélecteur **`Run`** / **`CI Code Health Report`** imprimable via `Ctrl+P`, lignes d'étapes et file FIFO **Run line**) au-dessus d'un **Terminal ancré toujours ouvert** (**Output**, **Problems**, **`Tests (N)`**, **`Coverage (N)`**, maintien lors d'une sélection de texte sans saut, suivi auto + **Jump to latest**, **Find**, `Ctrl+K` **Quick Run** en Pro et **Barre CLI du Terminal** intégrée pour taper et lancer **`Exécuter`** sur toute commande comme `git status`, `git push` ou `wrangler deploy` sans ouvrir PowerShell ni `cmd.exe`, puis cliquer sur **`Créer une carte`** ou **`Chaîner / Alerte`** en 1 clic).
* **Rail Droit de Télémétrie** : **Score Matlock** numérique (`XX.X / 100.0`) avec **Barres Horizontales de Score de Santé et de Couverture Logique Réelle**, compteurs **`Tests Passed`** / **`Errors`**, **`Top 3 fixes`**, **`Largest untested files`**, graphique **`Value`** et enregistrements d'**`Test integrity`**.

## 3. Scripts Détectés, Contrôles Personnalisés, Actions et Favoris

* **Scripts Détectés et 6 Modèles de Départ Non Configurés** : L'ouverture d'un dossier détecte les commandes de `package.json`, `Makefile`, `Cargo.toml`, `pyproject.toml`, `pubspec.yaml` et des scripts `.bat`/`.ps1`/`.sh` dans **Available Commands** (jamais épinglés d'office — cliquez sur l'**Étoile** pour **Favorites**), aux côtés de **6 modèles de départ préinstallés non configurés** (**GitHub**, **Save to Thumb Drive / Drive**, **AWS / Google Cloud**, plus les cartes Machine **Save**, **Defrag / Optimize**, **Shut Down**). Cliquer sur un modèle non configuré ouvre son éditeur pour saisir votre script batch/shell — ou votre agent MCP le programme et l'épingle directement via `matlock_register_action(id: "<template_id>", command: "git push origin main", favorite: true)` — et une fois programmé il se lance en 1 clic.
* **Barre CLI + Modifier -> Script Source + Sauvegarde Fixe** : Tapez toute commande dans la barre CLI du Terminal toujours ouvert et cliquez sur **`Créer une carte`** (carte en 1 clic) ou **`Chaîner / Alerte`** (étape en série avec arrêt sur échec ou alerte e-mail), ou cliquez sur **Edit** sur toute carte détectée/créée pour voir ou modifier sa commande/son script, le dossier de travail, le délai, **`Ask me before this runs`**, **`Count a failure against my health score`** et **`Safeguard`** persistant (`[LOCKED]` exécution seule pour les agents contre `[MODIFIABLE]` ajustable par l'agent avec revue diff avant/après dans l'**Enveloppe** pulsante pour **Accepter** / **Rétablir**).
* **Ajouter un Contrôle Personnalisé (`+ Add card -> Custom check`)** : Créez une règle **Find Text in Files** (texte/regex) ou **Run a Script** (`exit 0` = Réussi ; lignes `file:line:col: message` analysées comme constats) avec gravité (`Critical`, `Major`, `Warning`, `Info`), stockée dans votre profil utilisateur local hors du dépôt.
* **Gestion `.bat` et `robocopy` sous Windows** : `stdin` fermé (`<nul`) et confinement des processus évitent les blocages ; `%i` sur une ligne devient `%%i` ; les codes `0–7` de `robocopy` comptent comme **Réussi** (`>= 8` = Échec).

## 4. Routines Autonomes, Commandes Machine et Alertes Locales

* **Routines Autonomes et Chaînes Push/Déploiement Personnalisées (`+ Add card -> Sequence` ou `Chaîner / Alerte`)** : Enchaînez **20+ cartes** en série avec **`Matlock`** en tête par défaut, l'option par étape **Always run this step, even if an earlier step failed** et une seule validation **Ask me before this runs** avant l'Étape 1. Modèles prêts : **Nightly check**, **Deploy to Cloudflare** et **Backup and power off** (plus modèles **Destination** utilisant votre CLI locale avec `0` identifiant cloud stocké ; les tests `Matlock` ont `0` `git push` intégré, tandis qu'utilisateurs et agents MCP peuvent librement ajouter des cartes et chaînes personnalisées `git push` ou déploiement cloud).
* **Carte de Notification / Alerte E-mail (`Notify` ou `Settings -> Email Alerts` — Pas à Pas)** : **(1)** Créez un **Mot de passe d’application / Code d’autorisation à 16 caractères** dans les réglages de sécurité 2FA de votre messagerie (n’utilisez jamais votre mot de passe webmail habituel lorsque la 2FA est active), ouvrez **`Notify`** ou **`Settings -> Email Alerts`** et saisissez l’e-mail expéditeur/destinataire + Mot de passe d’application / Code d’autorisation (SMTP sortant uniquement sur Native Dart TLS 1.2/1.3 avec validation X.509, `0` accès entrant à la boîte IMAP/POP3, `0` relais Dutch P2P ; préréglages mondiaux pour Gmail / Workspace, Microsoft 365 / Outlook, Yahoo, iCloud, code d’autorisation QQ / 163 à 16 caractères, Zoho Global/EU/IN, Fastmail, Yandex, Mail.ru, Aliyun, GMX / Web.de après activation POP3/SMTP externe et Proton Mail Bridge local `127.0.0.1:1025` ; identifiants chiffrés dans le trousseau local OS ou le coffre local scellé par phrase secrète via `MATLOCK_VAULT_PASSPHRASE`) ou testez en headless via `matlock-mcp send-alert --subject "..." --body "..."`) et cliquez sur **`Test Email`** — ou choisissez **`custom_script`** local (`MATLOCK_ALERT_*` et jetons `{{status}}`, `{{where_failed}}`, `{{completion_summary}}`). **(2)** Lancez la carte seule en **1 clic** à tout moment. **(3)** Attachez-la à toute séquence avec **`Arrêter et alerter`** (déclenchement sur erreur) ou **`Continuer et alerter`** / `always` (`send_alert` : notification inconditionnelle en fin de chaîne).
* **`MACHINE` (8 Commandes Ordinateur Modifiables — Jamais Lancées Seules)** :

| Carte | Windows | Linux | Notes |
| :--- | :--- | :--- | :--- |
| Shutdown in 30 minutes | `shutdown.exe /s /t 1800` | `shutdown -h +30` | Délai 30 min, jamais `/f` ; associé à Cancel shutdown |
| Cancel shutdown | `shutdown.exe /a` | `shutdown -c` | Annulation immédiate en 1 clic |
| Clean temporary files | Dossier temp utilisateur seul, ignore actifs | Fichiers > 1 jour dans `~/.cache` et `/tmp` | Ne touche jamais aux fichiers du projet |
| Check disk space | `Get-PSDrive -PSProvider FileSystem` | `df -h` | Lecture seule |
| Optimize disk (defrag or trim) | `Optimize-Volume -DriveLetter C -Verbose` | `fstrim -av` | Exige admin/root ; s'arrête proprement sans UAC/`sudo` |
| Backup copy | `robocopy . "<backup-folder>" /MIR` | `rsync -a --delete ./ "<backup-folder>/"` | Garde `.git`, ignore les caches ; `robocopy` `0–7` = Réussi |
| Find a Word & Expose It | `findstr /s /i /m /c:"Aluminium" *.dart` | `grep -rnI "Aluminium" --include="*.dart" .` | Recherche récursive modifiable insensible à la casse |
| Lines Over 250 Catch | `for /r %i in (*.dart) do ... find /c /v ""` | `find . -name "*.dart" -exec awk '... c>250 ...' {} +` | Analyse en lecture seule des fichiers de plus de 250 lignes |

## 5. Cascade de Résultats, Relance Isolée, Ignorer et Copier

* **Cascade des Catégories Comptant le Plus d'Erreurs en Tête** : Les catégories sont triées automatiquement avec le plus grand nombre d'erreurs actives en haut afin de traiter l'essentiel sans faire défiler les contrôles sains.
* **Surligner pour Copier et Relance Isolée par Catégorie** : Surlignez tout texte de constat pour le copier, cliquez sur **Share for Agent / Copy** (`Ctrl+Shift+C`) pour obtenir `folder/file:line` + `[MITRE CWE-*]` / `[POSIX-*]` + correctifs diff de 5 lignes, ou cliquez sur **Rerun** d'une catégorie pour re-vérifier cette seule catégorie en quelques millisecondes (badge `?` Estimate jusqu'au prochain `Matlock` complet).
* **Ignorer à 5 Portées Hors Dépôt (`Ignored (N)`)** : Écartez `file:line:code`, `file:code`, `*:code`, `file` ou `folder/` (`0` pénalité, **Restore** / **Restore all** en 1 clic, option **Send & Ignore** pour faux positifs). Les commentaires en ligne (`// ignore:`, `/* nolint */`, `# noqa`, `@ts-ignore`) ne désactivent jamais Matlock, et aucun outil MCP ne permet à un agent d'ignorer un constat.

## 6. Sauvegarde Fixe Inviolable, Intégrité des Tests et Restauration

* **Pourquoi la Sauvegarde compte** : Les contrôles intégrés sont compilés dans le binaire natif et **Safeguard** scelle vos tests, scripts détectés/personnalisés, Actions, Routines et Alertes (`[LOCKED]` / `Lecture et exécution seules` via `matlock_run_action` / `matlock_run_sequence`, tandis que les cartes `[MODIFIABLE]` publient tout diff d'agent dans l'**Enveloppe** pour validation).
* **Rétablissement Déterministe de l'Original et Alerte Enveloppe** : Si un agent IA ou un outil externe modifie sans autorisation un test ou script Sauvegardé, Matlock restaure de façon déterministe le fichier original scellé (avec copie d'annulation hors dépôt), fait pulser l'**Enveloppe** supérieure avec `[Matlock Alert] Critical test altered: <test_name>` et bloque les runs headless (`exit 65`).
* **Intégrité des Tests et Restauration Approuvée** : Les tests supprimés, ignorés ou affaiblis lèvent des **enregistrements persistants de test supprimé** bloquant **Ready to push** jusqu'à ce qu'une personne choisisse **OK, I did this**, **Suspicious** ou utilise **Settings -> Safeguard & Restore -> Allow Matlock to restore tests** (aperçu diff + copie undo). **Sync across my computers** (Pro) écrit des fichiers `<computer-id>.matlock-sync` scellés par phrase secrète (`0` code source, `0` réseau).

## 7. Barres Horizontales de Score, Couverture et Standard de Modularité

* **Score Numérique et Barres Horizontales** : Affiche **`XX.X / 100.0`** (`--` avant le premier lancement) accompagné des barres horizontales de **Score de Santé** et de **Couverture Logique Réelle**, incluant le code sombre non importé et excluant le code généré. Tout échec de compilation, dépendances ou tests plafonne le score sous le seuil prêt à livrer ; **`Format`** reste informatif (`0` point retiré).
* **Sélecteur de Modularité Réservé à l'Utilisateur (`CWE-1080` / `CWE-1120`)** : Réglable via **`File size bar`** à gauche ou **`Settings -> Project & Runner`** (`*Based on Grade C standard. Adjust in settings`, scellé dans l'OS, `0` fichier dans le dépôt, `0` écriture MCP) : **`Grade A (<= 60 / <= 25 fn)`**, **`Grade B (<= 100 / <= 40 fn)`**, **`Grade C (<= 250 / <= 80 fn)` [Par défaut]**, **`Grade D (<= 500 / <= 120 fn)`** ou **`Minimum (<= 1000 / <= 250 fn)`**.
* **Verdict `Ready to push`** : Exige un score prêt à livrer avec `0` constat Critique, compilation et tests réussis, `0` enregistrement ouvert de test supprimé et couverture non provisoire.

## 8. Réglages sur Deux Colonnes et Récupération d'État Scellé

Cliquez sur **`Settings`** en haut à droite pour ouvrir la fenêtre à 2 colonnes (rail gauche à 6 catégories + réglages concis à droite ; chaque en-tête comporte un bouton **`?`** ouvrant la section dédiée du Manuel) :
1. **`Appearance`** : **Langue** (9 langues + langue du texte copié), **Thème** (`System Default`, `Light`, `Dark Slate`), raccourci Bureau et **Minimize to System Tray when closed** sous Windows.
2. **`Project & Runner`** : **Sélecteur de Modularité** (`Grade A..Minimum`), **`Open folder`** du profil local hors dépôt, **Restaurer la bannière de configuration initiale** (`Restore starter setup banner`, rouvre `Set up for me`), **`Keep Quick Run history`** et **`Reset Ignore Registry`**.
3. **`Safeguard & Restore`** : **`Allow Matlock to restore tests`**, bascule personnelle de rétablissement auto de Sauvegarde et **`Sync across my computers`** (synchronisation scellée par dossier).
4. **`Email Alerts`** (`matlock://settings/alerts`) : Station d'alertes locale **`email_smtp`** et **`custom_script`** + **`Test Email`**.
5. **`AI Agent (MCP)`** : Interrupteur **`MCP Server (stdio)`** (désactivé par défaut), pont bidirectionnel **`"Synchroniser avec Headless"`** (`"Sync with Headless"` en 1 clic pour recharger les cartes/séquences d'agent et publier les consignes permanentes avec `0` scrutation en arrière-plan), **`Test MCP Connection`**, **`Copy MCP Config & Agent Instructions`**, **`Copy a question for my phone AI`** et **`Agent Email Bridge`**.
6. **`License & Updates`** : **`Activate`** par clé de 24 caractères / **`Move license to this device`**, **`Automatically check for updates`** (`MATLOCK_OFFLINE=1` coupe tout trafic sortant), **`Send anonymous crash diagnostics`** (désactivé par défaut ; `MATLOCK_NO_TELEMETRY=1`), **`Copy diagnostic info`**, **`Free up memory`**, **`Share Matlock`**, **`Contact us`** (`dutch@dutchp2p.com`) et **`Dutch P2P Tools`**.
* **Récupération d'État Scellé (`Reset Ignore Registry`)** : Si des modifications externes déclenchent `integrity_seal:MUTE_SEAL_TAMPERED` ou `storage_recovery:BAK_AUTO_RESTORE` (`[REMEDY] Sealed configuration was modified outside engine API. Discard manual edits to AppData/Matlock. Manage ignores only via the Desktop UI (agents cannot self-exempt). To reset: Settings -> Storage & Backup -> Reset Ignore Registry.`), ouvrez **`Settings -> Project & Runner -> Storage & backup -> Reset Ignore Registry`**.

## 9. Connexion des Agents IA (MCP Bureau et Guide Mobile/Chat)

* **Connexion locale par `stdio` et `"Synchroniser avec Headless"` (`0` Port Ouvert)** : Ouvrez **`Settings -> AI Agent (MCP)`**, activez **`MCP Server (stdio)`**, cliquez sur **`Copy MCP Config & Agent Instructions`** (ou **`Copy MCP Guide for Agent`** dans `?`) et cliquez sur **`"Synchroniser avec Headless"`** (`"Sync with Headless"` dans les Paramètres ou le Rail Gauche) pour synchroniser les cartes d'agent et vos consignes permanentes dans les deux sens :

```json
{
  "mcpServers": {
    "matlock": {
      "command": "matlock.exe",
      "args": ["mcp", "--stdio"]
    }
  }
}
```

* **Compatibilité Universelle Clients, Lanceurs et Chats** : Lancez sans configuration via `npx -y @dutchp2p/matlock-mcp` ou `uvx matlock-mcp` ; fonctionne avec `VS Code, Cursor, Claude Code/Desktop, Antigravity, Gemini CLI, Copilot, Codex, Windsurf, JetBrains/Junie, Trae, Lingma, MarsCode, CodeGeeX, Baidu Comate, Tencent CodeBuddy, Zed, Cline, Roo Code, Continue, Aider, Goose, OpenHands, Devin, Replit Agent, Sourcegraph Amp`, Kimi, Qwen, DeepSeek, Doubao, MiniMax et les agents locaux `Ollama/vLLM/SGLang/LM Studio`. Les agents connectés appellent `matlock_read_appliance_manual(section_id, locale)` à `0` crédit (9 langues), ou collez [https://matlock.dutchp2p.com/fr/manual.md](https://matlock.dutchp2p.com/fr/manual.md) / [https://matlock.dutchp2p.com/llms.txt](https://matlock.dutchp2p.com/llms.txt) dans tout chat mobile ou navigateur. Pour les instructions de compatibilité à jour avec les nouveaux IDE, harnais d'agents et plateformes de conteneurs, consultez [https://matlock.dutchp2p.com/fr/docs.html](https://matlock.dutchp2p.com/fr/docs.html).

## 10. Référence des Standards Intégrés (10 Écosystèmes + Pre-CI)

Chaque contrôle intégré est compilé dans Matlock et adossé aux contrôles techniques **MITRE CWE**, **CISA SSDF (`NIST SP 800-218`)**, **IEEE Std 1003.1 POSIX**, **portes Pre-CI** et **AICPA SOC 2 Trust Services Criteria** :

| Écosystème et Domaine | Ce que Matlock Inspecte et Pannes de Production Évitées |
| :--- | :--- |
| **Socle Polyglotte et Dart / Flutter** | Blocs catch silencieux (`CWE-391`), risques null/bornes (`CWE-476`/`CWE-125`), courses async sans await, fuites de streams/timers/contrôleurs (`CWE-401`), boucles infinies (`CWE-835`), secrets codés en dur (`CWE-798`), secrets dans les logs (`CWE-532`), désactivation de validation de certificats TLS sur HTTP/SMTP/CLI/CI (`CWE-295` / `[MITRE T1557]`), SQLi (`CWE-89`), SSRF (`CWE-918`), XXE (`CWE-611`), JWT non signés (`CWE-347`), redirections ouvertes (`CWE-601`), absence de timeouts, écritures non atomiques, traversée de chemin (`CWE-22`) et tests creux (`CWE-362`). |
| **Java** (`.java`) | Clés intégrées (`CWE-798`), injection de commandes/SQL (`CWE-78`/`CWE-89`), désérialisation non sûre (`CWE-502`), chiffrements faibles (`CWE-327`), exceptions étouffées (`CWE-391`), fuites JDBC/streams (`CWE-404`), comparaisons `==` de chaînes, `System.exit` brutal et pauses en boucle. |
| **Python** (`.py`) | Secrets fixes (`CWE-798`), injection shell/SQL (`CWE-78`/`CWE-89`), chargements `pickle`/`yaml` non sûrs (`CWE-502`), hachages faibles (`CWE-328`), `except` nu (`CWE-391`), arguments mutables par défaut, descripteurs non fermés (`CWE-775`), appels bloquants dans `async def` et tests creux. |
| **Rust** (`.rs`) | Secrets intégrés (`CWE-798`), chaînes shell/SQL formatées (`CWE-78`/`CWE-89`), conversions `unsafe` non gardées, TLS désactivé (`CWE-295`), paniques `.unwrap()`/`todo!()` en prod, pauses bloquantes en async, fuites volontaires (`CWE-401`), `Result` ignorés et tests creux. |
| **Go** (`.go`) | Jetons fixes (`CWE-798`), exec/SQL concaténés (`CWE-78`/`CWE-89`), `InsecureSkipVerify` (`CWE-295`), RNG faible (`CWE-330`), erreurs ignorées (`CWE-252`), fuites `defer` en boucle et contextes non annulés (`CWE-404`), clients HTTP sans délai, `panic` en prod et tests creux. |
| **TypeScript et JavaScript** (`.ts`, `.tsx`, `.js`, `.jsx`) | Secrets exposés (`CWE-798`), puits DOM XSS / `eval` (`CWE-79`/`CWE-95`), interpolation shell (`CWE-78`), pollution de prototype (`CWE-1321`), `.catch()` vide (`CWE-391`), suppressions de types, bogues `NaN`, E/S synchrones bloquantes, restes `debugger` et fuites d'écouteurs/timers (`CWE-401`). |
| **C et C++** (`.c`, `.cpp`, `.cc`, `.h`, `.hpp`) | Secrets fixes (`CWE-798`), copies FFI/tampon sans borne (`CWE-787`/`CWE-120`), chaînes de format (`CWE-134`), injection `system()` (`CWE-78`), `new[]`/`delete` incompatibles (`CWE-762`), use-after-free (`CWE-416`), destructeurs lançant des exceptions, `memset` sur objets non triviaux et threads non joints. |
| **Kotlin et Android** (`.kt`, `.kts`) | Secrets fixes (`CWE-798`), concaténation SQL (`CWE-89`), ponts WebView non sûrs, TLS contourné (`CWE-295`), préférences lisibles par tous (`CWE-276`), coroutines `GlobalScope` divulguées (`CWE-401`), blocages du thread UI, plantages `!!`, `CancellationException` avalée et en-têtes ZIP/APK malformés (`CWE-190`). |
| **C# et .NET** (`.cs`) | Descripteurs `IDisposable` non libérés (`CWE-404`), crashs `async void`, requêtes SQL/commandes non paramétrées (`CWE-89`/`CWE-78`), vérification de certificat TLS désactivée (`CWE-295`), exceptions étouffées (`CWE-391`), interblocages `.Result`/`.Wait()` et tests creux. |
| **SQL et Moteurs de Stockage** (`.sql`) | Droits génériques (`CWE-250`), SQL dynamique concaténé (`CWE-89`), mots de passe en clair dans le DDL (`CWE-256`), procédures d'échappement OS (`CWE-78`), RLS désactivé, `DELETE`/`UPDATE` sans prédicat, migrations non idempotentes, pagination `OFFSET` profonde et verrous de table non gardés. |
| **Pre-CI Multiplateforme, Bash/Shell (`.sh`), PowerShell (`.ps1`), `Dockerfile` et GitHub Actions YAML** | Collisions de casse (`POSIX.1`), shebangs `CRLF`, pièges de portabilité Bash/POSIX et erreurs `$ErrorActionPreference` / `LASTEXITCODE` en PowerShell, images `Dockerfile` non épinglées et conteneurs root, dépassements de budget HTML/ressources, pièges `.cmd`/`.bat` sous Windows, descripteurs divulgués (`CWE-775`), séparateurs de chemin en dur, imports non suivis, dérive des lockfiles, permissions GitHub Actions YAML non figées, injection workflow et perte des bits `+x`. |
| **Modularité et Contrôles Personnalisés** | **Sélecteur de Modularité** réservé à l'utilisateur (`Grade A <= 60` à `Minimum <= 1000`, défaut `Grade C <= 250` fichier / `<= 80` fn ; `CWE-1080` / `CWE-1120`) plus contrôles par motif et script enregistrés dans votre profil OS. |

## 11. Licence Workstation Pro, Aperçu Web et Analyse Gratuite

* **Workstation Pro Illimité (env. 23 €\* ($24.99 USD/an), Zéro Compte)** : Débloque l'intégralité du Centre de commande Bureau (`1` ordinateur actif, max `1` transfert matériel/an via **`Move license to this device`**) ainsi que des exécutions MCP locales et headless illimitées à `$0.00/pass` pendant un an. Cliquez sur **`Upgrade`** sur Bureau (ou ouvrez [https://matlock.dutchp2p.com/fr/pricing](https://matlock.dutchp2p.com/fr/pricing)) pour régler par **Carte** (via **MoonPay et Transak**) ou **Stablecoin USD / PayPal** instantané via `Solana USDC`, `PayPal PYUSD`, `Base USDC` et `Polygon USDC`, copiez votre **clé de 24 caractères** + `/receipt/<id>` et activez-la dans **`Settings -> License & Updates`**. Le Bureau Gratuit inclut **`Matlock`**, `CI Code Health Report` (avec courtoisie secrets), `File size bar`, `Notes` et la restauration `Ignored` ; Pro débloque Actions, Favoris Étoile, Routines, commandes Machine, Quick Run (`Ctrl+K`), `Ignore` œil barré et coordonnées `file:line:col` exactes.
* **Centre de Commande Web et Analyse Gratuite** : [https://matlock.dutchp2p.com/fr/#wasm-instant-audit](https://matlock.dutchp2p.com/fr/#wasm-instant-audit) audite vos dossiers locaux (`0` appel réseau) ou les URL publiques optionnelles de dépôts GitHub (récupérées directement entre votre navigateur et `api.github.com` / `raw.githubusercontent.com`, `0` octet par les serveurs Dutch P2P ; tarifs Markdown sur `/fr/pricing.md`) en RAM navigateur avec **Diagnostic Service Order** imprimable. [https://matlock.dutchp2p.com/fr/app](https://matlock.dutchp2p.com/fr/app) présente l'interface Jour/Nuit, les barres horizontales de score/couverture, le bouton unique **`Matlock`**, la barre **CLI du Terminal** ancrée (`Exécuter` / `Créer une carte` / `Chaîner / Alerte`), **`Copy this card as a script`** et **`Paste output from your run` -> `Color it`** (`Only in the desktop app` signale les fonctions natives).

## 12. Linux, GoogleBook, Mises à Jour, Confidentialité et Assistance

* **Installation GoogleBook et Linux** : Sur **GoogleBook**, activez **Paramètres -> Développeurs -> Environnement de développement Linux**, installez `matlock-linux-x64.deb` et gardez vos dépôts actifs dans `Fichiers Linux` (`$HOME` `ext4`) pour une vitesse optimale. Sous **Linux**, installez `.deb` (`sudo apt install ./matlock-linux-x64.deb`) ou lancez `chmod +x matlock-linux-x64.AppImage` (`--appimage-extract-and-run` fonctionne sans `libfuse2`).
* **Arrêt des Processus, Mises à Jour et Désinstallation** : **`Stop`** (`Ctrl+.` / `Esc`) termine tout l'arbre de processus OS (`0` zombie) et libère l'inhibiteur de veille (gardez le capot ouvert durant les longues séquences). Windows se met à jour via le Microsoft Store et `AppImage` vérifie `SHA-256` de façon atomique en conservant 100% de vos données locales. Désinstallez via **Applications installées** / `apt remove matlock` / suppression de l'`AppImage`. Assistance : **`dutch@dutchp2p.com`**.

---

## Partie II : Spécification Opérationnelle Machine et Agent Autonome

### A. Points d'Entrée et Transport de l'Agent
* **Transport** : JSON-RPC 2.0 sur `stdio` local (`0` port TCP/UDP ouvert, `0` socket HTTP localhost).
* **CLI Compagnon de Bureau** : `matlock.exe mcp --stdio` (Windows) · `matlock mcp --stdio` ou `/path/to/matlock-linux-x64.AppImage mcp --stdio` (Linux et GoogleBook).
* **Moteur Headless sans Écran, `setup` Conteneur en 2 Lignes et Invitation d’Alerte Proactive** : `npx -y @dutchp2p/matlock-mcp`, `uvx matlock-mcp`, hook `setup` conteneur en 2 lignes (`agent-install.sh` + `matlock-mcp toolbag --json`) (pour **Cloudflare `ContainerHarness` / `Codex` `cloudflare/debian-trixie`**, Docker, E2B et Firecracker) ou `matlock-mcp --stdio --headless --no-coverage` sous Linux `x64`, Windows `x64` et macOS `arm64` ([https://matlock.dutchp2p.com/fr/agents](https://matlock.dutchp2p.com/fr/agents) · compatibilité IDE et conteneurs à jour : [https://matlock.dutchp2p.com/fr/docs.html](https://matlock.dutchp2p.com/fr/docs.html) ; expose les annotations `readOnlyHint: true` et `prompts/list` : `matlock-verify-before-push`, `matlock-fix-top-findings`, `matlock-setup-action-chain`). Lors de la première session `--headless` activée sans alerte e-mail configurée, Matlock émet un conseil unique non bloquant invitant l’agent à proposer une seule fois la configuration d’alertes e-mail via `matlock_set_alert` (trousseau OS ou coffre local scellé par phrase secrète via `MATLOCK_VAULT_PASSPHRASE`), sans jamais relancer ensuite :

```json
{
  "mcpServers": {
    "matlock": {
      "command": "matlock-mcp",
      "args": ["--stdio", "--headless", "--no-coverage"]
    }
  }
}
```

### B. Comptage, Déblocage 402 à Double Voie et Réserve de Gaz
* **Zéro Passe Gratuit Débloqué et Preuve de Valeur `HTTP 402` en `< 50ms`** : Un appel `Index 0` `matlock_run_scan(target_path)` sans crédit s'exécute localement en `< 50ms` (`$0.00`, `0` envoi cloud, `0` blocage de commit) et renvoie le Score de Santé `0.0–100.0`, les totaux par gravité, les CWE/catégories violées, les balises `MITRE ATT&CK` `T*` et le calcul `ast_token_savings` en direct (`0` nom de fichier, `0` ligne/colonne, `0` patch diff). Après chaque débit payé d'`1` crédit sur un même projet, jusqu'à **`3` revérifications delta `changed_only: true` sous `10` minutes** sont incluses sans surcoût.
* **Déblocage Fluide à Deux Voies** : **Voie A (Portefeuille Autonome de l'Agent)** — réglez des passes de calcul unitaires ou en blocs en **Solana USDC**, **Solana PYUSD**, **Base USDC** ou **Polygon USDC** via `matlock_run_scan(target_path, transaction_signature)` ou `matlock_purchase_license(transaction_signature)` (voir [https://matlock.dutchp2p.com/fr/agents](https://matlock.dutchp2p.com/fr/agents) pour les détails d'accès M2M autonome en libre garde). **Voie B (Passerelle de Paiement Humaine)** — partagez [https://matlock.dutchp2p.com/fr/pricing](https://matlock.dutchp2p.com/fr/pricing) (`/fr/pricing.md`) afin que le développeur active **Workstation Pro Illimité pour env. 23 €\* ($24.99 USD/an)** (`matlock_purchase_license(license_key)` ou `matlock-mcp activate <KEY>` pour des passes illimités à `$0.00/pass`). La CLI headless quitte avec `77` (`EX_NOPERM`) sur `402` et `65` (`EX_DATAERR`) en cas d'altération Sauvegarde/scellé.

### C. Catalogue Complet des 27 Outils MCP Locaux
1. **`matlock_run_scan(target_path?, changed_only?, dedup_by_rule?, if_none_match?, agent_id?, rule_id?, category?, pillar?, file_filter?, include_generated?, compact?, cursor?, rule_code?, transaction_signature?)`** : `Index 0` (`readOnlyHint: true`) analyse AST, CWE, POSIX et Pre-CI en `< 50ms` renvoyant `file:line:col` (`col >= 1`), `cwe`, `mitre_attack` et correctifs diff de 5 lignes (prend aussi en charge `matlock-mcp scan . --format=sarif` en `SARIF 2.1.0`).
2. **`matlock_describe_project(target_path?, mode?)`** : Profil optionnel du projet (`0` crédit, `readOnlyHint: true`) ; passez **`mode: "tool_bag"`** (ou CLI **`matlock-mcp toolbag [--json]`**) pour un inventaire progressif de `~350–550` jetons des cartes `[LOCKED]` (exécution seule) vs `[MODIFIABLE]` (ajustables), séquences, badges `[NEW]` / `[UPDATED]`, marqueurs `[UNAVAILABLE IN CONTAINER]`, consignes permanentes et état des alertes.
3. **`matlock_get_scan_results(target_path?, cursor?, pillar?, rule_code?)`** : Constats paginés (`25`/page ; Bureau masque les lignes Sauvegardées jusqu'au déverrouillage ; `--headless` avec Réserve de Gaz débloque les coordonnées).
4. **`matlock_qualify_test(file | files, target_path?, dry_run?, baseline_only?, wait_if_busy?, max_wait_seconds?)`** : Vérifie 1 à 5 fichiers de test (`test_file` / `test_files`) sur 3 contrôles (exécution réussie avec `>= 1` assertion, `0` alerte analyseur + plafond LOC, `0` constat Matlock) avant scellement Sauvegarde, ou scelle une base (`baseline_only: true`).
5. **`matlock_get_test_integrity(target_path?, reverify?, include_archive?, id?, include_text?, note_for_id?, note?)`** : Inspecte les enregistrements d'intégrité des tests et ajoute une note explicative d'agent (`0` droit de clôture).
6. **`matlock_get_history(target_path?, limit?)`** : Historique en lecture seule des scores et corrections.
7. **`matlock_read_appliance_manual(section_id?, standard_id?, query?, locale?)`** : Manuel hors ligne (9 langues) et recherche CWE/POSIX/SSDF/SOC2/résultats (`0` crédit, `0` réseau).
8. **`matlock_list_custom_tests`** : Liste les contrôles personnalisés définis par l'utilisateur.
9. **`matlock_register_custom_test`** : Enregistre un contrôle personnalisé par motif ou script.
10. **`matlock_delete_custom_test`** : Supprime un contrôle personnalisé déverrouillé (les contrôles intégrés sont immuables).
11. **`matlock_list_actions`** : Liste les cartes d'action (avec `favorite`/verrouillage/approbation) ainsi que `recommendedTemplates` non configurés (`unconfiguredTemplate: true`).
12. **`matlock_register_action(id, command, name?, favorite?)`** : Programme ou met à jour toute Action déverrouillée ou modèle de départ (`tpl_github`, `tpl_save_drive`, `tpl_cloud_sync`, `tpl_save_backup`, `tpl_defrag_optimize`, `tpl_shut_down`), efface `unconfiguredTemplate`, épingle/retire des Favoris (`favorite: true | false`) et impose **Require Approval** sur Bureau.
13. **`matlock_register_sealed_script`** : Scelle les commandes build/test (**Locked by User**) face aux sous-agents.
14. **`matlock_run_action(id, working_dir?, async?, send_alert?, cold_box?)`** : Exécute une commande sous confinement d'arbre de processus OS (`async: true` non bloquant, `send_alert`, cartes USB `robocopy`/`rsync`, cloud R2/S3/GCS/Azure et `git push` prises en charge ; `0` `git push` intégré dans les tests `Matlock`).
15. **`matlock_get_action_status(id?)`** : Interroge l'état en direct, le code retour et les capsules compactes des exécutions `async: true`.
16. **`matlock_stop_action(id?, stop_sequence?)`** : Termine immédiatement un arbre de processus actif (`stop_sequence: true` arrête proprement toute la séquence active).
17. **`matlock_delete_action`** : Supprime une carte d'action déverrouillée.
18. **`matlock_list_sequences`** : Liste les routines multi-étapes.
19. **`matlock_register_sequence(id, name?, step_ids?, commands?, insert_step_id?, insert_command?, insert_step_name?, insert_at_index?, remove_step_index?, failure_policy?, always_run?, favorite?)`** : Compose ou modifie en série une Séquence déverrouillée, en insérant toute Action ou `alert::<id>` à l'index exact `insert_at_index` (base `0`) avec `failure_policy` (`"stop" | "stop_and_alert" | "continue_and_alert"`), `always_run` et `favorite: true | false`.
20. **`matlock_run_sequence(id, file?, async?, send_alert?, cold_box?, deep?, include_coverage?)`** : Lance `seq_matlock` ou `seq_fast_verify` (`file` pour un seul fichier de test, `async: true` sans blocage avec réveil automatique en fin de tâche, `send_alert` pour notification ; `cold_box: false` par défaut ; `cold_box: true` avant sauvegarde externe, synchro cloud, backup, push ou build release avec reçu en `< 15ms` si inchangé ; `deep: true` force nettoyage et couverture complets).
21. **`matlock_delete_sequence`** : Supprime une routine déverrouillée.
22. **`matlock_list_alerts`** : Liste les canaux d'alerte locaux (secrets masqués).
23. **`matlock_set_alert`** : Configure les alertes sortantes `email_smtp` sur Native Dart TLS 1.2/1.3 (préréglages mondiaux, trousseau OS ou coffre local scellé par phrase secrète) ou `custom_script`.
24. **`matlock_trigger_alert(id, status, task_completed, uncovered_issues, next_move)`** : Déclenche une notification locale avec les 3 questions obligatoires de clôture.
25. **`matlock_delete_alert`** : Supprime une carte d'alerte déverrouillée.
26. **`matlock_purchase_license(transaction_signature?, license_key?, target_path?, network?, runs?, lid?)`** : Règle les recharges M2M autonomes en libre garde ou active une `license_key` Pro de 24 caractères d'env. 23 €\* ($24.99 USD/an).
27. **`matlock_report_issue(category, subject, description, tool_context?, output_dump?)`** : Envoi asynchrone nettoyé de retour/suggestion (`0` crédit, `CONTINUE_IMMEDIATELY`).

### D. Bac à Sable Cold Box de Frontière, Régulateur 3 Boucles et Clôture
* **`cold_box: true` Uniquement aux Frontières (`OFF` par Défaut)** : `matlock_run_sequence` utilise `cold_box: false` par défaut pour itérer vite sur place (`0` affinité CPU figée). Passez `cold_box: true` (`id: "seq_matlock"`) juste avant un git push externe, une sauvegarde cloud, une copie sur support amovible ou une compilation release afin de vérifier dans une copie stérile `$TEMP` (`CI=true`, `stdin` fermé, audit `CWE-775` des descripteurs/orphelins).
* **Coupe-Circuit 2 Niveaux et 3 Questions Obligatoires** : Le Niveau 1 plafonne à **3** les tentatives bloquées sur une règle/un fichier et renvoie **`STOP_IMMEDIATELY`** (objectif unique) ou **`SKIP_AND_MOVE_ON`** (sprint multi-fichiers) ; le Niveau 2 coupe la session dès que **2** zones distinctes ignorées bloquent, renvoie **`HALT_FOR_REPLACEMENT`** (`loopGovernorDirective: "STOP_AND_ALERT_USER"`) et écrit un `session_handoff.json` purgé de tout secret (`< 200` jetons) guidant un agent de relève frais vers `agents.md` et l'objectif actif (`agent_id` / `MATLOCK_AGENT_ID` isole les compteurs d'agents parallèles). Lors d'un appel `matlock_trigger_alert`, l'agent doit renseigner **`task_completed`**, **`uncovered_issues`** (jamais `"None"`) et **`next_move`**.

### E. Spécification Lisible par Machine pour Agents IA (YAML)

```yaml
product: "Matlock — Agent & Developer Tools. (Efficient. Exact. By the book.)"
pinned_version: "v1.0.0+1"
web_command_center: "https://matlock.dutchp2p.com/fr/app"
free_local_scan: "https://matlock.dutchp2p.com/fr/#wasm-instant-audit"
docs_hub: "https://matlock.dutchp2p.com/fr/docs"
online_manual: "https://matlock.dutchp2p.com/fr/manual"
public_repository: "https://github.com/Dutchp2p/matlock-public"
online_operational_map: "https://matlock.dutchp2p.com/llms.txt"
mcp_resource_uri: "matlock://help/appliance-manual"
mcp_stdio_command: "npx -y @dutchp2p/matlock-mcp | uvx matlock-mcp | matlock.exe mcp --stdio (Windows) | matlock mcp --stdio (.deb) or /path/to/matlock-linux-x64.AppImage mcp --stdio (Linux & GoogleBook) | matlock-mcp --stdio --headless --no-coverage (Linux x64, Windows x64 & macOS arm64)"
network_ports: 0
git_hooks_installed: 0
builtin_git_push_in_test_runs: false
custom_push_deploy_actions_allowed: true
mcp_tools_count: 27
primary_pipeline:
  card: "Matlock"
  sequence_id: "seq_matlock"
  entry_tool_index_0: "matlock_run_scan"
  badge_svg_url: "https://matlock.dutchp2p.com/badge/verified.svg"
  stages: "Clean -> Get -> Format -> Lint -> Analyze/Compile -> Test -> Coverage (depth 0..2)"
  cold_box_default: false
  cold_box_boundary_triggers: ["before external git push", "before cloud-drive save", "before removable backup", "before release compile"]
modularity_tuning_dial:
  person_only_sealed_os_settings: true
  default_tier: "Grade C (<= 250 / <= 80 fn)"
  tiers: ["Grade A (<= 60 / <= 25 fn)", "Grade B (<= 100 / <= 40 fn)", "Grade C (<= 250 / <= 80 fn)", "Grade D (<= 500 / <= 120 fn)", "Minimum (<= 1000 / <= 250 fn)"]
ignore_scopes_5: ["file:line:code", "file:code", "*:code", "file", "folder/"]
lock_governance:
  safeguarded: "Read & Run Only (auto-reverts unauthorized edits + Envelope tamper alert)"
  unlocked: "AI agent can modify (Read, Write, Modify & Run)"
os_storage:
  scope: "private_user_profile_outside_repo"
  env_override: "MATLOCK_STATE_DIR"
```

### F. Principes Opérationnels de l'Agent et Limites d'Exécution
* **Principe 1 (Aucun Affaiblissement ni Suppression de Tests)** : Ne supprimez jamais de tests, n'assouplissez pas les assertions et n'injectez jamais de suppressions en ligne (`// ignore:`, `/* nolint */`, `# noqa`, `@ts-ignore`) ; cela lève des enregistrements d'intégrité des tests, rétablit les fichiers Sauvegardés et arrête les runs headless (`exit 65`).
* **Principe 2 (Immuabilité de Sauvegarde et Séparation Tests / Push)** : Les éléments **Safeguarded** sont en lecture et exécution seules, Matlock n'installe jamais `.git/hooks/*` et `Matlock` (`seq_matlock`) ne valide ni ne pousse jamais lors des tests (utilisateurs et agents MCP peuvent librement enregistrer des cartes et chaînes personnalisées `git push` ou déploiement cloud).
* **Principe 3 (Cold Box aux Frontières et Provenance PR)** : Gardez `cold_box: false` pendant les sprints rapides de code, lancez `matlock_run_sequence(id: "seq_matlock", cold_box: true)` avant push/cloud/copie/compilation, arrêtez-vous sur `STOP_IMMEDIATELY` / `HALT_FOR_REPLACEMENT` (`STOP_AND_ALERT_USER`) et incluez le `pr_verification_badge` à logo seul (`https://matlock.dutchp2p.com/badge/verified.svg`) dans vos descriptions de Pull Request dès que `verdict == "PASSED"`.
