algo/docs/collatz_run_report_format.md
ncantu bd529682bf collatz: add palier2p15/p16 artefacts and Sm refinement tooling
**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
2026-03-09 23:29:59 +01:00

208 lines
7.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).
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 lextraction/vérification de clauses universelles candidates (Option A : Lift(\(B_{12}\))), à partir de lartefact 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 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.