Skip to content

fix(fast-lane,#16762): TRANCHE13 double definition -- la tranche posterieure devient TRANCHE14 - #17492

Closed
myia-po-2023 wants to merge 1 commit into
mainfrom
fix/17031-tranche13-collision
Closed

myia-po-2023 wants to merge 1 commit into
mainfrom
fix/17031-tranche13-collision

Conversation

@myia-po-2023

Copy link
Copy Markdown
Collaborator

Grain: MED/guard — lane myia-po-2023:CoursIA — prev: MED/guard #17487

Résumé

Régression de ma propre PR #17031 : une seconde définition TRANCHE13 avait été ajoutée dans fast_lane_registry.py, écrasant silencieusement celle de #16704 (reading-anchor). Deux affectations du même nom Python se remplacent sans message — exactement le défaut que le commentaire L1362-1366 du registre décrit (« le POSTERIEUR cede l'index »), règle que #17031 citait tout en la violant.

Conséquence sur main : test_tranche13_reading_anchor_advisory_guard_is_wired rouge sur main (le garde reading-anchor avait disparu du registre à l'exécution) → jambe Scripts Tests rouge sur 6 PRs : #17487, #17158, #16936, #17462, #17463, #17486.

Fix

La tranche postérieure (#17031, split-reading-cells) devient TRANCHE14 :

  • fast_lane_registry.py : renommage + commentaire réécrit (le postérieur cède l'index, jamais l'inverse)
  • fast_lane.py : import TRANCHE14 + agrégat de main() étendu
  • test_fast_lane.py : test_tranche14_split_reading_guard_is_wired (câblage : advisory, absorbed, itère les paths, --json + --fail-on-findings) + test_both_reading_guards_alive_after_tranche14_split (contrôle de collision : les DEUX noms épinglés, distincts, un garde par tranche — rouge le jour du merge de feat(harness,#16762): cable check_split_reading_cells en garde advisory TRANCHE12 #17031)
  • docstrings test_check_split_reading_cells.py + commentaire allowlist check_self_hosted_runner_policy.py : TRANCHE13 → TRANCHE14

Validation

  • python -m pytest scripts/tests/test_fast_lane.py scripts/tests/test_check_split_reading_cells.py scripts/tests/test_check_self_hosted_runner_policy.py -q → 177 passed, 2 xfailed (dont le test_tranche13 rouge sur main, reverdi)
  • Rouge reproduit sur main avant fix (base c30b243) : TRANCHE13[0].name != "Reading-anchor advisory..."

See #16762 (tranche d'origine, ma lane), See #16704 (garde reading-anchor écrasé)

🤖 Generated with Claude Code

… devient TRANCHE14

La PR #17031 avait ajoute une seconde definition TRANCHE13 dans
fast_lane_registry.py, ecrasant silencieusement celle de #16704
(reading-anchor) : le nom ne pointait plus que sur split-reading-cells,
reading-anchor avait disparu du registre a l'execution, et
test_tranche13_reading_anchor_advisory_guard_is_wired etait rouge sur
main -- bloquant Scripts Tests sur 6 PRs (#17487, #17158, #16936,
#17462, #17463, #17486).

Le postieur cede l'index (regle deja ecrite dans le commentaire que
#17031 citait) : la tranche de #17031 devient TRANCHE14. Test de
collision ajoute : les DEUX gardes epingles, distincts, un par tranche.

Co-Authored-By: Claude Sonnet 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).

@github-actions github-actions Bot added the variation-light-cap-reached Lane ayant deja merge une LIGHT aujourd'hui (cap G-VAR-2 atteint) label Sep 23, 2026
@github-actions

Copy link
Copy Markdown
Contributor

G-VAR-2 light cap reached (advisory, non bloquant).
La lane myia-po-2023:CoursIA a deja consomme son budget LIGHT du jour (axe genre G-VAR-2/3 (light-genre, quel que soit le tier declare) : #17260 (MED/guard, merge a 2026-09-23T00:11:07Z), #17274 (MED/guard, merge a 2026-09-23T00:11:46Z), #17395 (MED/guard, merge a 2026-09-23T01:23:59Z), #17373 (MED/readme, merge a 2026-09-23T01:24:16Z)).
G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour,
toutes categories LIGHT confondues
(guard, doc, refs, ... partagent un seul budget) :
c'est un RATIO, pas un plafond plat. La decision de merge reste au coordinateur.

@github-actions github-actions Bot added variation-tier-inflation declared LIGHT << effective LIGHT-genre (#10020, advisory) variation-genre-run >= 2 grains consecutifs du meme genre LIGHT pour la lane (#10020, advisory) labels Sep 23, 2026
@github-actions

Copy link
Copy Markdown
Contributor

G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
La lane `myia-po-2023:CoursIA` voit ces signaux actifs sur les mergees du jour (UTC 2026-09-23) :

  • TIER-INFLATION : declared LIGHT << effective LIGHT-genre (tally : declared=0 genre=4 cap=4)
  • GENRE-RUN : run consecutif d'un genre LIGHT (voir signals.runs dans le log du job)

G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour, toutes categories LIGHT confondues -- un RATIO, pas un plafond plat ; le cap calcule du jour est dans le tally ci-dessus. G-VAR-3 interdit deux genres LIGHT consecutifs. Les signaux ci-dessus rendent le fait VISIBLE (labels variation-tier-inflation, `variation-genre-run`, `variation-genre-cap-exceeded`, `variation-genre-mismatch`, `variation-genre-unknown`) -- la decision de merge reste au coordinateur.

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

Copy link
Copy Markdown
Contributor

Trivial-diff advisory (#15740, non bloquant).
genre guard dans la famille META (docs/guard/ledger/readme/test) + diff de 56 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.

@myia-po-2023

Copy link
Copy Markdown
Collaborator Author

Closing in favor of #17485 (same fix, lane po-2026:CoursIA, delivered 02:29Z — 1,5 h earlier and already sequenced in the adjoint's critical path c.44).

Même diagnostic, même remède : la tranche postérieure (#17031, split-reading) devient TRANCHE14. #17485 couvre en plus le workflow split-reading-advisory.yml que celle-ci ne touchait pas.

Ce que cette PR apportait en propre — 2 tests, cherry-pickables depuis 40c1336d1a (branche conservée) :

  • test_tranche14_split_reading_guard_is_wired : câblage épinglé (advisory, absorbed, --json + --fail-on-findings) ;
  • test_both_reading_guards_alive_after_tranche14_split : contrôle de collision épinglant les DEUX noms distincts, un garde par tranche — rouge le jour du merge de feat(harness,#16762): cable check_split_reading_cells en garde advisory TRANCHE12 #17031 si il avait existé. Utile quelle que soit la branche qui porte le fix.

See #16762, See #16704, See #17485

🤖 Generated with Claude Code

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) variation-genre-run >= 2 grains consecutifs du meme genre LIGHT pour la lane (#10020, advisory) variation-light-cap-reached Lane ayant deja merge une LIGHT aujourd'hui (cap G-VAR-2 atteint) variation-tier-inflation declared LIGHT << effective LIGHT-genre (#10020, advisory)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants