**Motivations:** - Publish new Collatz palier runs and associated artefacts (C3 local descent, universal clauses, iteration protocol). - Extend the scripts toolbox to generate/verify clauses and build refinement certificates over S_m. **Root causes:** - Universal clause witnesses were lifted to 2^(A+1) even when the witness is already fixed modulo the domain palier, leading to unstable or unnecessarily weak/ambiguous modulus choices. - CSV palier inference in scission could mis-detect short column names (e.g. "m") by substring matching. **Correctifs:** - Lift D_exact/F witnesses to m_stable := max(m, A+1) in universal clause extraction and run reports. - Make scission palier/m column detection exact-match to avoid false positives. - Update C3 local descent verification/reporting to use strict fusion witness selection prioritizing lower modular stability and refreshed D/F metrics. - Add a dedicated run report profile for per-palier universal clauses. **Evolutions:** - Add scripts for terminal clauses and minorated descent clauses over S_m, their deterministic verification, and multi-level refinement certificate building. - Add modular tooling for register_K and incremental comparison of D_minor families. - Add/update feature documentation for the new pipelines and generated reports. **Pages affectées:** - applications/collatz/collatz_k_scripts/README.md - applications/collatz/collatz_k_scripts/collatz_extract_universal_clauses.py - applications/collatz/collatz_k_scripts/collatz_generate_run_report.py - applications/collatz/collatz_k_scripts/collatz_iterate_palier_protocol.py - applications/collatz/collatz_k_scripts/collatz_scission.py - applications/collatz/collatz_k_scripts/collatz_verify_c3_local_descent.py - applications/collatz/collatz_k_scripts/collatz_verify_universal_clauses.py - applications/collatz/collatz_k_scripts/*refinement*over_Sm*.py - applications/collatz/collatz_k_scripts/collatz_generate_*clauses_over_Sm.py - applications/collatz/collatz_k_scripts/collatz_verify_minorated_descent_clauses_over_Sm.py - applications/collatz/collatz_k_scripts/collatz_build_register_K_modular.py - applications/collatz/collatz_k_scripts/collatz_compare_dminor_families_incremental.py - applications/collatz/*.md - docs/features/*.md - docs/artefacts/collatz/** - docs/collatz_run_report_2026-03-09_*.md
208 lines
7.1 KiB
Markdown
208 lines
7.1 KiB
Markdown
**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_<YYYY-MM-DD>_<scope>.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<m>`),
|
||
- 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
|
||
```
|
||
|
||
Pour un rapport **distinct par palier** (sans surcharger `--scope`) :
|
||
|
||
```bash
|
||
python3 applications/collatz/collatz_k_scripts/collatz_generate_run_report.py \
|
||
--profile universal_clauses_palier \
|
||
--universal-clauses-artefacts-dir docs/artefacts/collatz/universal_clauses/palier2p14 \
|
||
--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.
|
||
|