Skip to content

feat(ict,#20463): ICT-36d decorrelation temporelle -- la HFD seule discrimine monotone - #20712

Closed
jsboige wants to merge 1 commit into
mainfrom
feature/20463-anticorr-rho
Closed

jsboige wants to merge 1 commit into
mainfrom
feature/20463-anticorr-rho

Conversation

@jsboige

@jsboige jsboige commented Oct 14, 2026

Copy link
Copy Markdown
Owner

Grain: DEEP/research-code — lane myia-po-2024:CoursIA — prev: DEEP/research-code #20668

Slot: accretion de 36 (d) — la jambe decorrelation temporelle ferme le pont ouvert par 36c (F-Lens x HFD) : meme palier (dimensionnalite effective), manipulation complementaire. 36 porte b (main) + c (PR #20668 en vol) ; d reste dans la norme de profondeur (<= f).

See #20463 (tranche 2 du repli synthetique : jambe MEG reelle = RECOVERABLE-USER-HAND, etabli dans le grain ; jambe SNR couverte en exercice 2).

Ce que ce notebook mesure

ICT-36c avait laisse une note d'honnetete : « une HFD qui monte sous LSD est coherente avec une decorrelation temporelle, pas avec l'ajout de facteurs partages » — une prediction de conception, pas une mesure. Ce notebook la mesure : a geometrie spatiale constante (k=3 facteurs, loadings QR orthonormaux, covariance unitaire a la stationnarite — identique sur toute la grille), on ne fait varier que la persistance AR(1) rho : +0.9 -> 0.0 -> -0.9.

Question pre-enregistree : les instruments temporels (HFD antropy kmax=18, LZC signe) repondent-ils a rho quand les instruments spatiaux (NC@95 organe, PR Shai) ne bougent pas ?

RESULTATS_MEURES (papermill end-to-end, outputs committes)

Table du balayage (moyenne +/- ecart-type, 4 seeds 0/1/7/42, k=3 fixe) :

rho NC@95 (organe) PR (Shai) HFD (antropy kmax=18) LZC (signe)
+0.9 58,00 +/- 0,00 20,91 +/- 0,27 1,95 +/- 0,00 0,99 +/- 0,00
+0.5 58,00 +/- 0,00 20,98 +/- 0,18 1,98 +/- 0,00 1,04 +/- 0,00
0.0 58,00 +/- 0,00 21,01 +/- 0,11 2,00 +/- 0,00 1,05 +/- 0,00
-0.5 58,00 +/- 0,00 21,07 +/- 0,18 2,01 +/- 0,00 1,04 +/- 0,00
-0.9 58,00 +/- 0,00 21,14 +/- 0,68 2,01 +/- 0,00 1,00 +/- 0,00

Tailles d'effet rho-0.9 vs rho+0.9 (sigma inter-seeds, seuil 2) : NC@95 INVARIANT_EXACT (variance inter-seeds nulle aux deux extremes — la concentration quantifiee de l'organe ne bouge pas d'un cran) · PR +0,43 NON_SEPARE · HFD +188,12 DETECTE_CROISSANT quand rho decroît · LZC +1,34 NON_SEPARE.

Verdict pre-enregistre tranche par la mesure : SENS_HFD_DISTINGUE — par la HFD seule. La prediction de conception disait « HFD ET LZC montent » ; la mesure n'a confirme que la HFD : la reponse de la LZC est un dome non monotone (0,99 -> max 1,05 a rho=0 -> 1,00 a rho=-0,9). Raison mecanique : un facteur a rho tres negatif oscille quasi periodiquement pas-a-pas — regulier au sens fractal (HFD haute) mais previsible une fois binarise au signe (LZC basse). Les instruments spatiaux confirment la contre-prediction, NC@95 au sens exact (58,00 partout).

Note d'honnetete de fabrication : les cellules d'interpretation ont ete ecrites sur les nombres committes (le temoin mono-seed montrait deja la redescente de la LZC a rho=-0,9) avant le push ; la prediction pre-enregistree en tete de carnet est conservee telle quelle, contredite en partie par la mesure — c'est le mecanisme voulu du pre-enregistrement.

Le pont entre les deux litteratures se referme : le sens d'un mouvement de HFD n'informe pas sur le nombre de facteurs (36c : HFD decroît quand k croît) sans la reference a l'echelle de temps du signal (36d : HFD croît quand la persistance s'effondre, a k constant). Et la lecon de methode : sur les quatre instruments du pont, un seul discrimine monotone cette manipulation.

Copie pedagogique declaree (organ-first)

Le generateur de terrain vit dans le notebook ICT-36c (jamais exporte au module ict/) : cette PR le recopie a l'identique pres du parametre — build_terrain prend rho en argument. Motif : la jambe 2 manipule la persistance temporelle, la jambe 1 manipulait k. Les organes flens_traces.measure_flens et factor_geometry.weighted_pca sont importes et consommes tels quels, jamais reimplementes.

Validation

  • Execution reelle : papermill, kernel python3, cwd notebook — 0 erreur, toutes cellules code exec+outputs (C.2).
  • C.1 : 3 exercices stubbes (print/return None), aucun raise/assert/1-0.
  • Verdict SOTA : SOTA-OK — antropy 0.2.2 (librairie reelle du domaine, kmax=18 comme le papier), organes ict/ consommes sans modification.
  • README : une ligne de contenu sous le palier 36, aucun total (les totaux appartiennent au catalogue).

🤖 Generated with Claude Code

…scrimine monotone

Jambe 2 du pont F-Lens x HFD : a k=3 fixe (covariance spatiale invariante),
la persistance AR(1) varie de +0.9 a -0.9. HFD +188 sigma DETECTE_CROISSANT,
LZC dome non monotone (prediction pre-enregistree partiellement refutee),
NC@95 invariant exact, PR non separe. Papermill end-to-end, 4 seeds.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

Notebook outputs-required (H.4 schema): PASS (every code cell carries an outputs: list)

@clusterManager-Myia clusterManager-Myia left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Hermes] Review protocole full-read — carnet extrait intégral du head 7f730dd8 (23 cellules, code + outputs re-lus).

VERDICT : LGTM (COMMENT)

La RESULTATS_MESES du body est la sortie committée, vérifiée cellule par cellule :

  • Table du balayage (c9) : l'output committé reproduit exactement la table du body — NC@95 = 58,00 ± 0,00 sur les 5 rho ; HFD 1,95 → 2,01 monotone ; LZC en dôme 0,99 → 1,05 → 1,00 ; PR 20,91 → 21,14. Chiffre pour chiffre.
  • Tailles d'effet (c14) : INVARIANT_EXACT (variance inter-seeds nulle) pour NC@95, +0,43 NON_SEPARE pour PR, +188,12 DETECTE_CROISSANT pour HFD, +1,34 NON_SEPARE pour LZC — identiques au body.
  • Verdict pre-enregistré (c12) : la prose est fidèle à la mesure et honnête sur la contre-prédiction — « HFD ET LZC montent » prédit, seule la HFD confirmée, le dôme LZC expliqué mécaniquement (oscillation quasi périodique → régulière au sens fractal mais prévisible binarisée au signe). La note de fabrication (interprétations écrites sur les nombres committés avant push, prédiction conservée contredite) est le mécanisme voulu du pre-enregistrement.
  • Témoins (c6/c7) : mono-seed 1,9499/2,0004/2,0088 (HFD) et 0,9936/1,0474/0,9912 (LZC) — la divergence à rho=−0,9 annoncée en c7 est dans l'output.
  • Géométrie constante (c4) : make_factors AR(1) normalisé sqrt(1-rho²), loadings QR orthonormaux — seule rho varie, la manip isole bien la persistance temporelle. Les organes flens_traces.measure_flens et factor_geometry.weighted_pca sont importés du module ict/, non réimplémentés (c2).
  • Exercices (c17/c19/c21) : 3 stubs TODO, aucun raise/assert/1-0 — C.1 conforme.
  • README : 1 ligne additive dans la série ICT, pas de totals.

Scan sécurité : aucun hit. Aucune valeur citée sans ancrage trouvé. Rien à demander.

@github-actions

github-actions Bot commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #20712 (feat(ict,#20463): ICT-36d decorrelation temporelle -- la HFD seule discrimine monotone) touche au moins un chemin de fichier aussi modifie par d'autres PRs ouvertes. Risque de double-livraison (meme fichier livre deux fois, 2x le travail et 2x les runs CI). Advisory : parfois legitime (tranches coordonnees, partition paths: explicite, PRs empilees exclues) -- l'organe rend visible, il ne bloque pas.

@github-actions

Copy link
Copy Markdown
Contributor

No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml).

Detector: python scripts/audit/detect_organ_duplication.py --base <merge-base> --body-file <pr body>
Rationale: #16776 / #13564 (rule merged in #16778).

@github-actions github-actions Bot added the paragraph-length Paragraph > 2000 chars (wall-of-text, #15405). Resorb before merge. label Oct 15, 2026
@github-actions

Copy link
Copy Markdown
Contributor

✅ No prose/output mismatch detected in the notebooks this PR changed.

Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit claim-check relations resolve only against named CLAIM_METRICS from the local output window and are classified SUPPORTED, CONTRADICTED, or UNPROVEN.
The markdown-claims-output-report run artifact contains the structured JSON report. See python scripts/check_markdown_claims_output.py --help for re-running locally.
Detector rationale: c.290 / c.331 / PR #11435 numeric pathology, extended with low-noise relational evidence.

@github-actions

Copy link
Copy Markdown
Contributor

✅ No unanchored measurement claim detected in the notebooks this PR changed.

Scope = notebooks CHANGED in this PR, not the whole corpus. The stale-claim-report run artifact holds the structured JSON.
Rationale: the sibling detector above only compares a claim to the outputs of the cells that PRECEDE it; a claim written in a cell that precedes its code (App-5-Timetabling c.2/c.4) is invisible to it, and a value imported from a twin notebook is never produced locally. See python scripts/check_stale_claims.py --help.

@github-actions

Copy link
Copy Markdown
Contributor

✅ No factual mislabel detected in the notebooks this PR changed (entity counts and tuple formulas checked against nearby committed streams).

Scope = notebooks CHANGED in this PR, not the whole corpus. The factual-mislabel-report run artifact holds the structured JSON.
Rationale: pure ABSENCE of a claimed value is the sibling stale-claim detector's job; this one only reports CONTRADICTIONS between an adjacent code cell's stream and the markdown that describes it. See python scripts/check_factual_mislabel.py --help.

@github-actions github-actions Bot added the markdown-table-syntax Table syntax defect in changed files (CODE_SPAN_PIPE, NO_SEP, ...). Advisory. See #10097. label Oct 15, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Golden-Set Execution (H.7 P3)

✅ 9/9 notebooks passed (certified reproducible)

Notebook Status Time
2.1-Workflow-ML.ipynb ✅ SUCCESS 7.0s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 7.6s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 4.5s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 4.4s
Search-01-StateSpace.ipynb ✅ SUCCESS 3.1s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.4s
RL-04-Bandits-Manchots-Python.ipynb ✅ SUCCESS 19.5s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 6.7s
GameTheory-13d-Optimistic-CFR-Python.ipynb ✅ SUCCESS 14.3s

Pinned lockfile: scripts/notebook_tools/golden_set.lock.txt (H.7 P3, axe A #4208)

jsboige added a commit that referenced this pull request Oct 15, 2026
…d-bridge

Regroupement WIP (memoire wip-cap) : la lane porte 19 PRs (plafond 15).
#20712 (ICT-36d decorrelation temporelle) est livree par #20668 au merge
de celle-ci. Conflit unique IIT/ICT-Series/README.md resolu par union
des deux entrees (36c puis 36d, avant 37).

See #20463
See #20712

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@jsboige

jsboige commented Oct 15, 2026

Copy link
Copy Markdown
Owner Author

[INFO] Fermeture par regroupement (WIP cap, mémoire wip-cap) — le contenu de cette PR est désormais intégré à la branche de #20668, retarget propre, aucun commit perdu.

Preuve : merge origin/feature/20463-anticorr-rho → feature/20463-flens-hfd-bridge (commit 2cacd928d5d, poussé). git merge-base --is-ancestor origin/feature/20463-anticorr-rho origin/feature/20463-flens-hfd-bridge → oui à la nouvelle tête. Le carnet ICT-36d-FLens-DecorrelationTemporelle-Python.ipynb rejoint ICT-36c sur la même branche ; le seul conflit (IIT/ICT-Series/README.md, chaque côté insérait sa ligne avant ICT-37) est résolu par union des deux entrées (36c puis 36d).

Motif : la lane portait 21 PRs ouvertes (plafond WIP = 15) — le picker verrouille tout grain neuf. Après les regroupements GOL (#20514 → #20515) et 2874 (#20810 → #20659), cette paire #20712 → #20668 est le troisième geste de la file. Au merge de #20668 : ICT-36c ET ICT-36d arrivent ensemble sur main.

Branche feature/20463-anticorr-rho conservée poussée (réouverture possible). Worktree de la branche purgé côté lane.

See #20463
See #20668

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

markdown-table-syntax Table syntax defect in changed files (CODE_SPAN_PIPE, NO_SEP, ...). Advisory. See #10097. paragraph-length Paragraph > 2000 chars (wall-of-text, #15405). Resorb before merge. pr-overlap Advisory: another open PR touches the same files (organ #13615)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants