Skip to content

feat(training,#1454): M4 DLinear-vol cluster revalidation — 7 actifs appariés par origine (port #18190) - #18650

Merged
myia-ai-01 merged 3 commits into
mainfrom
feature/1454-m4-cluster-origin
Oct 1, 2026
Merged

myia-ai-01 merged 3 commits into
mainfrom
feature/1454-m4-cluster-origin

Conversation

@jsboige

@jsboige jsboige commented Oct 1, 2026 •

Copy link
Copy Markdown
Owner

Grain: DEEP/training — lane myia-po-2024:CoursIA — prev: MED/docs #18595

Revalidation cluster M4 DLinear-vol appariée par origine (port #18190)

See #1454 See #12745

Ce que le run Cycle 25 et le keeper 2026-09-22 avaient en commun de faux

Les jambes DM brute et calibrée de dlinear_vol.py appariaient les erreurs des deux
walk-forwards par troncation positionnelle (errors[:min_len]) : dès qu'un côté saute un
fold ou perd un jour (dropna HAR, garde train_slice_end < 10 DLinear), la troncature compare
silencieusement des jours — donc des cibles — différents. C'est le défaut exact que la
revalidation cluster M17 (#18190) a exposé puis corrigé pour sa famille.

Le correctif

  • joined_pair_errors (organe partagé bias_metrics.py) : jointure des deux séries d'erreurs
    sur leurs dates d'origine communes + validation fail-closed des cibles partagées
    (tolérance 1e-8 pour l'ordre d'association flottant ; un vrai écart de cible lève un verdict
    TARGET_MISMATCH explicite, jamais une comparaison silencieuse).
  • Les trois jambes DM (brute, calibrée, recentrée) passent par cette jointure validée.
  • Purge des cibles apprises : vérifiée par construction (`train_slice_end = train_end - seq_len
    • horizon + 1borne la dernière cible d'entraînement àtrain_end - 1`, avant la frontière test).
  • --manifest-out : manifeste compact in-repo (verdicts par couple, diagnostics d'alignement,
    SHA-256 par pièce du JSON complet) — les séries par observation (>512 Ko, ml-pipeline: un artefact de resultats de 7,43 Mo entre sur main — 40x le plus gros precedent, sans politique de poids #15890) restent hors
    dépôt : G:\Mon Drive\MyIA\Dev\Trading\ML-Training-Pipeline\m4_dlinear_vol_cluster_full.json.

Run cluster

84 combinaisons (7 actifs BTC/ETH/SOL/LTC/XRP/ADA/DOT × h 1/5/10 × graines 0/7/42/99),
--debias --loss-fn mse, config publiée inchangée (seq_len 22, 5 folds, refit 22, 100 époques).

Run cluster (12 291 s, 84 combinaisons)

Jambe BEATS NO BEATS INCONCLUSIVE refuted
Calibrée (verdict doc) 3/21 0/21 18/21 —
Brute (4 états) 4/21 7/21 10/21 —
Précision (recentrée) 2/21 1/21 16/21 2/21

Diagnostic d'alignement : dm_target_gap_max = 0,0 sur 21/21 couples, 0 refus TARGET_MISMATCH,
jointures stables across graines (BTC 1890/1870/1845, ETH 1240/1220/1195, autres 595/575/550).

Tests

scripts/tests/test_m4_cluster_origin_pairing.py (5 tests : jointure par dates, origine
non appariée droppée — pas de troncature positionnelle, refus sur mismatch de cible, sentinelle
sans lever, tolérance ulp) + suites M4 existantes (test_m4_dlinear_bias_replay.py 23,
test_dlinear_debiased_edge.py 4) : 32 passed.

Rapport de biais par modèle (§C.7)

Biais OOS signés (moyenne 4 graines, par modèle, champ *_bias_oos de l'artefact) :

  • HAR : BTC −0,227/−0,343/−0,450 (h=1/5/10, sous-estimation massive croissant avec l'horizon) ;
    ETH −0,081/−0,129/−0,173 ; SOL +0,063/+0,095/+0,127 ; LTC +0,033 à +0,086 ; ADA +0,068 à +0,138 ;
    DOT +0,012 à +0,028 ; XRP −0,012/−0,018/−0,016 (h=1/5/10). Le biais qui gonflait l'edge apparent de DLinear
    n'existe quasiment que sur BTC.
  • DLinear : BTC quasi neutre (0 à +0,009) ; surestime les six autres actifs
    (+0,033 ETH h=1 à +0,276 XRP h=10), croissant avec l'horizon — profil confirmé du keeper 2026-09-22.
  • Part du biais² de HAR dans sa MSE : BTC 5,8 %/22,6 %/35,5 % (h=1/5/10) vs ≤ 8 % partout ailleurs (max : ETH h=10, 7,96 %).

Verdict

Verdict cluster : l'edge de précision de M4 est un phénomène BTC. Jambe recentrée : BEATS sur
BTC h=1 (+10,1 %, 4/4 graines, p_median 2,2e-09) et BTC h=5 (+7,5 %, 8,9e-05) uniquement ;
0/18 sur les six autres actifs, dont XRP h=10 NO BEATS (p 3,3e-02). Le « 5/21 BEATS » du
run Cycle 25 ne survit pas : ETH h=1 refuted-de-biased (porté par le biais HAR, comme le keeper
2026-09-22), SOL h=1 ne bat que la baseline calibrée (jambe brute 0/4, p 0,20 — un edge qui
n'existe que contre une baseline corrigée n'est pas un edge du modèle). 7 couples NO BEATS en
jambe brute aux horizons longs. Verdicts BTC h=1/h=5 confirmés par la mesure la plus complète
du dépôt sur M4. Artefacts : manifeste in-repo scripts/results/m4_dlinear_vol_cluster_aligned.json
(31 406 octets) ; séries complètes >512 Ko hors dépôt (#15890) :
G:\Mon Drive\MyIA\Dev\Trading\ML-Training-Pipeline\m4_dlinear_vol_cluster_full.json
(11 753 743 octets, SHA-256 LF 1d25cbc7948e2a16…).

🤖 Generated with Claude Code

jsboige and others added 2 commits September 30, 2026 23:29
The raw and calibrated DM legs truncated the two walk-forwards'
error arrays positionally (`[:min_len]`): silent mispairing of days
as soon as one side skips a fold or drops a NaN day. joined_pair_errors
(shared organ bias_metrics.py) joins on common origin dates and refuses
fail-closed on shared-target mismatch (TARGET_MISMATCH verdict, never a
silent comparison). Centered leg routed through the same validated join.
Compact --manifest-out cluster artifact anchors the full series JSON
per-coin by SHA-256 (results-artifact-policy #15890).

Tests: tests/test_m4_cluster_origin_pairing.py (5) + existing M4 suites
(23 + 4) green.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
…red verdicts

84 combos (BTC/ETH/SOL/LTC/XRP/ADA/DOT x h 1/5/10 x seeds 0/7/42/99,
--debias --loss-fn mse, 12291 s). Alignment diagnostics: shared targets
identical (gap 0.0) on 21/21 pairs, 0 refusals, joins stable across seeds.

Verdict: precision edge is BTC-confined -- centered leg BEATS on BTC h=1
(+10.1%, 4/4 seeds, p_median 2.2e-09) and h=5 (+7.5%, 8.9e-05) only;
0/18 on the six other assets (XRP h=10 NO BEATS). Cycle-25 ETH h=1
BEATS refuted out-of-bias; SOL h=1 beats the calibrated baseline only
(raw leg 0/4). 7 raw-leg NO BEATS at long horizons.

Manifest in-repo (31406 bytes, per-coin SHA-256 anchors); full series
outside the repo (>512KB #15890):
G:\Mon Drive\MyIA\Dev\Trading\ML-Training-Pipeline\m4_dlinear_vol_cluster_full.json

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@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 1, 2026
@github-actions

github-actions Bot commented Oct 1, 2026

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 large-pr-no-review PR > seuil sans review (ni bot ni humaine) -- retire quand une review arrive (#11232) label Oct 1, 2026
@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

Cette PR depasse le seuil de couverture review (par defaut 300 additions) et n'a recu aucune review -- ni bot, ni humaine.

Le label large-pr-no-review est pose par l'organe scripts/review_coverage.py porte par l'issue #11232. Aucun remede automatique : il faut obtenir une review (Hermes, ai-01, ou review humaine).

Le label est retire au balayage suivant (quotidien) des qu'une review arrive -- dans reviews[] ou en commentaire de verdict -- ou que le diff passe sous le seuil. Fermer/rouvrir la PR ne suffit pas -- la mesure porte sur le diff, pas sur l'etat de la PR.

Seuil, historique et exceptions : cf. docs/reference/review-coverage-threshold.md.

@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #18650 (feat(training,#1454): M4 DLinear-vol cluster revalidation — 7 actifs appariés par origine (port #18190)) 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 github-actions Bot added the pr-overlap Advisory: another open PR touches the same files (organ #13615) label Oct 1, 2026
…10 +0,138, ETH h=10 -0,173), plus de <0,13 partout

Reverifie firsthand depuis m4_dlinear_vol_cluster_full.json (GDrive).
Signale par l'audit adjoint (DM 20261001-2107).

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

jsboige commented Oct 1, 2026

Copy link
Copy Markdown
Owner Author

Réponse à l'audit de l'adjoint (DM adj-18650-nits-20261001-2107, tête auditée 863693f) — les 4 bornes sont corrigées, re-vérifiées firsthand depuis m4_dlinear_vol_cluster_full.json (GDrive, l'artefact cité au body) :

  1. §C.7 biais² HAR : « < 7 % partout ailleurs » → « ≤ 8 % partout ailleurs (max : ETH h=10, 7,96 %) » — recomputation des 21 jambes : max hors BTC = ETH h=10 7,96 % (4 graines), votre chiffre confirmé à la source.
  2. Doc §Verdicts cluster : « |biais| < 0,13 partout » → « ≤ 0,18 partout — seuls ADA h=10 (+0,138) et ETH h=10 (−0,173) dépassent 0,13 —, < 0,03 sur DOT/XRP » (commit d62e883547d, cohérent avec la table du même doc).
  3. XRP : « −0,012 à −0,016 » → « −0,012/−0,018/−0,016 (h=1/5/10) » — h=5 = −0,0184 vérifié au JSON.
  4. DLinear BTC : « −0,002 à +0,008 » → « 0 à +0,009 » — min/max sur les 12 triplets (3 h × 4 graines) = 0,0000 / +0,0089, aucune valeur négative.

Body édité + doc commitée d62e883547d poussée ; aucune statistique/sortie du run modifiée (prose seule). Ordre du stack noté : #18650 précède #18664.

@jsboige

jsboige commented Oct 1, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 18650
head: d62e883
complete: true
body: read
comments-reviewed: 4
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 019fe269471b9ccf40ed7b17ba0b544173aa20b03b4a7c0a7aa5731d7090937a
diff-files: 6
diff-additions: 1309
diff-deletions: 38
checks: blocked
b0: clear
scope: pass
domain: pass
verdict: BLOCKED
[/ADJOINT PREFLIGHT]

@myia-ai-01 myia-ai-01 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.

Relecture coordinateur (myia-ai-01), tete d62e883547. Elle couvre le label large-pr-no-review. L'audit independant de l'adjoint (myia-po-2025:CoursIA-2, tete 863693f) a rejoue les 21 agregats du manifeste sur le JSON complet (GDrive, SHA conforme), et la suite CPU donne 1376 passed. Les quatre bornes de prose qu'il signalait sont corrigees dans le body et dans M4_DLINEAR_VOL.md : biais² HAR ≤ 8 % hors BTC (ETH h=10, 7,96 %), XRP −0,012/−0,018/−0,016, DLinear BTC 0 a +0,009, |biais| ≤ 0,18 hors BTC. Je l'ai verifie au diff 863693f7..d62e8835 et au body vivant. Criteres §C : 4 graines (0/7/42/99), 5 folds walk-forward, DM sur mse, biais signes par modele et par baseline, verdicts BEATS/NO BEATS/INCONCLUSIVE. Le verdict « l'edge de M4 est un phenomene BTC » est honnete.

@jsboige

jsboige commented Oct 1, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-ai-01:CoursIA
pr: 18650
head: d62e883
complete: true
body: read
comments-reviewed: 5
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: c3885ee610b7b934c499d27eb4c793b579e0a39c768b20b4927fa64cb594bf13
diff-files: 6
diff-additions: 1309
diff-deletions: 38
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

@myia-ai-01
myia-ai-01 merged commit 19aa249 into main Oct 1, 2026
28 of 35 checks passed
myia-ai-01 pushed a commit that referenced this pull request Oct 2, 2026
…BEATS (#18190 port, closes #12734 deferral) (#18664)

* Feat(training,#1454): pair M4 cluster DM legs by origin (#18190 port)

The raw and calibrated DM legs truncated the two walk-forwards'
error arrays positionally (`[:min_len]`): silent mispairing of days
as soon as one side skips a fold or drops a NaN day. joined_pair_errors
(shared organ bias_metrics.py) joins on common origin dates and refuses
fail-closed on shared-target mismatch (TARGET_MISMATCH verdict, never a
silent comparison). Centered leg routed through the same validated join.
Compact --manifest-out cluster artifact anchors the full series JSON
per-coin by SHA-256 (results-artifact-policy #15890).

Tests: tests/test_m4_cluster_origin_pairing.py (5) + existing M4 suites
(23 + 4) green.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

* Feat(training,#1454): pair M15 cluster DM legs by origin (#18190 port)

Port the paired-origin protocol from M4 (#18650) into m15_lstm_rv.py:
- all DM legs (raw, train-calibrated HAR, centered variance) join the
  LSTM and HAR walk-forwards on common ORIGIN dates with a fail-closed
  shared-target check, never positional pairing;
- per-combo persistence of the joined errors + MSE bias decomposition
  (lstm/har bias^2, variance, har_bias_share_of_mse);
- three-leg per (coin,horizon) aggregation + compact cluster manifest
  writer (--manifest-out, results-artifact-policy #15890);
- closes the #12734 deferred full run: the 84-combo cluster rerun
  carries the BTC persist-verified slice.

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

* Fix(training,#1454): relabel HAR origins by full-index position, not output position

Second measured refusal on the #18190 port (BTC h=1, run v2, max gap
3.51): both walk-forward loops stop at test_end - horizon, so the
concatenated HAR output skips h positions at each fold boundary -- the
positional relabel values[1:] crossed that boundary and paired windows
one day apart on those dates. The relabel now maps each HAR entry to
the previous TRADING date of the full rv.index. Regression test builds
a fold-gapped HAR output and asserts gap <= 1e-8 through the join.
Docstring documents the residual one-day info asymmetry (HAR knows rv
through t-1, LSTM knows features through t-2 at the paired origin) and
its conservative direction for verdicts.

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

* Feat(training,#1454): M15 cluster revalidation paired by origin — NO BEATS, closes #12734 deferral

Run: 7 assets x 3 horizons x 4 seeds (84 combos, mse, refit 110, hidden
64). All DM legs join the walk-forwards on common origin dates; the
shared-target guard measured TWO convention defects before any valid
comparison: naive join refused (gap 4.25, LSTM targets [i+1,i+h] vs HAR
[i,i+h-1] — historical M15 verdicts compared different windows), then the
positional relabel refused (gap 3.51, fold-boundary skips). Index-based
relabel validated: gap max 3.6e-15, 0/21 TARGET_MISMATCH cells.

Verdicts: NO BEATS cluster (raw 19/21 cells, calibrated 18/21, centered
BEATEN-variance 18/21; var_ratio 1.12-1.34 on all 21 — the deficit is
variance, not bias). Extends the 2026-08-24 BTC refuted-de-biased to the
7-asset cluster; the #11034 BTC-only 2/3 BEATS antecedent does not survive
the corrected pairing (raw INCONCLUSIVE h=5 p=0.195 / h=10 p=0.053).

Deliverables: notebook section 8.5 executed (papermill, 0 error — #12734
post-hoc verifiability closed), docs section, REGISTRY entries, compact
manifest (20.8 KB, policy #15890 — full 12.3 MB series GDrive-side, SHA
in body).

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

* Fix: prose-counts — remplacer les compteurs de cellules par des predicats (docs M15)

L'organe #9377 attrape « 0 cellule » et « 21 cellules » comme mesures
quantitatives perissables en prose. Reformulation en predicat sans
chiffre colle au nom d'artefact ; la mesure vit dans le manifeste JSON
et le notebook, pas dans la doc.

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

* Fix: review #18664 — kernel drift (re-exec canonique 3.11) + compte centrée 18->19/21

Deux bloquants de la review CHANGES_REQUESTED (clusterManager-Myia) :

1. Kernel drift guard : la re-execution avait enregistre language_info
   3.13.7 (interprete local) vs 3.11.9 en base. Re-execution via le kernel
   canonique de la serie (coursia-ml-training, conda 3.11.15 — meme
   major.minor), 19 cellules, 0 erreur, chemins papermill scrubs.

2. Compte incoherent : la jambe centree-variance est 19/21 BEATEN
   (21 - 2 INCONCLUSIVE XRP h=5 p=0,083 / h=10 p=0,085), pas 18/21 —
   chiffre propage par erreur depuis la jambe calibree. Corrige en trois
   endroits (notebook output deja juste, docs, REGISTRY, body PR).
   Verifie firsthand contre le manifeste commite. Defavorable au LSTM
   (battu sur une cellule de plus) — verdict NO BEATS cluster inchange.

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

---------

Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
myia-ai-01 pushed a commit that referenced this pull request Oct 4, 2026
…port #18190) (#19100)

* feat(training,#1454): M13 MS-HAR -- jambes DM appariees par origine (#18190)

Porte le protocole d'appariement par origine de la famille (#18190, deja
applique a M4 #18650, M15 #18664, M17, M18) sur M13 Markov-Switching HAR.

Deux changements de fond, tous deux mesures dans la source :

1. Le verdict publie de M13 est un sign-test binomial sur 84 combos traites
   comme independants (NO BEATS, 39/84, p=0,7774) : aucune jambe DM, aucune
   jambe de-biaisee, aucun rapport de biais par modele -- en dessous de la
   barre de la section C. Le port ajoute les trois jambes via la machine a
   quatre etats partagee (_aggregate_state).

2. evaluate_one_combo reutilisait la cible de la jambe HAR pour les DEUX
   previsions (har_out["targets"].reindex(...) puis reindexation des
   previsions MS dessus) : toute divergence entre les cibles realisees des
   deux jambes etait silencieusement ignoree. Chaque jambe porte desormais
   sa propre cible et le join refuse sur mismatch partage (target_tol=1e-8).

Ajoute aussi : checkpoint par combo, manifeste cluster compact en depot
(politique #15890) et son merger (l'eclatement par actif ne traverse aucune
frontiere d'agregation : _aggregate_cell agrege par coin x horizon).

Tests : 12/12 (7 appariement d'origine + 5 merge de partiels).

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

* feat(training,#1454): generateur de la section docs depuis le manifeste

La section de revalidation cluster de docs/M13_MS_HAR.md se derive du
manifeste committe, jamais d'un tableau recopie a la main (doctrine #17029 :
les agregats appartiennent a l'automatisation -- un nouveau run doit
reproduire la prose, pas exiger qu'on l'edite). Le texte qui enonce CE QUE le
port change reste statique : c'est un enonce sur le harnais, verifie contre la
source, pas une mesure. Tout ce qui EST une mesure (verdicts par horizon,
comptes par cellule, diagnostics d'alignement, empreintes d'artefact) est
derive du manifeste.

Idempotent : re-executer remplace la section precedente au lieu de l'empiler.

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

* feat(training,#1454): M13 cluster -- manifeste, doc et registre (84 combos, 0/21 BEATS)

Le run cluster (7 actifs x 3 horizons x 4 graines = 84 combos) est termine
et merge : 21 agregats, 105 lignes, elapsed 1794,9 s. Verdicts identiques
aux deux jambes (brute et de-biaisee) : 0/21 BEATS, 20/21 NO BEATS,
1/21 INCONCLUSIVE (h=10, un actif). Appariement par origine : 0 refus du
garde shared-target, gap max 0,0 sur les cibles partagees, longueurs
appariees 538-1890.

Livre : le manifeste compact in-repo (13 819 octets, sha256
72db2e77ece296b1), la section de docs/M13_MS_HAR.md generee depuis ce
manifeste (splice idempotent au marqueur) et la ligne REGISTRY.md.
L'artefact complet (152 346 octets) reste hors depot
(results-artifact-policy #15890) ; son empreinte est publiee dans le
manifeste, et le chemin du gisement est cite.

Corrige au passage une incoherence du manifeste qui rendait l'agregat
infalsifiable : _write_cluster_manifest calcule _sha256_text sur le texte
normalise en LF (read_text normalise CRLF->LF), alors que l'artefact etait
ecrit en CRLF sur Windows -- le couple (bytes, sha256) decrivait deux jeux
d'octets differents, et un lecteur qui verifiait sha256sum sur l'artefact
obtenait un desaccord. L'ecriture passe a newline="\n" : les octets sur
disque sont le texte canonique. Merge rejoue sans reentrainement (il relit
les memes partiels), chiffres inchanges, concordance verifiee dans les
deux sens.

Tests : 12/12 (test_m13_merge_partials, test_m13_ms_har_cluster_origin_pairing).

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

* fix(training): meme correctif LF sur le chemin serie de m13_ms_har

Le chemin serie (m13_ms_har.py) ecrit l'artefact complet sans newline ni
encoding : sur Windows il sort en CRLF alors que _write_cluster_manifest
declare l'empreinte du texte normalise en LF -- le couple (bytes, sha256)
du manifeste serait incoherent, exactement le defaut corrige dans
merge_m13_partials.py au commit precedent. Meme correctif ici, pour qu'un
run serie futur produise un manifeste verifiable tel quel.

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

* fix(training,#1454): prose-counts -- retirer le compteur de lignes de la section generee

La section generee portait « runtime mesure 1795 s pour 105 lignes » :
compteur quantitatif en prose, refuse par prose-counts (#9377 -- les
donnees quantitatives sont tenues par le manifeste, pas par la doc).
Compteur retire du generateur (jamais de la doc a la main -- splice
idempotent rejoue), la phrase garde le predicat (runtime + semantics
de elapsed_s).

Releve 1 de la review NanoClaw 12:21Z sur #19100.

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

---------

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

large-pr-no-review PR > seuil sans review (ni bot ni humaine) -- retire quand une review arrive (#11232) markdown-table-syntax Table syntax defect in changed files (CODE_SPAN_PIPE, NO_SEP, ...). Advisory. See #10097. 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