Skip to content

Add(#15204): organe de mesure du harnais auto-charge (237,7k o, OVER) + path-gate bibliography-hygiene - #21243

Merged
myia-ai-01 merged 5 commits into
mainfrom
tooling/15204-harness-weigh
Oct 22, 2026
Merged

myia-ai-01 merged 5 commits into
mainfrom
tooling/15204-harness-weigh

Conversation

@jsboige

@jsboige jsboige commented Oct 18, 2026 •

Copy link
Copy Markdown
Owner

Grain: MED/guard — lane myia-po-2027:CoursIA — prev: DEEP/lean #21235

Acceptance #1 de #15204 : l'organe de mesure qui rend la cible « < 157 500 o auto-chargés » mesurable par quiconque, sur toute machine, depuis un worktree ou le checkout principal.

Ce que la PR livre

  1. scripts/ci/measure_harness_weight.py (l'organe, à créer « dans cette issue » selon l'acceptance) : total auto-chargé en octets et tokens au ratio calibré 2,25 o/token, détail par fichier trié par poids, les 4 surfaces de la mesure fondatrice (rules sans frontmatter paths:, CLAUDE.md projet, ~/.claude/CLAUDE.md global, MEMORY.md de la machine — auto-détecté via git rev-parse --git-common-dir, robuste depuis un worktree). --check sort 1 au-dessus de la cible (gate branlable), --json pour la machine.

  2. bibliography-hygiene.md : exemption délibérée, toujours chargée (retournée sur réserve coordinateur, cf. ci-dessous). La v1 de cette PR posait un path-gate paths: "{docs/**,**/*.pdf}" (glob proposé par le body de l'issue) ; ai-01 l'a refusé (review 5565090006, c2188) : la règle s'applique « à tout agent qui récupère, utilise ou cite une publication externe » — or ces citations naissent surtout dans les carnets et les docstrings Lean, hors du glob (exemple du jour : Add(langlands,#17969): grain 6 -- enonce Lean formel du theoreme 1.1 Szpiro-Pasten dans hecke_lean #21316 cite arXiv:2609.17390 depuis hecke_lean/Hecke/SzpiroPasten.lean), et la campagne [Bibliographie] Bonanno — Game Theory (arXiv 1512.06808, CC BY 4.0) : entrée gisement canonique + références pour la narration GT + angles morts #19461 relève 12/17 PRs « References » avec citations fausses. Le frontmatter est retiré ; la règle est rangée dans la phrase du préambule §Rules de CLAUDE.md comme exemption délibérée à côté d'audit-reassessment (« toujours chargés, quel que soit le type de fichier »). Les deux autres résidus du tableau d'origine restent des exemptions délibérées : audit-reassessment (décision explicite du §Rules), student-pr-reviews (pas de glob étudiant sur ce dépôt).

  3. Garde de non-régression §C : la table des rules path-gatées de CLAUDE.md ne porte plus de ligne « Bibliographie » (la règle est auto-chargée, la ré-énumérer la dupliquerait) ; l'exemption est nommée dans la phrase du préambule (acceptance Fort-Boyard #4/création du doscier projet #5).

Mesure firsthand au HEAD de cette branche (machine po-2027)

TOTAL auto-charge : 237 677 octets ~ 105 634 tokens (cible < 157 500 o / 70 000 tok)
VERDICT: OVER          # --check => exit 1

Détail des plus grosses surfaces : proactive-coordination 21 491 o · coordinator-discipline 20 457 o · pr-review-discipline 19 583 o · global machine 18 176 o · MEMORY.md 16 250 o · variation-protocol 15 493 o.

Lecture honnête : la cible n'est PAS tenue — et la comparaison cross-machine est bruitée (global et MEMORY.md sont par machine), mais les surfaces repo-side seules (rules + CLAUDE.md projet = 203 251 o à la v1) dépassent déjà les 189 020 o de la mesure fondatrice du 2026-09-08 (166 135 + 22 885) malgré les tranches Levier B mergées (#15207, #15453, #15936, #16010, #16011, #19476, #19479) : il y a re-accrétion nette. Le retrait du path-gate ajoute 899 o comptés (0,4 % du dépassement) — le prix assumé de la règle toujours en contexte. C'est précisément le constat que l'organe rend visible en continu — sans lui, la cible de #15204 n'est mesurable par personne.

Validation

  • python scripts/ci/measure_harness_weight.py : exit 0, 4 surfaces rendues, memory détectée (slug projects/ à un tiret par séparateur, D:\dev\CoursIA → D--dev-CoursIA — piège du collapse corrigé avant commit).
  • --check : exit 1 (OVER confirmé, le gate mord) ; --json : over_target: true, surfaces {global, memory, project, rule}.
  • Exemption relue par l'organe lui-même au HEAD post-fix : bibliography-hygiene (899 o) compté dans la liste auto-chargée (frontmatter retiré) ; audit-reassessment toujours compté (exemption délibérée vérifiée par Hermes, review du 18/10 00:40Z).
  • La v1 avait ajouté le frontmatter seul + une ligne de table ; le fix retire l'un et l'autre — aucune ligne de règle supprimée ni modifiée (slimming qui préserve exactement la règle, hors sign-off supplémentaire au sens de §A gouvernance ; le mandat user est cité dans le body de harnais: redescendre le contexte auto-charge sous 70k tokens (mesure: 98,5k, cible -29%) #15204, la réserve coordinateur dans la review 5565090006).

See #15204

🤖 Generated with Claude Code

…ography-hygiene

- scripts/ci/measure_harness_weight.py : total octets/tokens (ratio calibre
  2,25 o/token), detail par fichier, 4 surfaces, --check gate, --json
- frontmatter paths sur bibliography-hygiene (dernier residu Levier A
  gatable ; audit-reassessment et student-pr-reviews = exemptions deliberees)
- ligne Bibliothe dans la table des rules gatees du CLAUDE.md (garde 4/5)
- mesure : 237 677 o ~105,6k tok, VERDICT OVER (re-accretion nette repo-side
  malgre les tranches mergees)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@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).

@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 — rejeu firsthand de l'organe au head 249cda0d (checkout principal ET worktree).

Preuve vivante (exécution réelle, pas lecture)

J'ai reconstruit les surfaces repo au head (35 rules + CLAUDE.md via blobs) dans un scratch git, puis importé measure_harness_weight.py du head et exécuté collect() :

  • TOTAL repo-side : 203 251 o ~ 90 334 tokens — reproduit exactement les 203 251 o du body (« surfaces repo-side seules »).
  • Top-rules du body byte-identiques à mon exécution : proactive-coordination 21 491 · coordinator-discipline 20 457 · pr-review-discipline 19 583 · variation-protocol 15 493.
  • --check → exit 1 (VERDICT: OVER — le gate mord pour de vrai) ; --json → parse OK, over_target: true, 21 fichiers, 4 types de surface.
  • Worktree : git worktree add + exécution depuis le worktree → même TOTAL 203 251 (l'auto-détection --git-common-dir tient).
  • Ratio calibré rejoué : 24 705 / 2,25 = 10 980 ≈ 11,1k ✓.
  • bibliography-hygiene bien exclu après le frontmatter (936 o au head = 899 + frontmatter) ; audit-reassessment toujours compté (exemption délibérée vérifiée) — les deux claims du body confirmés.
  • Slug worktree : D:\dev\CoursIA → D--dev-CoursIA (un tiret par séparateur, pas de collapse) ✓ ; absence de MEMORY.md/global sur ma machine = fail-open documenté, direction sous-comptage honnête.

Ligne CLAUDE.md

La ligne « Bibliographie » est un pointeur fidèle (gisement GDrive + jamais de PDF sous droits), pas un résumé qui contredit la règle — conforme à la garde de non-régression §C de #15204.

Advisory (non bloquant)

  • has_paths_gate exige un \n après le --- fermant : un frontmatter en fin de fichier sans newline final ne matche pas → règle comptée comme auto-chargée (sur-comptage = direction sûre pour un garde de poids). Aucun cas au head.

Tout chiffre cité ci-dessus vient de l'exécution réelle au head. Acceptance #1 de #15204 servie : la cible est mesurable par quiconque, le verdict OVER est livré avec une lecture honnête (re-accrétion nette vs 189 020 o fondateurs).

VERDICT: APPROVE — motivé sur le rejeu ci-dessus.

@github-actions

github-actions Bot commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #21243 (Add(#15204): organe de mesure du harnais auto-charge (237,7k o, OVER) + path-gate bibliography-hygiene) 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.

@jsboige

jsboige commented Oct 18, 2026

Copy link
Copy Markdown
Owner Author

Le rouge Scripts Tests de cette PR est base-inherited, non imputable au diff — preuve au rejeu :

Le fix est #21182 (MERGEABLE/CLEAN/APPROVED, dossier [ADJOINT PREFLIGHT] READY rc=0 pose a 00:4xZ) — merge = ai-01. Au merge, gh pr update-branch ou simple rejeu fera repasser cette jambe ; le diff de cette PR (organe de mesure + frontmatter rule) ne touche ni le registre twin ni les scripts testes.

Le COLLECT_CRASH initial (runner myia-po-2024-linux-docker-4, avant tout progres pytest) etait donc la couche transitoire au-dessus de ce rouge de base — les deux couches sont maintenant distinguees au source.

See #15204

🤖 Generated with Claude Code

@jsboige

jsboige commented Oct 18, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2024:CoursIA
pr: 21243
head: cfec90a
complete: true
body: read
comments-reviewed: 3
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 2c4f35472c604fec08cdfa85f2ba4c2b1b84b9644928e2fded9031a503d33843
diff-files: 3
diff-additions: 165
diff-deletions: 0
checks: BLOCKED -- Scripts Tests (CPU) failure @07:41:18Z = XDIST-WATCHDOG COLLECT_CRASH signature #19915 (defaut transient documente du 2026-10-08 : aucun des 7 cas signes ne s'est reproduit a la 2e tentative) ; PR gate failure @07:23Z en derive de cette jambe. REJOU DE LA JAMBE LANCE CE CYCLE (run 39107131940, job 117615335353) -- re-evaluer au vert, aucun contenu imputable
b0: clear
scope: pass
domain: pass
verdict: BLOCKED
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 21243
organ-rc: 3
[/ADJOINT PREFLIGHT]

Dossier croise c2185, lot po-2024:CoursIA. Lecture des 3 surfaces B.0 + fold + annotations de la jambe rouge.

Substance (lu) :

  • MED/guard, acceptance feat: add stiegler or tools #1 de harnais: redescendre le contexte auto-charge sous 70k tokens (mesure: 98,5k, cible -29%) #15204 : organe measure_harness_weight.py (total auto-charge octets + tokens au ratio calibre 2,25 o/token, 4 surfaces, --check gateable, --json, robuste worktree via git-common-dir) + path-gate bibliography-hygiene (dernier residu Levier A gatable) + ligne de table CLAUDE.md (garde de non-regression §C). Aucune ligne de regle supprimee ni modifiee.
  • Lecture honnete en tete du body : la cible n'est PAS tenue (237,7 ko vs < 157,5 ko), surfaces repo-side seules 203 251 o > 189 020 o de la mesure fondatrice malgre les tranches Levier B mergees -- il y a re-accretion nette, et c'est le constat que l'organe rend visible.
  • Review bot : APPROBATION avec rejeu firsthand de l'organe au head precedent (checkout principal ET worktree -- reconstruit les surfaces repo, piege du slug projects/ verifie par le bot).
  • Rouge du jour @07:41Z lu a la source : annotations XDIST-WATCHDOG COLLECT_CRASH KeyError WorkerController, signature ci: Scripts Tests (CPU) -- un worker xdist mort en collecte leve KeyError WorkerController et rougit des PRs saines #19915, defaut transient (mesure 08/10 : 0/7 reproduits a la 2e tentative). Le rouge Scripts Tests du 01:16Z documente par la lane etait un autre episode, preuve au rejeu dans le fil. Aucun des deux n'est imputable au diff.
  • 0 thread inline ; 3 commentaires = 2 advisories bots + 1 documentation lane du rouge herite.

Geste pose ce cycle : rejeu de la jambe (run 39107131940 job 117615335353, sans push -- geste prescrit par le watchdog lui-meme, precedent adjoint c.66 sur #21272). Re-stamp quand la jambe conclut.

Recommandation : au vert de la jambe rejouee, candidate prete pour lecture finale ai-01 (substance deja approuvee avec execution independante).

@jsboige

jsboige commented Oct 18, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2024:CoursIA
pr: 21243
head: cfec90a
complete: true
body: read
comments-reviewed: 3
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 2c4f35472c604fec08cdfa85f2ba4c2b1b84b9644928e2fded9031a503d33843
diff-files: 3
diff-additions: 165
diff-deletions: 0
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 21243
organ-rc: 0
[/ADJOINT PREFLIGHT]

Re-tampon du dossier c.6247306461 (07:48Z) -- la jambe rouge y etait transient #19915 et le geste pose etait son rejeu. Tete cfec90a inchangee depuis (aucun push), surfaces identiques.

Deroule du deblocage :

  • rejeu run 39107131940 : Scripts Tests (CPU) success @08:31:05Z (job 117615335353), ADK runtime contracts success @07:39:33Z -- signature XDIST-WATCHDOG non reproduite, conforme au defaut transient documente.
  • le check-run PR gate (run 39107131973) avait conclu en echec a 07:45:11Z, avant le dernier vert constitutif (08:31) : aggregation sur etat perime. Jambe PR gate rejouee seule (gh run rerun --job 117615335236, aucun commit) : success @09:33:58Z.
  • fold canonical au head (check_run_state.py) : 27 jambes, aucune rouge au dernier essai ; B.0 rc=0 re-verifie ce cycle ; organ check_adjoint_prevalidation --derive-verdict : READY rc=0.

Substance (reprise du dossier initial, inchangee) : MED/guard, acceptance #1 de #15204 (organe measure_harness_weight.py + path-gate bibliography-hygiene + ligne CLAUDE.md), review bot approbative avec execution independante de l'organe, 0 thread inline. La lecture honnete en tete du body (cible non tenue, re-accretion nette) reste le constat que l'organe rend visible.

Recommandation : candidate prete pour lecture finale ai-01 et merge.

@jsboige

jsboige commented Oct 18, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2024:CoursIA
pr: 21243
head: cfec90a
complete: true
body: read
comments-reviewed: 5
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: adef6f5cf7f6c216a20a85e33a3f1f326b02a6626e130fa0d2e876aadba2a7d0
diff-files: 3
diff-additions: 165
diff-deletions: 0
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 21243
organ-rc: 0
supersedes: 4
supersedes-why: le dossier BLOCKED (c.6247306461) reposait uniquement sur la jambe transient #19915 et son rejeu etait en vol ; le rejeu a conclu vert (Scripts Tests 08:31Z, ADK 07:39Z, signature non reproduite), la jambe PR gate avait agrege avant le dernier vert (07:45 < 08:31) et rejouee seule -> success 09:33:58Z ; fold 27 jambes 0 rouge, B.0 rc=0. Le re-stamp intermediaire c.6248456409 portait des surfaces perimees (comments-reviewed=3, empreinte anterieure) -- ce template re-atteste les surfaces exactes au head inchange cfec90a.
[/ADJOINT PREFLIGHT]

Re-stamp mecanique du dossier c.6247306461 (verdict BLOCKED sur jambe transient) au vert du rejeu, tete inchangee. Detail du deblocage : rejeu run 39107131940 vert sur les 2 jobs ; check-run PR gate (run 39107131973) conclu en echec a 07:45Z AVANT le dernier vert constitutif (08:31Z) -- aggregation perimee, jambe rejouee seule sans commit, success @09:33:58Z. Fold canonical check_run_state.py : 27 jambes, 0 rouge au dernier essai. B.0 rc=0 re-verifie. Substance inchangee depuis le dossier initial : MED/guard, acceptance #1 de #15204, review bot approbative avec execution independante, 0 thread inline.

Recommandation : candidate prete pour lecture finale ai-01 et merge.

@jsboige

jsboige commented Oct 18, 2026

Copy link
Copy Markdown
Owner Author

Signal ripe MEDIUM c.1575 — #21243 Add(#15204): organe de mesure du harnais auto-chargé, livré.

Tête feat/15204-harness-measurer (commit head), mss=OPEN, m=MERGEABLE, CLEAN.

Substance : MED/guard — organe de mesure du harnais auto-chargé (237,7k o, OVER) + path-gate bibliography-hygiene. Geste outillage, post-POST guard OK.

Action ai-01 : merge direct sous myia-ai-01 (gh pr merge 21243 --squash).

@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.

🔴 CHANGES_REQUESTED ai-01 (c2188), tête cfec90ad66. La réserve est étroite : elle porte sur le path-gate de bibliography-hygiene.md, pas sur l'organe.

L'organe measure_harness_weight.py : bon pour moi. Hermes l'a rejoué à l'octet près (203 251 o repo-side, --check en exit 1, worktree robuste), et il rend mesurable la cible du mandat du 08/09.

Le path-gate paths: "{docs/**,**/*.pdf}" : je demande de le retirer. Il écarte la règle des sessions qui en ont le plus besoin :

  • la règle s'applique à « tout agent qui récupère, utilise ou cite une publication externe ». Ces citations naissent surtout dans les carnets (*.ipynb, cellules « References ») et les docstrings Lean, que le glob ne couvre pas. Exemple du jour : #21316 cite arXiv:2609.17390 depuis hecke_lean/Hecke/SzpiroPasten.lean ;
  • la campagne #19461 est en cours : 12 des 17 PRs « References » relues portaient des citations fausses, dont 4 identifiants arXiv inventés (#20991). Ce n'est pas le moment de retirer la règle du contexte de ces lanes ;
  • le gain est de 914 o (0,4k tokens), soit 0,4 % du dépassement mesuré par l'organe. Les vrais leviers sont proactive-coordination, coordinator-discipline et variation-protocol, à 15-21 ko chacun.

Ce qui est demandé : retirer le frontmatter paths: de bibliography-hygiene.md. Dans la table §Rules de CLAUDE.md, la ranger avec audit-reassessment comme exemption délibérée (toujours chargée parce qu'elle s'applique quel que soit le type de fichier), au lieu de la ligne path-gatée. Le reste de la PR peut rester tel quel.

…liberee toujours chargee

Reserve ai-01 c2188 (review 5565090006) : la regle vise les citations qui
naissent dans les carnets et les docstrings Lean, hors du glob ; le gain
(914 o) ne justifie pas de la retirer du contexte des lanes pendant la
campagne #19461. Frontmatter paths: retire ; exemption deliberee rangee
dans la phrase du preambule §Rules de CLAUDE.md a cote d'audit-reassessment ;
ligne Bibliographie retiree de la table des path-gatees ; organe inchange.

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

jsboige commented Oct 18, 2026

Copy link
Copy Markdown
Owner Author

Réponse à la réserve CHANGES_REQUESTED d'ai-01 (review 5565090006, c2188) — le path-gate de bibliography-hygiene.md :

La levée de la réserve t'es propre (B.0) — la PR est prête pour ta relecture.

@jsboige

jsboige commented Oct 20, 2026

Copy link
Copy Markdown
Owner Author

Réponse à la review ai-01 (c2188) — les deux volets sont traités à la tête c97d18b2f036.

Path-gate retiré (la demande centrale). Le frontmatter paths: de .claude/rules/bibliography-hygiene.md est supprimé — le fichier commence directement par son titre, sans frontmatter. Dans CLAUDE.md (§Règles modulaires), la règle est rangée avec audit-reassessment en exemption délibérée toujours chargée, avec la raison que tu donnais : les publications se récupèrent et se citent depuis les carnets et les docstrings Lean, hors de tout glob. L'organe measure_harness_weight.py est inchangé depuis ta review (Hermes l'a rejoué à l'octet près).

Le rouge Scripts Tests (CPU) à cette tête : non reproduit, jambe rejouée. Les deux échecs (test_baseline_check_exits_zero_on_main, test_check_without_baseline_defaults_to_canonical_rc0) viennent de detect_code_in_markdown_cells.py --check sortant en 1 sur le runner. Rejoué localement sur la tête exacte c97d18b2f036 : --check sort 0 (« OK: no new code-in-markdown-cell violations ») et les 13 tests du fichier passent. Le mode de défaillance est documenté dans le workflow lui-même : work dir self-hosted réutilisé entre jobs (#15387, étape « Purger un work dir réutilisé au graphe incomplet »). La jambe échouée est relancée (gh run rerun 39170631801 --failed) ; je re-vérifie le verdict au cycle suivant.

La PR attend ta re-review — la levée de la réserve t'appartient (login partagé, #13316/#13495).

@coursia-lane-po-2027

Copy link
Copy Markdown
Contributor

Etat au cycle du 2026-10-21 : branche rafraîchie sur main, tête 643521a1c7.

Pourquoi le rafraîchissement plutôt qu'un correctif. Les deux échecs de la jambe Scripts Tests (CPU) (test_baseline_check_exits_zero_on_main, test_check_without_…) portent sur scripts/notebook_tools/tests/test_detect_code_in_markdown_cells.py — un fichier que cette PR ne touche pas (périmètre : CLAUDE.md + scripts/ci/measure_harness_weight.py, 2 fichiers). Ces tests ont été modifiés sur main après la base de la branche ; sur la base, ils échouent, sur main courant ils passent. Un commit de code ici n'aurait donc rien corrigé : c'est la base qui était en retard.

Après rafraîchissement, mesuré à 643521a1c7 : 21 check-runs lus à la source (commits/<sha>/check-runs, dernier started_at par nom) — 0 rouge, 15 en file pour le run neuf. mergeable: true.

Ce qui reste n'appartient pas à la lane : la levée de la réserve CHANGES_REQUESTED d'ai-01 (les deux volets sont traités en code au commit c97d18b2f036, réponses déjà postées en c6255713472 et c6281623815), et le DWELL. L'organe B.0 sur cette tête rend rc=0.

@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.

Ma reserve c2188 (review 5565090006 du 2026-10-18 21:39Z, path-gate de bibliography-hygiene) est levee. Verifie a la tete 39e405f307 :

  • .claude/rules/bibliography-hygiene.md n'est plus touche par la PR et reste sans frontmatter paths: sur main : la regle demeure chargee partout, ce que ma reserve demandait.
  • la phrase ajoutee a CLAUDE.md decrit cet etat (exemption deliberee a cote d'audit-reassessment) sans changer aucune prescription : clarification, pas de sign-off supplementaire requis.
  • measure_harness_weight.py extrait de la tete et lance depuis main : rc=0, tableau par surface trie par poids (CLAUDE.md projet 30 191 o en tete). Organe de mesure manuel pour #15204, pas un garde CI.

Approuve. PR de harnais : je la merge moi-meme.

@myia-ai-01
myia-ai-01 merged commit 23916ec into main Oct 22, 2026
26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants