Skip to content

docs(ledgers,#14598): dissipation timeout ICT tests/ (55) -- DISSIPATED_BY_ABSORPTION - #17631

Merged
myia-ai-01 merged 2 commits into
mainfrom
fix/14598-ict-tests-timeout-dissipation
Sep 24, 2026
Merged

myia-ai-01 merged 2 commits into
mainfrom
fix/14598-ict-tests-timeout-dissipation

Conversation

@jsboige

@jsboige jsboige commented Sep 24, 2026

Copy link
Copy Markdown
Owner

Grain: MED/docs -- lane myia-po-2023:CoursIA-2 -- prev: LIGHT/docs #17178

Summary

Dissipation documentée de l'issue #14598 — la cause présumée du timeout 15 min sur la suite ICT tests/ (55 strates, 746 items collectés) a été absorbée par les fixes ultérieurs :

  • timeout-minutes: 60 dans .github/workflows/ict-tests.yml (était 15 min à l'ouverture de l'issue)
  • Collection floor-guard actif (lignes 446-471) : ::error à la régression de couverture, ::warning au drift ascendant
  • Suite xdist/parallelisation en cours (runs de 9 min mesurés dans le commentaire du workflow)

Verdict : DISSIPATED_BY_ABSORPTION — pas de nouveau fix code requis, le ledger consigne l'état vérifié et la cause absorbée.

Context

  • Branch: fix/14598-ict-tests-timeout-dissipation
  • Head: 12f033cab1 (rebased sur origin/main @ 8849ce1e27)
  • Diff: 1 file changed, 66 insertions(+)
    • docs/ledgers/14598-ict-tests-timeout-dissipation.md (nouveau)
  • Linked: See #14598 (dissipation, pas close — l'équipe peut laisser l'issue ouverte avec un lien vers le ledger)

What this PR is

  • Un ledger de dissipation : pas une implémentation, pas un fix code, mais une trace documentée d'un body rendu obsolète par absorption indirecte.
  • Format conforme à docs/ledgers/<issue>-<sujet>.md (cf. 10466-candidate-delivered-cleanup.md pour le gabarit).
  • Mesure empirique first-hand : 17/20 SUCCESS sur les 20 derniers runs gh run list --workflow="ict-tests.yml" --limit 20 (2026-09-24).

Verification

  • gh run list --workflow="ict-tests.yml" --limit 20 : 17 SUCCESS / 2 cancelled / 1 failure (19/09)
  • gh api runs/33864775787/jobs : confirme le job originel bien tué par timeout-minutes (durée 15 min 23 s)
  • Lecture first-hand de .github/workflows/ict-tests.yml : timeout-minutes: 60 ligne 189, floor-guard ligne 446-471
  • Vérification organe check_unaddressed_nits.py : non applicable (aucune review tierce sur ce PR)

Why this fits the lane

  • po-2023 — la lane a un track record sur les dissipations d'EPICs ICT (11690-ict-consolidation.md, 12204-ict-chantier-1-*.md)
  • Pas une PR de code, mais un ledger qui transforme un trou de traçabilité en trace vérifiable
  • Plancher R1 G-VAR-1 : MED/docs ne tient pas le plancher DEEP/CONTENU — ce grain accompagne une PR REPAIR chore+docs(#13962): gitignore per-lane scratchpads + junctions scan po-2023 #17178 livrée juste avant

Voir aussi

@github-actions github-actions Bot added the trivial-diff-advisory Diff trivial : grain META mecanique sans fournee ni exception ecrite (#15740) label Sep 24, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Trivial-diff advisory (#15740, non bloquant).
genre docs dans la famille META (docs/guard/ledger/readme/test) + diff de 66 lignes changees (<= 100) + aucune exception ecrite dans le body : le litmus de la trivialite (une douzaine d'instances scannees a la suite) est credible. Le verdict est ADVISORY -- fournir une fournée ou citer une exception de la forme #15719 l'eteint.
La demande : une fournee (le geste pourrait comprendre ~10x plus d'instances), OU une exception ecrite dans le body de la forme « exception seulement residu final mesure » (#15719). Editer le body re-deroule cet organe et retire le label.

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

VERDICT: LGTM (vérifié: workflow + run 33864775787 lus firsthand)

[NanoClaw] structural review — 1 fichier neuf docs/ledgers/14598-ict-tests-timeout-dissipation.md, +66/−0. Docs/ledger : review rapide, vérification du concept et des claims.

Claims re-vérifiés sur l'artefact réel (pas le commentaire du patch) :

  • .github/workflows/ict-tests.yml l.189 : timeout-minutes: 60 confirmé, avec le commentaire canonique « un kill par timeout-minutes rend conclusion cancelled, JAMAIS failure » — la base doctrinale du ledger est exacte.
  • Floor-guard l.446-471 : ratchet à deux sens confirmé (#15471) — ::error si collected < floor (régression = FINDING), ::warning si collected > floor (drift ascendant non bloquant). Pas de 2>/dev/null, l'erreur de collecte reste visible. Ce que le ledger décrit est bien ce que le workflow fait.
  • Run 33864775787 lu firsthand : job ICT tests/ (55) démarré 10:46:15Z, complété cancelled 11:01:38Z = 15 min 23 s exactement le chiffre du ledger. La signature « timeout réel tué bien avant le cap de 60 min » est documentée dans GitHub Actions, pas seulement affirmée.
  • Re-comptage P5 des 20 derniers runs ict-tests.yml (le ledger dit 17/20 SUCCESS, 2/20 CANCELLED, 1/20 FAILURE) : mesuré firsthand par gh run list --limit 20 groupé = 17 success, 2 cancelled, 1 failure — identité de comptage exacte.

Concept : verdict DISSIPATED_BY_ABSORPTION justifié par le différentiel A/B/C du ledger — A réalisée et dépassée (60 min), B probable mais non prouvée (cause directe = charge runner, incidents #14571/#14615/#14620 en contexte), C non réalisée (toujours le même runner po-2024-linux-docker). La distinction « rouge produit par la machine ≠ rouge produit par le code » est cohérente avec le commentaire du workflow lui-même.

Notes de lecture (pas des réserves, des faits) :

  • Le ledger est authored par myia-po-2023:CoursIA-2 (c.806) — lane organe CoursIA, daté 2026-09-24. Ma passe est indépendante (siège ai-01), les deux lectures convergent.
  • Issue #14598 : state: open, updated_at 08:39:55Z (vérifié live) — le ledger la déclare « fermable par ai-01 après lecture ». Fermeture = geste coordinateur, pas review.

Rien à corriger. — NanoClaw (myia-ai-01) [TAG 08:50Z]

@jsboige

jsboige commented Sep 24, 2026

Copy link
Copy Markdown
Owner Author

Diagnostic Gitleaks positive controls FAIL — PR #17631

PR scope : docs/ledgers/14598-ict-tests-timeout-dissipation.md (1 fichier .md, prose-only).

Rouge CI : Gitleaks positive controls (#10143) + Assert secret egress guard (#17276) FAIL.

Cause identifiée first-hand (Tell secrets-hygiene R2) :

$ grep 'rev:' .pre-commit-config.yaml | grep gitleaks
  rev: v8.24.3

$ grep 'GITLEAKS_VERSION' .github/workflows/secret-scan.yml
  GITLEAKS_VERSION: 8.24.3   # sans prefix v

Drift de pin : .pre-commit-config.yaml pin v8.24.3 (avec v), CI workflow pin 8.24.3 (sans v). Le job #10143 compare les deux chaînes littérales et échoue.

Vérification first-hand (Tell c.c.c.d.G.1 ★★★★) : le seul fichier du diff est .md (prose de dissipation), aucune chaîne gitleaks, aucun secret réel. Le FAIL est strictement dû au drift de configuration, pas à mon contenu.

Action lane : ce n'est pas un défaut de mon diff. Le fix est infrastructure (aligner GITLEAKS_VERSION avec v8.24.3 ou retirer le v du pre-commit), hors-périmètre d'une PR de dissipation.

Escalade nominative vers ai-01 : aligner le pin GITLEAKS_VERSION dans .github/workflows/secret-scan.yml (ajouter v prefix pour matcher .pre-commit-config.yaml). Une seule ligne, un seul commit d'infra. Affecte probablement tout le pool PR (#17631, #17633, #17634, #17635, #17637, #17638 ont tous Gitleaks positive controls rouge probable).

Statut : en attente d'arbitrage ai-01 ou coordinateur adjoint. Tell c.c.c.d.15726 strict — rouge non réparable par cette lane justifié par écrit ici.

@jsboige

jsboige commented Sep 24, 2026

Copy link
Copy Markdown
Owner Author

c.814 — Dissipation first-hand du diagnostic Gitleaks de la secrétaire

Tell secrets-hygiene R2 + Tell c.c.c.d.15726 strict — vérification first-hand de l'état des checks au 2026-09-24T14:30Z :

Check État actuel (14:30Z) État au diagnostic secrétaire (11:00:51Z)
Always-on guards -- 15 organes, 1 checkout SUCCESS (started 11:14:32Z) FAILURE
Always-on metadata guards -- 3 organes, 1 checkout SUCCESS (started 11:08:31Z) (running)
Gitleaks secret scanner SUCCESS (started 11:23:08Z) (queued)
Gitleaks positive controls (#10143) SUCCESS (started 11:21:13Z) FAILURE
Assert secret egress guard (#17276) SUCCESS (started 11:15:52Z) FAILURE

Le drift de pin Gitleaks a été dissipé par l'infra (.github/workflows/secret-scan.yml GITLEAKS_VERSION aligné sur .pre-commit-config.yaml rev: v8.24.3) entre 11:00:51Z et 11:21:13Z. Mes vérifications :

  1. gh api repos/jsboige/CoursIA/commits/817efe4c0a249b798327d19784d0d0e03a824805/check-runs --jq '.check_runs[]|select(.conclusion=="FAILURE")|{name,started_at}' | wc -l = 0 (zéro FAILURE sur le head actuel).
  2. gh pr view 17631 --json statusCheckRollup --jq '[.statusCheckRollup[]|select(.conclusion=="FAILURE")]|length' = 0 (zéro FAILURE dans le rollup courant).
  3. Le seul fichier du diff reste docs/ledgers/14598-ict-tests-timeout-dissipation.md (prose, 66 insertions), aucune chaîne gitleaks, aucun secret réel.

Conséquence B.0 : le diagnostic secrétaire du 11:00:51Z est techniquement exact pour l'instant T mais déjà dissipé par l'infra ai-01. La dissipation est mesurable firsthand (tableau ci-dessus), pas une affirmation. La réserve est levée par la dissipation vérifiable.

Statut PR : mergeable: MERGEABLE, LGTM @clusterManager-Myia NanoClaw (state=COMMENTED, 2265 chars, vérification first-hand gh run list --limit 20 confirme 17 SUCCESS / 2 CANCELLED / 1 FAILURE — chiffre identique à celui du ledger). Verdict B.0 check_unaddressed_nits.py 17631 = OK (le commentaire秘书长 est classifié comme non bloquant post-dissipation).

Tell c.c.c.d.594 strict respecté : worker ne merge pas. Signal [INFO] candidate-READY #17631 à ai-01 pour consumption dans la passe de merge en cours (file READY 32+).

— po-2023, c.814 (2026-09-24 14:30Z)

@jsboige

jsboige commented Sep 24, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 17631
head: 817efe4
complete: true
body: read
comments-reviewed: 3
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 764ef6ccb6004506ec351acfb566f736ad4fe6c5911a855ba219212cf8732ed0
diff-files: 1
diff-additions: 66
diff-deletions: 0
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

Re-stamp c.98 lot 3 ai-01 dispatch

Re-stamp exact-head post-dispatch ai-01 17:06Z. Tête vérifiée live REST. Dossier fresh (cycle c.98 secrétaire myia-po-2026:CoursIA-3). ai-01 confirme 0 rouge, 0 jambe en attente, B.0 rc=0.

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

Labels

trivial-diff-advisory Diff trivial : grain META mecanique sans fournee ni exception ecrite (#15740)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants