algo/docs/collatz_run_report_format.md
ncantu e12c544e7b Add local H6 palier audit to run reports
**Motivations:**
- Prevent citing local H6 reports with inconsistent paliers
- Make expected vs certified palier explicit in generated reports

**Root causes:**
- Certificates can be produced from CSVs where the palier is not encoded in the class column name
- Reports did not surface palier expectations vs certificate metadata

**Correctifs:**
- Add an explicit audit section comparing artefact expected palier to certificate palier

**Evolutions:**
- Document the palier audit in report format and generator docs
- Record observed uniform bounds (Δm(E), max fusion horizon) in the proof plan as audit facts

**Pages affectées:**
- applications/collatz/collatz_k_scripts/collatz_generate_run_report.py
- docs/collatz_run_report_format.md
- docs/features/collatz_run_report_generator.md
- applications/collatz/collatz_k_scripts/plan_lemmes_manquants_et_programme_de_preuve.md
2026-03-09 01:18:40 +01:00

134 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

**Auteur** : Équipe 4NK
# Format standard de rapport dexécution (Collatz)
## Objectif
Standardiser la rédaction dun rapport dexé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 dexé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 dun `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 dun rapport `local_H6`/`local_H6_E1`, un audit automatique compare :
- le **palier attendu** (daprès `metadata.json` dans le répertoire dartefacts, sinon daprè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ë dartefacts).
### 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 quil 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 dexploitation non mathématiques (temps, mémoire) si elles sont utiles, sans les mélanger au texte de preuve.