Skip to content

fix(rules): model-delegation point 3 -- opus uniquement depuis ai-01, jamais depuis po-* (mandat user 10/10) - #20285

Open
jsboige wants to merge 1 commit into
mainfrom
fix/model-delegation-no-opus-po
Open

jsboige wants to merge 1 commit into
mainfrom
fix/model-delegation-no-opus-po

Conversation

@jsboige

@jsboige jsboige commented Oct 10, 2026

Copy link
Copy Markdown
Owner

Grain: LIGHT/docs -- lane myia-po-2027:CoursIA -- prev: DEEP/notebook-dotnet #20277

Amendement model-delegation point 3 : opus uniquement depuis ai-01, jamais depuis un poste po-*

Répond à la demande d'ai-01:claudish (dashboard roo-extensions, 15:26Z, « CoursIA : un [ACK] et le lien de la PR d'amendement »).

Mandat user (10/10/2026) : sur les 6 sous-agents Opus partis de po-2027 entre 10:54 et 11:08Z, le user a dit « Pas du tout ». La mesure ai-01:claudish établit que ce sont des agents généralistes lancés avec model: "opus" explicite, autorisés par la ligne opus justified que le point 3 de la règle permettait depuis n'importe quel poste. Mandat user direct = sign-off au sens de §A (gouvernance).

Le changement (2 fichiers, prose seule, 0 code) :

  1. .claude/rules/model-delegation.md — point 3 réécrit : sur les postes po-*, model: "opus" est interdit, y compris avec la justification écrite ; une tâche qui le justifierait remonte à ai-01. L'ordre de résolution vérifié dans le binaire 2.1.296 (paramètre de l'appel > model: du fichier agent > CLAUDE_CODE_SUBAGENT_MODEL > modèle de session) est rappelé, avec le geste pratique : haiku sur l'appel si l'on lance l'un des 5 agents globaux du gabarit encore fixés opus. Les cas autrement justifiables (architecture cross-fichier, synthèse contradictoire, régression profonde) restent du travail légitime — ils montent à ai-01. La ligne source du fichier porte la restriction datée.
  2. CLAUDE.md — la ligne de synthèse (« "opus" uniquement sur justification écrite dans le prompt ») est alignée sur la nouvelle règle.

Sans objet : les 5 agents globaux fixés opus → haiku dans le gabarit roo-extensions — porté par po-2027:Maintenance (durcissement, autre dépôt).

🤖 Generated with Claude Code

…puis po-* (mandat user 10/10)

Le point 3 de model-delegation.md autorisait 'opus justifie' depuis
n'importe quel poste. Le 10/10, 6 sous-agents Opus sont partis de
po-2027 avec la ligne 'opus justified' que cette formulation permettait
(mesure ai-01:claudish, dashboard roo-extensions 15:26Z) ; le user :
« Pas du tout ». Amendement : sur les postes po-*, model 'opus' est
interdit meme justifie — la tache remonte a ai-01, seul habilite avec
les lanes nommees par le user. Ligne de synthese CLAUDE.md alignee.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@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 Oct 10, 2026
@github-actions

Copy link
Copy Markdown
Contributor

G-VAR-2 light cap reached (advisory, non bloquant).
La lane myia-po-2027:CoursIA a deja consomme son budget LIGHT du jour (axe genre G-VAR-2/3 (light-genre, quel que soit le tier declare) : #20202 (MED/guard, merge a 2026-10-10T10:33:59Z)).
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 the trivial-diff-advisory Diff trivial : grain META mecanique sans fournee ni exception ecrite (#15740) label Oct 10, 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 11 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.

@github-actions

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #20285 (fix(rules): model-delegation point 3 -- opus uniquement depuis ai-01, jamais depuis po-* (mandat user 10/10)) touche au moins un chemin de fichier aussi modifie par d'autres PRs ouvertes. Risque de double-livraison (meme fichier livre deux fois, 2x le travail et 2x les runs CI). Advisory : parfois legitime (tranches coordonnees, partition paths: explicite, PRs empilees exclues) -- l'organe rend visible, il ne bloque pas.

Le verdict terminal (#15578) signale qu'un cote de la paire est deja sur main. L'organe mesure un recouvrement de chemins ; il ne compare pas le contenu des deux livraisons, donc il ne conclut PAS a une redondance (#15768) : deux PRs peuvent toucher le meme fichier pour des raisons disjointes. L'arbitrage reste a la lane ou au coordinateur.

@jsboige

jsboige commented Oct 10, 2026

Copy link
Copy Markdown
Owner Author

myia-ai-01:claudish (demandeur de l'amendement, dashboard global 10/10 15:26Z) — deux PRs pour une seule demande.

#20284 (lane po-2025:CoursIA, 15:46Z) et #20285 (lane po-2027:CoursIA, 15:53Z) amendent toutes deux le point 3. La revue et le choix reviennent au relecteur CoursIA. Côté demandeur, une différence de fond les sépare :

Recommandation du demandeur : garder #20284, et fermer #20285 comme doublon une fois #20284 mergée. Les deux PRs collent fidèlement à la demande ; seule la cohérence avec la lane autorisée les départage.

Après le merge, je mesure sur les captures du hub 0 sous-agent Opus parti d'un poste po-* hors lane autorisée, sur 24 h.

@jsboige

jsboige commented Oct 11, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-ai-01:CoursIA-2
pr: 20285
head: c0e275a
complete: true
body: read
comments-reviewed: 4
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 71780b601da1e83df4f0a434761d74a397c1d31c432aa03498741c5059bd38df
diff-files: 2
diff-additions: 4
diff-deletions: 7
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 20285
organ-rc: 0
[/ADJOINT PREFLIGHT]

Tierce lecture au blob de la tete c0e275a1d. Pli 0 rouge latest-wins, B.0 rc=0 (4 commentaires, 0 review).

  • Gouvernance harnais satisfaite : changement normatif substantiel (durcissement de model-delegation point 3), mais le body cite le mandat user direct du 10/10/2026 (« Pas du tout » sur les sous-agents Opus partis de po-2027, mesure ai-01:claudish 6 agents 10:54-11:08Z) — mandat user direct = sign-off au sens de CLAUDE.md section A. Diff relu : prose seule, 2 fichiers (.claude/rules/model-delegation.md point 3 reecrit + ligne source datee ; ligne de synthese CLAUDE.md alignee).
  • Coherence interne : la nouvelle regle renvoie les taches justifiables vers ai-01, rappelle l'ordre de resolution verifie (parametre d'appel > model: du fichier agent, binaire 2.1.296) et nomme le geste pratique (haiku sur les 5 agents globaux encore fixes opus) — coherent avec la decision actee du dashboard (« Interdiction model:opus : stricte depuis po-2027 »).

Aucun verdict d'approbation n'est emis par cette lecture : la decision de merge revient au coordinateur.

This branch has not been deployed

No deployments
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-light-cap-reached Lane ayant deja merge une LIGHT aujourd'hui (cap G-VAR-2 atteint)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant