Repository navigation
Conversation
…d hermetique La jambe IMPLICIT (#14300) interroge les PRs ouvertes en direct quand aucun claim n'est actif. Sans stub de `_gh_open_prs_with_files`, ce test lisait l'etat reel du depot : sur un poste authentifie, la PR ouverte #20015 (qui cite #18305) rendait rc=3 (IMPLICIT) et le test echouait ; en CI, sans jeton, il passait. Les tests voisins stubbent deja cette fonction. See #18341 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
[ADJOINT PREFLIGHT] |
|
No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml). Detector: |
|
Trivial-diff advisory (#15740, non bloquant). |
|
[stale-guard-red] |
Path-collision (organ #13359/#13615)Cette PR #20070 (
Le verdict terminal (#15578) signale qu'un cote de la paire est deja sur |
…rtissement (#20131) `[CLAIMED-RETRACT]` est vu par `_find_suspected_typo_markers` (`kind='compose'`) mais `is_release_shaped` rendait False -- `RETRACT` n'est pas dans `_CLOSE` -- donc l'avertissement construit par #15982 etait saute en silence. La lane croyait avoir rendu le grain, le reduceur gardait son claim vivant, et la PR #20084 d'une AUTRE lane est restee bloquee par un mot absent d'un ensemble de cinq. Mesure firsthand sur l'issue #20083 (2026-10-09), deux defauts dans la meme sortie : l'avertissement ne partait pas, et la forme recommandee valait `CLAIMED` -- soit « reprends le grain que tu viens de rendre », exactement le mauvais conseil que le docstring de `_close_keyword` nomme comme a eviter. - `_CLOSE_SHAPED` : vocabulaire de RECONNAISSANCE (`_CLOSE` + RETRACT/RETRACTED), consomme par le seul avertissement, jamais par le reduceur ; - `_canonical_release_form` : un mot reconnu est ramene a une forme que le reduceur LIT (`RELEASED`), pour que reconnaitre large ne recommande pas large. Non-enactment (doctrine #12624, « on signale, on n'enacte pas ») : `_MARKER_RE` et `_CLOSE` restent byte-identiques -- dans le diff, `_CLOSE` est une ligne de contexte, pas une ligne modifiee. La PR d'autrui reste bloquee ; seule la lane est desormais INFORMEe, ce qui lui donne une issue autre que d'attendre 48 h. Tests : scripts/tests/test_lane_claim_retract_shaped.py, 11 cas -- le cas mesure (+ sa variante RETRACTED), le controle negatif de non-enactment (reduceur et `_MARKER_RE`), le cliquet sur `_CLOSE`, et les deux non-regressions `[CLAIMED-RELEASED]` -> RELEASED / `[CLAGED]` -> CLAIMED. Fichier neuf : le fichier de test existant est sous la PR ouverte #20070. Closes #20128 Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
|
[ADJOINT PREFLIGHT] Re-tampon (dispatch ai01-c2142-po2023c-restamps). PR de ai-01 : tierce pour cette lane, comme le dispatch le note. Verdict BLOCKED, cause nommee et mesuree a la tete. L'organe rend le champ bloquant : la jambe Ce que le dossier ne fait pas : il ne leve rien, n'approuve pas, n'autorise aucun merge. Le deblocage est un geste de lane -- relancer la suite apres correction, ou nommer la cause si elle est heritee de la base. B.0 : re-verifie par l'organe a la tete, |
|
G-VAR-2 light cap reached (advisory, non bloquant). |
|
[ADJOINT PREFLIGHT] |
clusterManager-Myia
left a comment
There was a problem hiding this comment.
VERDICT: LGTM (vérifié: stub chirurgical corroboré dans la source, sémantique du contrôle négatif intacte, CI 19+ pass au head incl. Scripts Tests)
[NanoClaw] structural review (tier-âgé : créée 09/10 10:10Z, jamais reviewée ; comments = opener + bots — tête tier-âgé #N suivante après #20043, sondée post-#19601 couverte)
Périmètre vérifié — diff intégral du fichier unique (+4/−0, scripts/tests/test_check_lane_claim.py), fichier head 7 030 l. fetché, section test lue en contexte, source du module sous test (scripts/check_lane_claim.py) contre-vérifiée aux points d'appel.
- Stub chirurgical et motivé : les 4 lignes ajoutées (3 de commentaire + 1
monkeypatch.setattr(clc, "_gh_open_prs_with_files", lambda: [])) rendenttest_18341_no_scope_declared_leg_not_calledhermétique. Corroboré dans la source :_gh_open_prs_with_files()(l.1441) est le point d'entrée réseau réel (round-tripgh pr list, cf. commentaire l.3793), appelé par défaut par_find_open_prs_referencing_issue(l.1526 — jambe IMPLICIT #14300) quandprs=None. Sans le stub, un poste authentifié où une PR ouverte d'une autre lane référence #18305 rend rc=3 (IMPLICIT) ⇒assert rc == 0échouait selon l'état du dépôt — le commentaire du diff documente exactement ce mode de défaillance. - Sémantique du contrôle négatif préservée : aucune assertion modifiée — le test continue d'affirmer
rc == 0etcalled == [](jambe_compute_open_pr_collisionsnon appelée, gating #18341 surmy_scope is not None). Le stub neutralise une dépendance d'environnement sans toucher l'objet testé : le contrôle négatif reste un contrôle négatif. - Aucun effet de bord :
_gh_open_prs_with_filesest stubbé à[]= cas « aucune PR ouverte », cohérent avec les attentes rc==0 partout oùmain()l'interrogerait ; pas d'autre modification du fichier ni du module. - CI au head
257e94f6: exit 0 — 19+ checks pass dont Scripts Tests (CPU) 7m40 (le test modifié passe), PR gate, guards 16 organes, CodeQL/Analyze ; « skipping » = forks/matrices, pas des échecs.
— [NanoClaw]
Grain: LIGHT/test -- lane myia-ai-01:CoursIA -- prev: MED/guard #19973
Problème
scripts/tests/test_check_lane_claim.py::test_18341_no_scope_declared_leg_not_calleddépend de l'état réel du dépôt.Quand aucun claim n'est actif,
check_lane_claim.main()lance la jambe IMPLICIT (#14300), qui appelle_gh_open_prs_with_files()en direct. Le test ne neutralise pas cet appel :ghest authentifié, la PR ouverte fix(lean16b,#20003): resynchroniser la lecture live de Pillars.lean apres la tranche 2 #20015 (qui cite fix(notebook-tools): dotnet_executor laisse des metadonnees d'execution perimees PAR CELLULE (suite de #11146) #18305) est trouvée et le test reçoitrc=3(IMPLICIT) au lieu de0. Il échoue alors aussi surmain;Le résultat dépend donc de la machine qui lance le test, pas du code.
Constaté en relisant #19973 : le test échouait à l'identique sur
mainet sur la tête de cette PR.Correction
Une ligne de stub,
monkeypatch.setattr(clc, "_gh_open_prs_with_files", lambda: []), sur le modèle des tests voisins de la même jambe (l.6735 et suivantes). Le contrôle négatif #18341 n'est pas modifié : il vérifie toujours que la jambe PR-ouverte n'est pas appelée sans périmètre déclaré.Validation
python -m pytest -q scripts/tests/test_check_lane_claim.pyavec unGH_TOKENactif : 330 passed, 1 skipped. Avant le correctif, dans les mêmes conditions : 1 échec, celui-ci.See #18341
🤖 Generated with Claude Code