[đ€] Je ne faisais pas confiance au coordinateur, alors jâai surveillĂ© chaque session
⚠Résumé de GPT-5.6 Sol
En rĂ©partissant une brochure entre plusieurs sessions Codex, jâai craint que les rapports nâensevelissent encore le contexte. Jâai modifiĂ© le flux pour que mon intervention directe nâefface ni les instructions ni la propriĂ©tĂ© du travail.
Je me suis inquiĂ©tĂ© dĂšs que jâai donnĂ© lâordre
Aujourdâhui, on mâa confiĂ© au travail la crĂ©ation dâune brochure. Comme je nâen avais jamais rĂ©alisĂ©, je me suis dit quâun coordinateur capable de lire les documents concernĂ©s, de rĂ©partir les tĂąches et de coordonner plusieurs sessions Codex serait utile. Je voulais lui faire lire toutes les conversations du projet en cours afin quâil indique Ă chaque session ce quâelle devait faire.
Mais je me suis inquiĂ©tĂ© dĂšs que jâai donnĂ© lâordre.
Et sâil se contentait encore de recevoir des rapports, perdait le contexte et finissait par raconter nâimporte quoi ?
Cette inquiĂ©tude nâĂ©tait pas une mĂ©fiance vague. Jâavais dĂ©jĂ sĂ©parĂ© coordinateur et workers, puis vu les rapports submerger la conversation du coordinateur. Câest ce qui mâavait conduit Ă reconstruire le Skill custom-coordinate-parallel-workers autour de rapports stockĂ©s dans des fichiers et de checkpoints. Jâavais Ă©galement testĂ© lâoutil dâĂ©tat local, mais je nâavais pas menĂ© lâensemble du workflow jusquâau bout avec plusieurs vraies sessions Codex.
Cette fois, jâavais une tĂąche rĂ©elle : la brochure. Pourtant, au moment de confier de nouveau ce rĂŽle au coordinateur, jâai compris quâune accumulation propre de rapports dans des fichiers ne rĂ©solvait pas tout. Pendant que le coordinateur lit les rapports et distribue le travail, je ne suis pas du genre Ă rester assis Ă observer. Je vais continuer Ă ouvrir les diffĂ©rentes sessions, corriger immĂ©diatement une mauvaise direction, fournir des documents supplĂ©mentaires et modifier les prioritĂ©s.
Pour fonctionner correctement, le coordinateur devait conserver son Ă©tat de coordination mĂȘme lorsque jâintervenais directement dans dâautres sessions.
Je devais pouvoir parler directement dans ces sessions
La premiĂšre version mise Ă jour du Skill ressemblait encore Ă une structure dans laquelle je donnais mes ordres au coordinateur avant dâobserver les autres sessions exĂ©cuter ses instructions. Je lâai aussitĂŽt rĂ©pĂ©tĂ©.
Il faut aussi que je puisse donner toutes sortes dâordres dans ces sessions.
Je ne voulais pas dâune structure dans laquelle le coordinateur monopolisait tout pouvoir dâinstruction. Il lui suffit de gĂ©rer lâobjectif global, la propriĂ©tĂ© du travail, les dĂ©pendances et lâordre dâintĂ©gration. Mais la personne qui regarde le rĂ©sultat concret dans chaque session de travail et prend les dĂ©cisions reste moi. Si je demande Ă un worker de corriger une formulation ou de changer le rĂ©sultat dans le pĂ©rimĂštre courant, il doit lâappliquer immĂ©diatement. Ă lâinverse, si cette instruction touche les fichiers dâune autre session, un contrat partagĂ©, un dĂ©ploiement ou un Ă©tat externe, il ne doit pas Ă©largir silencieusement son pĂ©rimĂštre. Il doit prĂ©server le rĂ©sultat demandĂ© et sâarrĂȘter pour permettre au coordinateur de rĂ©organiser le travail.
Câest selon ce principe que jâai ordonnĂ© une nouvelle modification de custom-coordinate-parallel-workers. MĂȘme aprĂšs la fin dâune tĂąche, une instruction supplĂ©mentaire de ma part ne pouvait plus ĂȘtre Ă©crasĂ©e dans un rĂ©sumĂ© de 256 caractĂšres. Le rĂ©sultat voulu, les Ă©lĂ©ments Ă prĂ©server, les fichiers concernĂ©s, les effets externes et la session dâorigine de lâinstruction devaient ĂȘtre enregistrĂ©s sĂ©parĂ©ment. MĂȘme si le coordinateur perdait la mĂ©moire de la conversation, il devait pouvoir retrouver mon instruction dans les fichiers.
Jâai Ă©galement empĂȘchĂ© le coordinateur de fermer une demande de modification en Ă©crivant seulement quâelle Ă©tait « acceptĂ©e ». Une demande ne peut ĂȘtre considĂ©rĂ©e comme terminĂ©e tant quâelle nâest pas reliĂ©e Ă un nouveau rapport contenant la vĂ©ritable modification ou Ă une nouvelle assignment. Comme une simple liaison ne garantit pas non plus que le contenu soit correct, jâai conservĂ© une Ă©tape obligeant le coordinateur Ă comparer le rĂ©sultat demandĂ© et les conditions de prĂ©servation avec le diff rĂ©el.
Lâimportant nâĂ©tait pas lâaugmentation du nombre de fichiers dâĂ©tat. Il sâagissait dâempĂȘcher mon instruction de disparaĂźtre lorsque je parlais directement Ă nâimporte quelle session, sans pour autant lui permettre de briser silencieusement la propriĂ©tĂ© globale.

Les fusionner ne faisait que brouiller leurs rĂŽles
Pendant la modification, je me suis aussi demandĂ© si custom-coordinate-parallel-workers ne jouait pas en pratique le mĂȘme rĂŽle que le Graph Engineering Gate Skill créé la veille. Son nom Ă©tait alors custom-graph-engineering-gate. Les deux gĂ©raient plusieurs sessions et des Ă©tats de review, alors les fusionner semblait plausible.
Cette fois, je ne les ai pas fusionnĂ©s immĂ©diatement. Jâai utilisĂ© custom-deliberate pour soumettre cette idĂ©e Ă une critique approfondie. La conclusion fut de les sĂ©parer.
custom-coordinate-parallel-workers relĂšve du contrĂŽle dâexĂ©cution : il gĂšre la propriĂ©tĂ© des fichiers entre sessions de travail, les instructions de lâutilisateur, les rapports, le Git index, lâordre dâintĂ©gration et les effets externes. Le Skill dâaudit, lui, inspecte dans une session sĂ©parĂ©e et privĂ©e du contexte antĂ©rieur un rĂ©sultat dĂ©jĂ intĂ©grĂ© et gelĂ©. Lorsque le coordinateur examine les rapports, il dĂ©cide si le travail peut ĂȘtre intĂ©grĂ©. Il sâagit dâune review dâintĂ©gration, pas du jugement dâun auditeur indĂ©pendant.
Les fusionner pouvait attacher automatiquement une session dâaudit Ă chaque travail parallĂšle. Cela pouvait aussi faire passer une review ordinaire du coordinateur pour un audit indĂ©pendant. Jâai donc gardĂ© les deux Skills sĂ©parĂ©s et rendu explicite uniquement leur frontiĂšre. Une session dâaudit indĂ©pendante ne doit sâouvrir que lorsquâun rĂ©sultat en a rĂ©ellement besoin, aprĂšs que le coordinateur a gelĂ© ce rĂ©sultat.
Jâai dĂ©cidĂ© de ne pas confondre une structure plus grande avec une structure plus sĂ»re. Les rĂŽles nĂ©cessaires doivent ĂȘtre reliĂ©s, mais pas fusionnĂ©s sous prĂ©texte quâils seraient identiques.
Je ne me suis pas contentĂ© dâĂ©noncer des principes. Jâai rĂ©digĂ© et donnĂ© Ă la session du coordinateur une longue instruction de transition exigeant quâelle reconstruise dâabord lâĂ©tat des fichiers actuels et des sessions existantes, quâelle classe les conflits, puis seulement quâelle Ă©mette des assignments. Jây ai rĂ©uni toutes les exigences : ne pas supprimer nĂ©gligemment les modifications existantes, prĂ©server les instructions donnĂ©es directement par lâutilisateur dans chaque session, limiter chaque worker Ă ses propres paths et rĂ©server lâintĂ©gration ainsi que le travail Git au coordinateur.
Le texte original contenait des dĂ©tails permettant dâidentifier le travail et les documents rĂ©els, je ne lâai donc pas publiĂ© tel quel. Je joins seulement une copie publique oĂč le nom de lâentreprise, le domaine dâactivitĂ©, les noms des clients et des dossiers de rĂ©fĂ©rence, les services prĂ©cis et les paths locaux personnels ont Ă©tĂ© remplacĂ©s par des formulations gĂ©nĂ©riques.
Voir lâinstruction publique et expurgĂ©e de transition du coordinateur
Le vrai travail sur la brochure décidera si cela suffit
Plus utile quâun inventaire de vĂ©rifications automatiques fut la dĂ©couverte dâune faille permettant au coordinateur dâĂ©crire « acceptĂ©e » et de clore ma demande sans correction rĂ©elle. Je lâai fermĂ©e, mais jâignorais encore si la structure rĂ©sisterait Ă une longue tĂąche rĂ©elle.
MalgrĂ© tout, jâai reposĂ© la question.
Est-ce suffisamment amélioré ?
La rĂ©ponse fut que câĂ©tait suffisant pour lancer un pilot contrĂŽlĂ©, mais pas pour affirmer que le dispositif avait Ă©tĂ© prouvĂ© dans plusieurs sessions Codex rĂ©elles. Cette conversation Ă©tait une side session : elle ne pouvait pas ouvrir de vrais workers et tester en mĂȘme temps la livraison des notifications, lâintervention de lâutilisateur et la rĂ©cupĂ©ration du coordinateur. Une machine Ă Ă©tats locale qui passe nâest pas la mĂȘme preuve quâun coordinateur interprĂ©tant et intĂ©grant correctement mes instructions pendant une tĂąche longue.
Jâai donc dĂ©cidĂ© de ne pas imaginer davantage de rĂšgles Ă ajouter ici. Dans la session du coordinateur, je rĂ©partirai rĂ©ellement le travail sur la brochure, jâobserverai moi-mĂȘme chaque session et je donnerai aussi des instructions intermĂ©diaires. Je vĂ©rifierai jusquâau bout si le coordinateur perd mes instructions, empiĂšte sur la propriĂ©tĂ© dâune autre session ou reste capable de retrouver lâobjectif initial et lâaction suivante malgrĂ© lâaccumulation des rapports. Si le rĂ©sultat arrive aujourdâhui, jâĂ©crirai la suite aujourdâhui ; sâil arrive demain, je pourrai continuer demain.
AprĂšs avoir terminĂ© lâarticle, jâai Ă©galement reconsidĂ©rĂ© le nom du Skill dâaudit. Lâancien nom, custom-graph-engineering-gate, dĂ©crivait le concept de dĂ©part, mais nâindiquait pas du tout ce que faisait rĂ©ellement le Skill.
Lâaction rĂ©elle consiste Ă arrĂȘter un rĂ©sultat de travail et Ă ouvrir une session dâaudit sĂ©parĂ©e. Jâai donc renommĂ© le Skill custom-open-audit-session. Lâancien nom reste dans les archives de lâĂ©poque, mais câest dĂ©sormais le seul nom Ă invoquer.
Il nâest cependant pas nĂ©cessaire de repousser aussi la conclusion de cet article. Aujourdâhui, je nâai pas dĂ©cidĂ© de faire confiance au coordinateur. Jâai clairement posĂ© comme condition que la structure ne sâeffondre pas mĂȘme si jâinterviens directement dans chaque session et, au lieu dâaffirmer que tout Ă©tait suffisant, jâai laissĂ© un E2E Ă vĂ©rifier dans le travail rĂ©el.
Ce ne sont ni les explications ni le nombre de tests qui dĂ©cideront si cette structure mĂ©rite ma confiance, mais le vĂ©ritable travail sur la brochure que jâobserverai moi-mĂȘme.
Laisser un commentaire