**Auteur** : Équipe 4NK # Format standard de rapport d’exécution (Collatz) ## Objectif Standardiser la rédaction d’un rapport d’exécution séparé du texte de preuve, afin que : - le texte de preuve ne contienne pas de transcript terminal ; - chaque résultat computationnel soit citable avec une assertion explicite et des artefacts vérifiables ; - la reproduction soit déterministe (commande, paramètres, empreintes). ## Emplacement stable Le rapport d’exécution doit être ajouté dans `docs/` (par exemple `docs/collatz_run_report__.md`) et référencé depuis les documents mathématiques par un chemin stable. ## Gabarit (à copier-coller) ## Génération automatisée Le script `applications/collatz/collatz_k_scripts/collatz_generate_run_report.py` génère un rapport à partir des logs et des artefacts d’un `OUT` existant (sha256 + compteurs extraits des logs) : ```bash python3 applications/collatz/collatz_k_scripts/collatz_generate_run_report.py \ --profile extend_finale \ --out-dir applications/collatz/out \ --docs-dir docs ``` Pour la validation “section 7” (N*, certificat complet, coverage) : ```bash python3 applications/collatz/collatz_k_scripts/collatz_generate_run_report.py \ --profile validation_section7 \ --scope validation_section7 \ --out-dir applications/collatz/out \ --docs-dir docs ``` Pour le pipeline D16/D17 après fusion : ```bash python3 applications/collatz/collatz_k_scripts/collatz_generate_run_report.py \ --profile pipeline_d16_d17 \ --scope pipeline_d16_d17 \ --out-dir applications/collatz/out \ --docs-dir docs ``` Pour les fusions au palier \(2^{25}\) (t=11,12,14) : ```bash python3 applications/collatz/collatz_k_scripts/collatz_generate_run_report.py \ --profile fusion_palier2p25 \ --scope fusion_palier2p25 \ --out-dir applications/collatz/out \ --docs-dir docs ``` Pour la complétude locale H6(E1) au palier \(2^{13}\) (rapport basé sur des artefacts versionnés dans `docs/artefacts/`) : ```bash python3 applications/collatz/collatz_k_scripts/collatz_generate_run_report.py \ --profile local_H6_E1 \ --scope local_H6_E1 \ --out-dir applications/collatz/out \ --docs-dir docs ``` Pour une complétude locale H6 généralisée (artefacts versionnés, répertoire paramétrable) : ```bash python3 applications/collatz/collatz_k_scripts/collatz_generate_run_report.py \ --profile local_H6 \ --scope local_H6_E42 \ --local-h6-artefacts-dir docs/artefacts/collatz/local_E42_palier2p13 \ --out-dir applications/collatz/out \ --docs-dir docs ``` Audit palier (local_H6). Lors de la génération d’un rapport `local_H6`/`local_H6_E1`, un audit automatique compare : - le **palier attendu** (d’après `metadata.json` dans le répertoire d’artefacts, sinon d’après le nom `palier2p`), - au **palier certifié** (champ `palier` des `certificat_*.json`). En cas de désaccord, la génération échoue (afin d’éviter une citation ambiguë d’artefacts). Pour la vérification C2 (complétion par frères ⇒ both ⇒ projection \(B_{12}\), artefacts déterministes versionnés) : ```bash python3 applications/collatz/collatz_k_scripts/collatz_verify_c2_projective.py \ --repo-root /home/ncantu/code/algo \ --output-dir docs/artefacts/collatz/c2_projective python3 applications/collatz/collatz_k_scripts/collatz_generate_run_report.py \ --profile c2_projective \ --scope c2_projective \ --c2-artefacts-dir docs/artefacts/collatz/c2_projective \ --out-dir applications/collatz/out \ --docs-dir docs ``` Pour la vérification C3 (clôture locale au palier \(2^{13}\) sur Lift(\(B_{12}\)) via témoins D8/Fusion, artefacts déterministes versionnés) : ```bash python3 applications/collatz/collatz_k_scripts/collatz_verify_c3_local_descent.py \ --local-h6-root docs/artefacts/collatz \ --output-dir docs/artefacts/collatz/c3_local_descent python3 applications/collatz/collatz_k_scripts/collatz_generate_run_report.py \ --profile c3_local_descent \ --scope c3_local_descent \ --c3-artefacts-dir docs/artefacts/collatz/c3_local_descent \ --c3-palier 13 \ --out-dir applications/collatz/out \ --docs-dir docs ``` Pour un rapport **distinct par palier** (sans surcharger `--scope`) : ```bash python3 applications/collatz/collatz_k_scripts/collatz_generate_run_report.py \ --profile c3_local_descent_palier \ --c3-artefacts-dir docs/artefacts/collatz/c3_local_descent \ --c3-palier 14 \ --out-dir applications/collatz/out \ --docs-dir docs ``` Pour l’extraction/vérification de clauses universelles candidates (Option A : Lift(\(B_{12}\))), à partir de l’artefact C3 (artefacts déterministes versionnés) : ```bash python3 applications/collatz/collatz_k_scripts/collatz_extract_universal_clauses.py \ --repo-root /home/ncantu/code/algo \ --verification-json docs/artefacts/collatz/c3_local_descent/verification_c3_local_descent.json \ --output-dir docs/artefacts/collatz/universal_clauses python3 applications/collatz/collatz_k_scripts/collatz_verify_universal_clauses.py \ --repo-root /home/ncantu/code/algo \ --verification-json docs/artefacts/collatz/c3_local_descent/verification_c3_local_descent.json \ --clauses-json docs/artefacts/collatz/universal_clauses/clauses_universelles.json \ --output-dir docs/artefacts/collatz/universal_clauses python3 applications/collatz/collatz_k_scripts/collatz_generate_run_report.py \ --profile universal_clauses \ --scope universal_clauses \ --universal-clauses-artefacts-dir docs/artefacts/collatz/universal_clauses \ --out-dir applications/collatz/out \ --docs-dir docs ``` ### Contexte - **But du run** : (énoncé court) - **Assertion ciblée** : (ex. “montrer \(|R_M|=0\) pour \(M=\dots\)” ou “produire `certificat_F16...`”) - **Statut logique** : (ce que le run prouve, et ce qu’il ne prouve pas) ### Code et reproductibilité - **Commit Git** : (hash) - **Commande exacte** : (copier-coller) - **Paramètres** : (liste structurée) - **Environnement** : - OS - Python - dépendances (si pertinent) ### Entrées (artefacts consommés) Liste exhaustive avec chemins et empreintes : - `path/to/input_1` : (sha256) - `path/to/input_2` : (sha256) ### Sorties (artefacts produits) Liste exhaustive avec chemins et empreintes : - `path/to/output_1` : (sha256) - `path/to/output_2` : (sha256) ### Compteurs et métriques - \(|R_m|\), \(|B_m|\), \(q_m\) (si calculés) - tailles fichiers (optionnel) - bornes / maxima observés (ex. `max_r`) ### Vérification - **Script de vérification** : (chemin + commande) - **Résultat** : (succès/échec, et valeur vérifiée, par ex. \(|R_M|=0\) ou \(|R_M|>0\)) ### Notes (optionnel) Informations d’exploitation non mathématiques (temps, mémoire) si elles sont utiles, sans les mélanger au texte de preuve.