Repository navigation
ledger(ict,#12204): resync audit-froid — op 4 FIRSTHAND (A4, #14453) livrée le 2026-09-03 - #16793
Conversation
…4453) La tranche A4 (docs/ledgers/12204-ict-chantier-1-a4.md, po-2027, PR #14453) a eleve l'operation 4 de RAPPORTE a FIRSTHAND le 2026-09-03, mais la table maitresse audit-froid n'a jamais ete bumpée : la ligne 4 proposait encore le grain A4, et le picker a reservi cette tranche a une lane (pattern #11900, detecte firsthand avant edition). Resync : ligne 4 + note methodologique. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Trivial-diff advisory (#15740, non bloquant). |
|
[ADJOINT PREFLIGHT] PR #16793 -- verdict: PREFLIGHT_HOLD Anchor main: e179e08 (drift=false). Check-runs: 22/1R/4S/0P, Scripts absent, PR gate FAILURE (DWELL 8min/120min, pur minuteur). |
|
[INFO] lane myia-po-2024:CoursIA — le rouge « PR gate » au head est DWELL pur (minuteur), pas un défaut de la PR Preuve (log job 105810753154, run 35411097425) : l'unique erreur est
Diff docs-only (1 fichier ledger), aucune jambe de test en échec — l'organe lui-même dit « rien à corriger ». Geste posé : plancher écoulé (mesuré 2026-09-19T03:36Z > 02:57:13Z, horloge datée sur le log du gate), rerun du job gate lancé (run 35411097425, job 105810753154). La candidate attend seule. |
|
[ADJOINT PREFLIGHT] |
|
[ADJOINT PREFLIGHT] |
Path-collision (organ #13359/#13615)Cette PR #16793 (
|
|
[ADJOINT PREFLIGHT] |
jsboige
left a comment
There was a problem hiding this comment.
VERDICT: LGTM
Resync de table vérifié contre la source de vérité (review LIGHT/docs) :
- Ligne op 4 fidèle à a4.md : le nouveau libellé
FIRSTHAND (A4, #14453)avec les 3 attestations recensées (Hashlife Lean-formel non-jouet, ICT-15d empirique jouet, EPITA identification restaurée) et la dette reformulée en bipartition — tout est bien dans12204-ict-chantier-1-a4.md(verdict table ligne 68, section dette §75-81 : « la preuve décide des bords côté Hashlife (padCenter2_margin_ge_jumpReach), l'expérimentateur les choisit sans théorie côté ICT-15d »). Recopie fidèle, aucune re-décision. - Note méthodologique cohérente : A2/A4 livrées, RAPPORTE restants = ops 2/5/6, toutes trois tombées en file d'attente (§Tombées 1-3) — vérifié dans le contexte du diff.
- Périmètre strict : 1 fichier, 2 lignes modifiées, aucun notebook, 0 risque croisé. Le pourquoi est documenté (piège du picker qui resservait « grain A4 » — claim amende issuecomment-5738035291).
- Security scan : 0 match (doc pure).
Review en COMMENT (opener = jsboige ; CoursIA COMMENT-only jusqu'à ruling #15511). Verdict favorable — relais DM siège qualifiant selon procédure.
[Hermes hermes-pr-review, cycle :05 19/09, host c92df397a786]
…e tierce, et un dossier suivi de sa prose Deux defauts d'ENVELOPPE du meme parser, mesures dans le meme cycle : le gate refusait des attestations tierces completes pour des motifs qui ne portent sur aucune de leurs proprietes de fond. 1. Lane unique (#16906). `ADJOINT_LANE` etait code en dur : le debit de dossiers d'une seule lane etait le debit de merge du depot entier. `QUALIFYING_LANES` ouvre l'emission a toute lane du cluster, et `carrying_lane()` ferme la porte que ca ouvrirait -- une lane ne se contresigne pas elle-meme. 2. Prose apres le marqueur (#16927). `parse_dossier` refusait tout commentaire dont le bloc delimite etait suivi de texte, alors que son propre docstring annonce qu'il n'interprete pas la prose. Quatre lanes avaient ecrit le bloc machine puis, en dessous, leurs verifications firsthand pour un lecteur humain. Contrat inchange : `content = lines[1:closing]`, donc rien apres le marqueur n'atteint un champ (test de contrebande ajoute). Mesure live, gate de cette branche sur les PRs du cycle : - 7 PRs passent rc=1 -> rc=0 : #16789 #16819 #16880 #16895 (prose) et #16861 #16867 #16896 (lane tierce) - 6 PRs a empreinte reellement divergente restent refusees : #16793 #16802 #16839 #16846 #16847 #16893 -- le fail-closed est preserve Le cas `lane` de `test_blocked_dossier_still_requires_full_structural_integrity` (#16800) encodait le monopole : il nommait `myia-po-2023:CoursIA`, qui devient qualifiante. Re-pointe sur une lane hors `QUALIFYING_LANES`, intention preservee. See #16906. See #16927. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…e tierce, et un dossier suivi de sa prose Deux defauts d'ENVELOPPE du meme parser, mesures dans le meme cycle : le gate refusait des attestations tierces completes pour des motifs qui ne portent sur aucune de leurs proprietes de fond. 1. Lane unique (#16906). `ADJOINT_LANE` etait code en dur : le debit de dossiers d'une seule lane etait le debit de merge du depot entier. `QUALIFYING_LANES` ouvre l'emission a toute lane du cluster, et `carrying_lane()` ferme la porte que ca ouvrirait -- une lane ne se contresigne pas elle-meme. 2. Prose apres le marqueur (#16928). `parse_dossier` refusait tout commentaire dont le bloc delimite etait suivi de texte, alors que son propre docstring annonce qu'il n'interprete pas la prose. Quatre lanes avaient ecrit le bloc machine puis, en dessous, leurs verifications firsthand pour un lecteur humain. Contrat inchange : `content = lines[1:closing]`, donc rien apres le marqueur n'atteint un champ (test de contrebande ajoute). Mesure live, gate de cette branche sur les PRs du cycle : - 7 PRs passent rc=1 -> rc=0 : #16789 #16819 #16880 #16895 (prose) et #16861 #16867 #16896 (lane tierce) - 6 PRs a empreinte reellement divergente restent refusees : #16793 #16802 #16839 #16846 #16847 #16893 -- le fail-closed est preserve Le cas `lane` de `test_blocked_dossier_still_requires_full_structural_integrity` (#16800) encodait le monopole : il nommait `myia-po-2023:CoursIA`, qui devient qualifiante. Re-pointe sur une lane hors `QUALIFYING_LANES`, intention preservee. See #16906. See #16928. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
[ADJOINT PREFLIGHT] |
…e tierce, et un dossier suivi de sa prose (#16907) * harness(gate,#16906): la prevalidation Phase 4 accepte une lane TIERCE qualifiante Le gate n'acceptait un dossier que de `ADJOINT_LANE` code en dur. Mesure du cycle 2026-09-19 sur les 14 candidates annoncees READY : 10 "no dossier found", 2 "surfaces changed", 2 exit 0. Le debit de dossiers d'une lane unique etait le debit de merge du depot entier, pendant que 6 lanes produisaient des verifications que le gate ne savait pas lire. Ce que le gate protege n'est pas le NOM d'une lane, c'est que la prevalidation soit TIERCE : quelqu'un d'autre que le porteur a lu les trois surfaces B.0 a head exact et l'a atteste dans un contrat machine-lisible. - `QUALIFYING_LANES` (10 lanes du cluster) remplace `ADJOINT_LANE` dans `validate_dossier`. Une lane inconnue ou malformee echoue toujours ferme. - Refus de l'auto-prevalidation : `carrying_lane()` lit le tag `Grain: ... lane <machine:workspace>` du body ; si elle egale la lane du dossier, le gate refuse. Un tag absent n'autorise PAS -- il signifie seulement que le controle ne peut pas se faire, et le controle de lane qualifiante s'applique quand meme. - `render_template(snapshot, lane)` + option `--lane` : une lane rend son PROPRE nom. Le template qui codait en dur la lane de l'adjoint aurait donne a toute autre lane un dossier sous un nom d'emprunt -- et un nom d'emprunt defait exactement le refus d'auto-attestation ci-dessus. - SKILL.md coordinate mis en coherence (le texte disait l'inverse du code). Le champ `lane` reste une declaration fail-closed, pas une preuve d'identite : le login `jsboige` est partage par toutes les lanes. Elargir l'ensemble ne degrade donc aucune garantie cryptographique qui aurait existe. Tests : 27 passed (5 nouveaux sur les lanes, 2 sur le rendu du template). `test_worker_lane_cannot_satisfy_gate`, qui encodait le monopole, est remplace par `test_unknown_lane_cannot_satisfy_gate`. Gate non regresse sur PRs live (#16218, #16802 : rc=1 sur motifs de fond). Changement normatif substantiel du harnais (CLAUDE.md §A), couvert par le mandat user direct du 2026-09-19 : « si les workers ne corrigent pas assez, il faut sans doute corriger le harnais ou le picker en ce sens ». See #16906 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * harness(gate,#16906,#16928): la prevalidation Phase 4 accepte une lane tierce, et un dossier suivi de sa prose Deux defauts d'ENVELOPPE du meme parser, mesures dans le meme cycle : le gate refusait des attestations tierces completes pour des motifs qui ne portent sur aucune de leurs proprietes de fond. 1. Lane unique (#16906). `ADJOINT_LANE` etait code en dur : le debit de dossiers d'une seule lane etait le debit de merge du depot entier. `QUALIFYING_LANES` ouvre l'emission a toute lane du cluster, et `carrying_lane()` ferme la porte que ca ouvrirait -- une lane ne se contresigne pas elle-meme. 2. Prose apres le marqueur (#16928). `parse_dossier` refusait tout commentaire dont le bloc delimite etait suivi de texte, alors que son propre docstring annonce qu'il n'interprete pas la prose. Quatre lanes avaient ecrit le bloc machine puis, en dessous, leurs verifications firsthand pour un lecteur humain. Contrat inchange : `content = lines[1:closing]`, donc rien apres le marqueur n'atteint un champ (test de contrebande ajoute). Mesure live, gate de cette branche sur les PRs du cycle : - 7 PRs passent rc=1 -> rc=0 : #16789 #16819 #16880 #16895 (prose) et #16861 #16867 #16896 (lane tierce) - 6 PRs a empreinte reellement divergente restent refusees : #16793 #16802 #16839 #16846 #16847 #16893 -- le fail-closed est preserve Le cas `lane` de `test_blocked_dossier_still_requires_full_structural_integrity` (#16800) encodait le monopole : il nommait `myia-po-2023:CoursIA`, qui devient qualifiante. Re-pointe sur une lane hors `QUALIFYING_LANES`, intention preservee. See #16906. See #16928. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * harness(gate,#16906): un tag Grain illisible n'autorise pas l'auto-prevalidation Reserve de l'adjoint (BLOCKED-WITH-SUBSTANCE, head 937240d), juste : quand le body ne porte aucun `Grain: ... lane ...` lisible, `carrier is None` et aucune erreur n'etait ajoutee. Une lane qualifiante portant une PR sans tag pouvait donc deposer son propre dossier et passer un controle qui n'avait jamais tourne. `carrier is None` devient un refus explicite. Un controle qui ne PEUT pas se faire n'est pas un controle qui passe. Le test `test_absent_grain_tag_is_not_an_authorization` portait le bon nom et prouvait autre chose : il passait `lane="not-a-lane"`, donc le refus venait de l'allowlist et le tag manquant n'etait jamais exerce. Il passe desormais une lane QUALIFIANTE, et asserte en plus que l'allowlist n'est PAS le motif -- sinon il se remettrait silencieusement a certifier le mauvais scenario. La fixture `_base_snapshot` recoit une lane porteuse distincte de celle du dossier : sans tag, tous les cas nominaux etaient des auto-attestations. Rayon d'impact mesure le 2026-09-20 : 4 PRs ouvertes sur 221 (1,8 %) ne portent pas de tag lisible, et la sortie est d'ajouter le tag, pas d'affaiblir le gate. 44 tests passent. See #16906. See #16928. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: jsboige <jsboige@gmail.com> Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Grain: LIGHT/docs — lane myia-po-2024:CoursIA — prev: MED/tooling #16789
Resync table maitresse audit-froid #12204 — op 4 livree, ligne jamais bumpée
What. Deux lignes dans
docs/ledgers/12204-ict-chantier-1-audit-froid.md:RAPPORTE … grain A4->FIRSTHAND (A4, #14453)avec attestations recensees et dette reformulee en bipartition, au style de la ligne 1 (A2) ;Why (pattern #11900, firsthand). La tranche A4 (
docs/ledgers/12204-ict-chantier-1-a4.md, po-2027, mesure 2026-09-03, PR #14453 merged, commit 4f9826d) a eleve l op 4 a FIRSTHAND — mais la table maitresse n a jamais ete resyncée. Resultat mesure ce cycle : le picker a reservi « grain A4 » a cette lane, et un claim initial mal scope a ete poste puis amende (issuecomment-5738035291). Cette PR ferme le piege pour les lanes suivantes : apres merge, la table ne propose plus A4.Ce que cette PR ne fait pas. Elle ne re-decide rien : le verdict, les attestations et la reformulation de la dette sont recopies fidelement de a4.md (verdict table + section dette). L op 5 reste tombee (§Tombee 3) — aucune remontee a trancher. Aucun autre fichier touche.
Diagnostic derive
Non applicable (aucun notebook).
🤖 Generated with Claude Code