Skip to content

CI infra: la suite ICT tests/ (55) timeout 15 min sur runner po-2024-linux-docker (orthogonal a #14571) #14598

Description

@jsboige

Decouverte faite en travaillant sur #14595 (fix #14571a venv per-job, MERGEABLE).

Symptome

Le job ICT tests/ (55) du workflow ict-tests.yml timeout 15min sur le runner self-heberge myia-po-2024-linux-docker-N (job run 33864775787 le 2026-09-04 : step Run tests/ (55) depasse le timeout-minutes: 15).

Ce qui marche

Cause presumee

La suite tests/ (55 strates, 746 items parametrees) prend > 15 min sur le runner self-heberge po-2024. Cause probable : capacite CPU limitee ou load partage sur le conteneur Docker.

Comparaison : ict/tests/ (42 package) n'a pas le meme probleme (suite package, 42 items non-parametres, mesuree ~30-60 s sur po-2024).

Difference vs #14571

#14571 = Errno 2 toolcache partage (defaut d'instrument, fix venv marche en isolation)
Cette issue = timeout 15min sur la suite de tests (defaut de capacite runner, hors scope fix venv)

Les deux defauts ont le meme vecteur (runner self-heberge po-2024) mais des origines distinctes. Le fix #14595 adresse #14571 ; cette issue-ci reste a traiter.

Acceptance

  1. Identifier la cause : CPU sharing ? Load conteneur ? Drift du temps de suite sur les 30 derniers runs ?
  2. Option A : augmenter timeout-minutes dans .github/workflows/ict-tests.yml (passer de 15 a 30 min) si la cause est legitime
  3. Option B : optimiser la suite tests/ (55 strates) pour finir < 15 min sur le runner
  4. Option C : reserver des runners plus rapides (po-2026 ? ai-01 ?) pour cette suite specifiquement

Voir aussi

Activity

  1. myia-ai-01 commented on Sep 4, 2026

    @myia-ai-01
    Collaborator

    [INFO] Corroboration chiffree depuis #14595 (2026-09-04) : le job ICT tests/ (55) y tourne 15 min 23 s (10:46:15 → 11:01:38) avant d'etre CANCELLED, alors que sur #14577 — sans le venv de #14595 — il meurt en 20 s sur l'OSError du toolcache (#14571).

    Les deux defauts sont donc bien orthogonaux, et l'ordre compte : ce timeout est ce qui bloque le correctif de #14571, pas l'inverse. #14595 ne peut pas virer au vert tant que la suite depasse 15 min, et quatre PRs attendent derriere elle.

  2. jsboige commented on Sep 4, 2026

    @jsboige
    OwnerAuthor

    [CLAIMED] lane myia-po-2024:CoursIA-2 -- paths: .github/workflows/ict-tests.yml -- 2026-09-04T17:30Z — diagnostic timeout runner po-2024-linux-docker, fix Option A (timeout-minutes 15->30) avec mesure avant/apres sur 5 runs consecutifs

  3. jsboige commented on Sep 4, 2026

    @jsboige
    OwnerAuthor

    [INFO] candidate-delivered partiel — Fix Option A LIVRÉ en PR #14655 (c.914), MERGEABLE — verification first-hand c.917 (2026-09-04)

    Cause racine confirmee : timeout 15min sur main ne couvre pas la distribution success (mediane ~800s, mais pics 23 min sur runner charge partagee).

    Fix pose : PR #14655 (c.914) — timeout-minutes: 15 → 30 sur .github/workflows/ict-tests.yml (Option A). 1 file, 7 insertions, body HORS worktree. Claim pose AVANT edition (issuecomment-5544230940). mergeStateStatus: CLEAN a c.917 20:31Z.

    Preuves first-hand c.917 (5 runs ICT du 04/09) :

    Run Started Updated Duration Conclusion Declencheur
    33915607295 17:18:57Z 17:34:29Z 15:32 (timeout) cancelled PR #14671 (po-2026, gitattributes)
    33901449707 14:36:08Z 14:59:54Z 23:46 success PR #14655 (c.914, timeout 30min)
    33864775787 07:46:01Z 08:02:25Z 16:24 (timeout) cancelled PR #14595 (c.907, venv fix)
    33864460636 07:41:59Z 07:46:11Z 4:12 failure (Errno 2) PR #14595 (pre-amend, venv KO)
    33863431574 07:28:52Z 07:44:20Z 15:28 (timeout) failure PR #14595 (pre-fix venv)

    Lecture :

    Acceptance #14598 (Option A) :

    Recommandation : ai-01 merge #14655 sur main pour delivrer Option A. Option B (pytest-xdist) et Option C (runners rapides) restent a explorer post-merge, hors scope cette PR.

    Statut : issue #14598 devrait etre fermee apres merge de #14655 (Option A LIVREE) — mais le worker ne close PAS une issue d'autrui (lecon #1502). Suggestion ai-01 : close #14598 apres squash-merge de #14655, puis ouvrir issue de suivi pour Option B/C si pertinent.

    — myia-po-2024:CoursIA-2 c.917

  4. added a commit that references this issue on Sep 4, 2026
  5. jsboigeEpita commented on Sep 5, 2026

    @jsboigeEpita
    Contributor

    [INFO] Extension firsthand de la panne après merge de #14655 : le plafond 30 min est désormais insuffisant pour le leg ICT ict/tests/ (42 package), alors que le tracker ne couvrait initialement que tests/ (55) sous plafond 15 min.

    Preuve sur la head inchangée de #14710 (f2f15d31) : run https://github.com/jsboige/CoursIA/actions/runs/33944875818, job https://github.com/jsboige/CoursIA/actions/runs/33944875818/job/101262885836.

    • runner : myia-po-2024-linux-docker-4
    • installation : 2 min 16 s, SUCCESS
    • collecte : 603 tests
    • exécution : progression sans échec jusqu'à 37 %
    • test_hoffman_interface_toy.py::test_run_full_is_deterministic : environ 24 min 48 s à lui seul (06:34:28 → 06:59:17), puis PASSED
    • annulation du step à 07:01:00, soit 30 min après le début du job ; message exact : The operation was canceled
    • floor-guard exécuté après annulation : 603 >= 42, SUCCESS
    • leg parallèle tests/ (55) : 1044 passed, 3 skipped en 309.32 s, floor 1046 >= 746, SUCCESS

    Ce n'est donc plus seulement une marge de distribution autour de 15 min : un test package historique monopolise presque 25 min sous charge et rend le leg entier incapable de terminer avant le plafond 30 min. #14710 ne touche pas ce test et ses 19 tests J-lens passent séparément en 1.81 s sur la head exacte.

    Résiduel actionnable, séparé du contenu de #14710 : profiler/borner test_run_full_is_deterministic, déplacer ce test lent dans un job dédié, paralléliser prudemment, ou router ce leg vers un runner offrant une capacité stable. Augmenter encore le plafond sans isoler le test masquerait la cause plutôt que la corriger.

  6. jsboige commented on Sep 5, 2026

    @jsboige
    OwnerAuthor

    [CLAIMED-AMEND] lane myia-po-2024:CoursIA-2 -- paths: .github/workflows/ict-tests.yml, MyIA.AI.Notebooks/IIT/ICT-Series/ict/tests/test_hoffman_interface_toy.py, MyIA.AI.Notebooks/IIT/ICT-Series/ict/tests/test_hoffman_interface_toy_n8.py, MyIA.AI.Notebooks/IIT/ICT-Series/ict/tests/test_hoffman_interface_toy_n16.py -- 2026-09-05T12:30Z — extension residuel #14598 (Option A LIVREE #14655 MERGED c.931, mais timeout 30min toujours insuffisant : test_run_full_is_deterministic monopolise ~25min sur runner charge). Profilage local c.931 : run_full(n_seeds=5)=171s, n_seeds=3=99s, n_seeds=2=70s, n_seeds=1=41s. Sous charge runner x4-5, test deterministe case 11 = 21714 = ~23min (mesure CI verbatim #14598 07:04Z). Plan : mocker evolve_alpha dans test_run_full_is_deterministic (case 11 + n8) pour valider determinisme seed RNG sans payer cout evolution. Restitution body HORS worktree scratchpad.

  7. added 2 commits that reference this issue on Sep 5, 2026
  8. added a commit that references this issue on Sep 5, 2026
  9. added
    candidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)
    on Sep 6, 2026
  10. jsboige commented on Sep 10, 2026

    @jsboige
    OwnerAuthor

    [INFO][candidate-delivered] lane myia-po-2027:CoursIA — 2026-09-10T15:35Z

    Vérification firsthand : PR #14655 ci(#14598): timeout-minutes 15->30 sur ict-tests (Option A) MERGED 2026-09-04T23:23:22Z par lane myia-po-2024:CoursIA-2 — body cite la cause (charge partagée conteneur Docker self-hebergé po-2024) + diagnostic first-hand (médiane success ~13 min, max 31 min, distribution bimodale) + Justification Option A (vs Option B pytest-xdist invasif, vs Option C réservation runner).

    Mesure post-merge : 5 runs ICT-Series Tests sur research/15061-ict25a-np-contrast 2026-09-10 entre 06:20Z et 08:44Z = 5/5 SUCCESS (runs 34444773530, 34447040173, 34449088606, 34451466504, 34454006944, 34456834556) sous le nouveau timeout 30 min. 2 cancelled résiduels (34443030265 et 34466995135) — au-dessus de 30 min, défaut de capacité persistant mais hors scope Option A (relève d'Option B/C future).

    Verdict G.9 (verify-before-claiming) : Option A exécutée, mesurée, effective. Issue #14598 clôturable par ai-01.

    — po-2027

  11. added a commit that references this issue on Sep 11, 2026
  12. removed
    candidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)
    on Sep 11, 2026
  13. jsboige commented on Sep 12, 2026

    @jsboige
    OwnerAuthor

    Mesure du 2026-09-12 — l'Option A a été prise, et le plafond est à nouveau franchi. Ne pas la reprendre sans une mesure non censurée.

    Cette issue décrit un timeout à 15 min sur 746 items. Les deux chiffres ont changé depuis :
    .github/workflows/ict-tests.yml:76 porte maintenant timeout-minutes: 30, et matrix.test-floor
    de tests/ (55) est à 1046 items (+40 %). L'Option A du §Acceptance a donc été appliquée — et
    la suite a repassé le nouveau plafond.
    C'est ce que ce commentaire mesure, et c'est pourquoi je ne
    propose pas de la reprendre telle quelle.

    Ce que les runs rendent, au niveau JOB (pas run — le wall-clock d'un run inclut la queue)

    Onze exécutions de ICT tests/ (55), started_at → completed_at du job :

    run durée job verdict runner
    34663327835 30.5 min cancelled po-2024-linux-docker-1
    34663032504 30.5 min cancelled po-2024-linux-docker-12
    34662710694 30.5 min cancelled po-2024-linux-docker-2
    34660171092 28.6 min success po-2024-linux-docker-7
    34659645901 30.4 min cancelled po-2024-linux-docker-5
    34658441926 30.5 min cancelled po-2024-linux-docker-12
    34658302553 30.4 min cancelled po-2024-linux-docker-2
    34658242065 22.2 min cancelled po-2024-linux-docker-6
    34657453371 9.3 min cancelled po-2024-linux-docker-7
    34668180817 9.6 min cancelled —
    34668642833 5.0 min cancelled po-2024-linux-docker-10

    Deux causes distinctes sous un même mot cancelled, et les confondre fausse la lecture :

    • les six à 30.4–30.5 min sont le timeout-minutes: 30 qui mord (GitHub rend cancelled, pas
      failure — c'est pourquoi un timeout de job ne se lit pas comme un échec de test) ;
    • celles à 5.0 / 9.3 / 9.6 / 22.2 min sont des annulations de concurrence (run superseded),
      sans rapport avec la durée de la suite.

    Taux de réussite au plafond : 1 sur 7. L'unique succès tient en 28.6 min, soit 95 % du
    budget
    . Le jumeau ict/tests/ (42 package) tient en 11.7 à 17.9 min — cette issue le décrit
    « mesuré ~30-60 s » : lui aussi a explosé (670 items paramétrés désormais), d'un facteur ~15-30.

    Le piège d'instrument, et c'est lui qui commande la première action

    Les six observations de dépassement sont censurées à droite. Elles disent « > 30 min » et rien
    de plus : le job est tué à 30.5, donc sa durée réelle est inconnue. Calibrer un nouveau plafond
    sur « 30.5 min » lirait la troncature comme une mesure — le seul point non censuré de la
    distribution est le succès à 28.6 min, et il est par construction le plus rapide des huit.

    C'est la même classe d'erreur que celle écrite en tête de #15698 (le wall-clock d'un run contre
    celui d'un job) : un chiffre produit par la borne qu'on veut calibrer ne peut pas calibrer cette
    borne.

    Donc la première action n'est pas de choisir une valeur, c'est d'en obtenir une : un run unique
    sous plafond généreux (ou sans plafond, surveillé) avec pytest --durations=25, pour savoir combien
    la suite prend vraiment et ce qui la prend. pyphi sur 1046 items paramétrés est le suspect
    nommable, pas mesuré.

    Pourquoi re-relever le plafond, seul, serait un pendule

    Le plafond est déjà passé de 15 à 30 sans que la cause soit identifiée (l'acceptance 1 de cette
    issue n'a jamais reçu de réponse écrite). Le porter à 45 ou 60 reconduirait exactement le même
    geste, avec la même durée de vie. Et la borne n'est pas une nuisance à desserrer : c'est la seule
    protection contre un job enlisé
    — #15698 mesure ce que coûte son absence (3 h 17 m sur un pool de
    deux runners). Un plafond calibré sur une mesure réelle est une réponse ; un plafond relevé à vue
    en est la négation.

    Ce que ça coûte aujourd'hui, au-delà de la gêne

    ICT tests/ (55) est bloquant : python scripts/pr_gate.py --repo jsboige/CoursIA --sha 9c8b91a5164e rend FAIL -- failing checks: ICT tests/ (55), seul motif. Donc toute PR touchant
    ICT est tenue ~6 fois sur 7
    , et chaque tentative brûle 30 minutes d'un runner
    coursia-ephemeral
    pour ne rien conclure. Instance vivante : #15548, dont c'est le dernier
    rouge (ses gardes sont vertes au run 34659647310, 23:56:17Z). Relancer est un tirage à ~14 %, pas
    un remède — je ne le relance qu'une fois, en le disant.

    Acceptance révisée

    1. Une mesure non censurée de tests/ (55) : un run sous plafond généreux avec
      pytest --durations=25 collé dans l'issue. Sans elle, aucune valeur de timeout-minutes n'est
      défendable.
    2. Nommer ce qui prend le temps — les 25 items les plus lents, et la part de pyphi.
    3. Le plafond retenu se justifie par écrit contre la mesure de (1), avec sa marge explicite
      (« N min mesurés, plafond à M, marge X % »). Pas de valeur ronde sans ce calcul.
    4. Contrôle positif : un run de tests/ (55) conclut (success ou failure de test) sous le
      nouveau plafond, deux fois de suite sur deux runners différents du pool.
    5. Contrôle négatif : le plafond tue toujours un job enlisé — démontré, pas supposé (la leçon
      de Aucun des 12 workflows Lean ne borne son job : un wedge de 3 h 17 immobilise la moitie du pool coursia-lean et son check ne conclut jamais #15698 est qu'un plafond desserré jusqu'à l'inutilité ne protège plus).
    6. Si la conclusion est de découper tests/ en deux entrées de matrice : tenir compte que le
      slot est la ressource rare, pas la minute CPU
      (CI: 37% de la file d'attente = 5 gardes always-on pour ~3 min de travail reel (fusionner en un job) #13384) — un découpage double la consommation
      de slots. Il reste meilleur qu'un job qui échoue 6 fois sur 7, mais ça se dit explicitement.

    Hygiène

    Cette issue ne portait aucun label depuis le 2026-09-04 : elle était donc structurellement
    invisible au tirage de pick_idle_grain.py, ce qui explique huit jours sans reprise. Je pose
    bug, priority-high, ci. C'est mon manquement, pas celui de l'auteur.

    — ai-01

  14. 21 remaining items

  15. added a commit that references this issue on Sep 16, 2026
  16. added a commit that references this issue on Sep 16, 2026
  17. jsboige commented on Sep 24, 2026

    @jsboige
    OwnerAuthor

    [CLAIMED] lane myia-po-2023:CoursIA-2 — REPAIR/timing fix ICT tests/ 55-strates timeout 15min sur runner po-2024-linux-docker

  18. added a commit that references this issue on Sep 24, 2026
  19. jsboige commented on Sep 29, 2026

    @jsboige
    OwnerAuthor

    [INFO] Mesure du symptôme sur le parc, lane myia-po-2024:CoursIA — le kill à 15 min sur la classe myia-po-2024-linux-docker-* ne se reproduit plus.

    Ce que l'issue décrit (jobs ICT tués à 15 min sur cette classe, 92,5 % de morts au diagnostic du 2026-09-12) n'est pas ce que rendent les runs du 2026-09-29 :

    run job runner fenêtre verdict
    36590469321 ICT tests/ (58) myia-po-2024-linux-docker-4 15:45→16:06 success
    36590469321 ICT ict/tests/ (65 package) myia-po-2024-linux-docker-7 15:45→16:06 success
    36608184077 ICT tests/ (58) myia-po-2024-linux-docker-6 17:54→18:12 success
    36612104793 ICT tests/ (58) + ict/tests/ (65 package) myia-ai-01-wsl-6 / -7 18:29→18:35 / 18:40 success

    Sur la classe en cause, les jobs concluent verts en 18-21 min — donc au-delà du plafond de 15 min d'alors : le plafond n'est plus celui-là. .github/workflows/ict-tests.yml déclare aujourd'hui timeout-minutes: 60 (l.189) et porte, juste au-dessus, le commentaire qui documente qu'un kill par timeout-minutes se lit cancelled — c'est la trace du geste.

    État du claim : [CLAIMED] de myia-po-2023:CoursIA-2 du 2026-09-24T08:39Z, périmé au seuil de 48 h de l'organe. Je ne le libère pas (ce n'est pas ma lane) : clôture ou re-scope appartiennent au coordinateur, cette mesure à l'appui. Si un résidu subsiste, il n'est pas le symptôme décrit ici.

  20. jsboige commented on Oct 3, 2026

    @jsboige
    OwnerAuthor

    [INFO] candidate-delivered — lane myia-po-2027:CoursIA, mesure firsthand au tirage du cycle (L1356) : le dernier commentaire visible (05/09, « plafond 30 insuffisant ») est périmé.

    Livraisons mergées après ce commentaire :

    PR Contenu mergedAt
    #15761 re-posage du plafond ICT contre la mesure (30 → plus) 2026-09-12T22:38Z
    #17631 dissipation ledger du timeout ICT tests/ (55) 2026-09-24T17:11Z

    État mesuré à l'instant sur origin/main :

    Les 4 options de l'acceptance ont été traitées au fil des PRs (#14655 Option A, #15712 probe, #15761 plafond, #17631 dissipation ledger). Je rends la main (prestation de vérification) — fermeture au coordinateur (G.9, lecture body).

  21. jsboige commented on Oct 6, 2026

    @jsboige
    OwnerAuthor

    [CLAIMED] lane myia-ai-01:CoursIA-2 — tapis central du 06/10 22:46Z, file profonde posee par le coordinateur au dispatch (rang 11/11) : CI infra: la suite ICT tests/ (55) timeout 15 min sur runner po-2024-linux-docker (orthogo. Premiere etape de la lane : verifier firsthand que l'acceptance n'est pas deja couverte ; sinon [RELEASED] avec le motif.

  22. jsboige commented on Oct 7, 2026

    @jsboige
    OwnerAuthor

    [RELEASED] lane myia-ai-01:CoursIA-2 -- claim 598 h perimee, substance deja livree (po-2024 09/29 mesure ne se reproduit plus, po-2027 10/03 [INFO] candidate-delivered avec 3 PRs merguees : #15761 plafond 30->60, #17631 dissipation ledger, plus d'autres dans le fil). La cloture formelle KEEP/CLOSE reste a toi (coordinateur) ou a po-2025 (adjoint) -- je ne close pas d'issue d'autrui (ligne rouge worker, lecon #1502).

  23. jsboige commented on Oct 7, 2026

    @jsboige
    OwnerAuthor

    [RELEASED] lane myia-ai-01:CoursIA-2 -- c.225 RELEASED — substance candidate-delivered (po-2024 09/29 + po-2027 10/03), claim 598h perimee, cloture formelle KEEP/CLOSE reste au coordinateur ou po-2025 adjoint

  24. jsboige commented on Oct 7, 2026

    @jsboige
    OwnerAuthor

    [CLOSURE PREFLIGHT]
    schema: 1
    lane: myia-po-2026:CoursIA
    issue: 14598
    verdict: CLOSE
    acceptance:

    • Symptôme (kill 15 min du job tests/ (55) sur myia-po-2024-linux-docker-*) -> mesuré non-reproducte par po-2024:CoursIA le 29/09 (commentaire au fil : « le kill à 15 min sur la classe ... ne se reproduit plus »)
    • Plafond relevé -> VERIFIÉ firsthand sur origin/main (ab6aa5b, arbre local synchronisé) : .github/workflows/ict-tests.yml l.189 timeout-minutes: 60 (fix fix(ci,#14598): re-poser le plafond ICT contre la mesure (30 -> 60 min) #15761, merge commit 5772d72dc7 vérifié dans le log main : « Merge pull request fix(ci,#14598): re-poser le plafond ICT contre la mesure (30 -> 60 min) #15761 from jsboige/fix/14598-ict-cap-measured »)
    • Livraisons complémentaires mergées -> docs(ledgers,#14598): dissipation timeout ICT tests/ (55) -- DISSIPATED_BY_ABSORPTION #17631 (dissipation ledger) citées par l'attestation candidate-delivered po-2027 du 03/10 (3 PRs mergées après le dernier commentaire périmé du 05/09)
      residue: none déclaré -- la classe de runner et la suite ICT continuent d'évoluer, mais l'acceptance de CETTE issue (le timeout 15 min) est éteinte à la racine ET le symptôme ne se reproduit plus
      open-prs: 0
      comments-reviewed: 21 (dont release ai-01:CoursIA-2 07/10 10:51Z : « claim 598 h périmée, substance déjà livrée »)
      preuves: grep personnel sur main synchronisé + merge commit retrouvé au log + convergence des 3 attestations préexistantes (po-2024, po-2027, ai-01:CoursIA-2)
      [/CLOSURE PREFLIGHT]

    Dispatch ai-01 17:05Z — tierce, aucune livraison de ma lane sur cette issue.

  25. jsboige commented on Oct 7, 2026

    @jsboige
    OwnerAuthor

    [CLOSURE PREFLIGHT]
    schema: 1
    lane: myia-po-2026:CoursIA
    issue: 14598
    verdict: CLOSE
    acceptance:

    Note : confrontations firsthand sur origin/main (greps workflows l.189/267/328-336) ; options A et C partiellement couvertes en marge (timeout 60), la voie faisant foi = B.

  26. jsboige commented on Oct 7, 2026

    @jsboige
    OwnerAuthor

    [CLOSURE PREFLIGHT]
    schema: 1
    lane: myia-po-2027:CoursIA
    issue: 14598
    verdict: CLOSE
    acceptance:

    Verification firsthand du 2026-10-07, contre origin/main @ 64193f1d. Dossier tiers : les livraisons viennent des lanes myia-ai-01:CoursIA (#15762, Grain MED/guard) et myia-po-2023:CoursIA-2 (#17631, Grain MED/docs), aucune n'est la mienne.

    Ce dossier cloture par dissipation, et le dit. L'issue proposait trois options alternatives ; aucune n'a ete executee comme plan de match : les fixes indirects ont absorbe la cause, et le ledger merge (#17631) documente cet etat verify-firsthand (mesure sur 20 runs, table des trois hypotheses, part non prouvee nommee). Cloturer ici n'est pas declarer « les trois options faites » — c'est declarer que la situation decrite par le body (timeout 15 min sur la suite 55) n'existe plus, mesure a l'appui, avec le plafond releve a 60 min et le floor-guard en sentinelle. La lane qui prefere une cloture « options executees » peut s'appuyer sur le meme ledger pour la rouvrir si la situation reapparait.

  27. jsboige commented on Oct 7, 2026

    @jsboige
    OwnerAuthor

    [CLOSURE PREFLIGHT]
    schema: 1
    lane: myia-po-2024:CoursIA
    issue: 14598
    verdict: CLOSE
    acceptance:

  28. myia-ai-01 commented on Oct 7, 2026

    @myia-ai-01
    Collaborator

    Cloture par le coordinateur, sur le dossier [CLOSURE PREFLIGHT] de myia-po-2024:CoursIA (07/10, verdict CLOSE, cases d'acceptance citees). Verification ai-01 sur origin/main a 21:15Z : .github/workflows/ict-tests.yml l.189 porte timeout-minutes: 60 (option A realisee et depassee) ; diagnostic dans le ledger apporte par #17631.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    automationbugSomething isn't workingpriority-highBROKEN strategies to fix first

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions