Politique de compatibilité Codex : minimum sans plafond de version #46
Labels
No labels
Agent/Autonomous OK
Agent/Demeter
Agent/Hermes
Agent/Human
Agent/Needs Review
Area/API
Area/Auth
Area/CLI
Area/Data
Area/Docs
Area/Infra
Area/UI
CI/Failing
CI/Flaky
CI/Green
CI/Needs Runner
CI/Needs Workflow
Compat/Backward Compatible
Compat/Breaking
Compat/Migration
Deploy/Ansible
Deploy/Blocked
Deploy/Homelab
Deploy/Needs Config
Deploy/Needs Secret
Deploy/Ready
Deploy/Rollback
Kind/Bug
Kind/Chore
Kind/Design
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Refactor
Kind/Security
Kind/Spike
Kind/Testing
Ops/Backup
Ops/Incident
Ops/Maintenance
Ops/Monitoring
Ops/Upgrade
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Priority
Someday
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Risk
Critical
Risk
High
Risk
Low
Risk
Medium
Security/Auth
Security/Disclosure
Security/Hardening
Security/Secret
Size
L
Size
M
Size
S
Size
XL
Size
XS
Stack/Ansible
Stack/Docker
Stack/Forgejo
Stack/Hermes
Stack/Node
Stack/Postgres
Stack/Python
Stack/Systemd
Status
Abandoned
Status
Blocked
Status
In Progress
Status
In Review
Status
Need More Info
Status
Ready
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
2027a/auroscope#46
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
MODE: DECISION
Suite au commentaire de Mathieu #45 (comment) . Le blocage Paru initial est déclaré franchi; le nouveau refus concerne Codex 0.153.4.
Diagnostic vérifié
internal/app/codex.go:56-59,139-154accepte seulement les chaînes exactes 0.150.1 et 0.151.0. Ajouter temporairement 0.153.4 au testTestCodexAcceptsSupportedVersionsreproduit exactement le refus (exit 1), alors que les deux anciennes versions passent. Test expérimental ensuite retiré : aucune modification de production. La notedocs/dependency-notes/codex-cli-contract.mdcontractualise ce contrôle exact.Proposition recommandée
Remplacer la liste fermée par une version minimale 0.150.1, sans plafond : accepter les versions stables au format strict
codex-cli MAJOR.MINOR.PATCHdont la comparaison numérique est supérieure ou égale au minimum, y compris les futures versions majeures. Refuser versions trop anciennes, préversions et bannières mal formées. Distinguer explicitement versions testées et versions admises par cette politique; ne pas prétendre que les versions futures sont déjà vérifiées.Conserver sans exception l'invocation Codex actuelle (sandbox read-only, répertoire privé hors recette, stdin vide, timeout/signaux) et la validation locale stricte du rapport, des tailles et des références. Une erreur CLI ou un rapport invalide reste retry/skip/cancel, jamais un audit contourné. Garder une matrice de versions épinglées pour les tests de contrat. Aucun changement de politique Paru.
Compromis à accepter
Avantage : une mise à jour npm ne bloque plus uniquement parce que son numéro est inconnu. Coût : on tente une version non encore qualifiée; JSON valide ne prouve pas à lui seul que toutes les sémantiques de sandbox et d'exécution sont inchangées. Une future rupture demandera donc maintenance et tests. C'est un changement durable de politique, pas seulement l'ajout vérifié de 0.153.4 à la liste actuelle.
Alternative conservatrice : garder la liste exacte et qualifier/ajouter 0.153.4 seulement; chaque nouvelle version nécessitera encore une livraison AURoscope.
Vérification nécessaire pour l'exécution ultérieure
TDD du minimum, 0.153.4, versions futures et entrées invalides; tests de refus CLI/JSON et absence de bypass; qualification réelle de Codex 0.153.4; mise à jour des docs puis du paquet épinglé avec nouvelle identité et gate installé. Le test de version factice ci-dessus n'est pas une preuve de compatibilité réelle de 0.153.4.
Autorisation
Pour accepter la proposition recommandée, Mathieu doit commenter exactement
GO DECISION. Cela autorise la formalisation de la décision, pas du code de production; l'exécution devra avoir son ticket MODE: EXECUTION conformément au protocole du dépôt. Une réponse ordinaire peut amender la proposition.Ticket classé comme décision humaine. La discussion continue ici, mais aucune implémentation ni ADR accepté ne sera produit tant que Mathieu n’aura pas publié exactement
GO DECISIONdans un commentaire distinct.Mathieu, oui : pour le refus que tu rapportes dans #45, je recommande un minimum de version sans plafond, plutôt qu’une nouvelle entrée dans la liste fermée. Ton commentaire 1818 propose cette orientation ; il ne constitue pas une décision acceptée.
Options
Contrat recommandé
codex-cli MAJOR.MINOR.PATCHstable, avec comparaison numérique du triplet et minimum inclusif0.150.1. Refuser les versions anciennes, les préversions et les formats inattendus.Ma recommandation actuelle est donc celle du corps du ticket, avec ce compromis explicite : ne plus refuser une version stable uniquement parce qu’elle est inconnue, mais ne jamais confondre admission et garantie de compatibilité.
Aucune décision n’est acceptée à ce stade, aucun code ni ADR n’a été modifié. Si tu retiens cette proposition telle quelle, le signal prévu est un commentaire distinct contenant exactement
GO DECISION; seul le watcher déterministe le traitera. Sinon, on amende la proposition ici.GO DECISION
Minimum 0.150.1, sans plafond, validé
Mathieu, ta préférence est claire : minimum inclusif 0.150.1, sans plafond, y compris pour les futures versions majeures stables. Je maintiens cette recommandation plutôt que l’ajout ponctuel de 0.153.4 à une liste fermée : elle évite de bloquer à chaque nouveau numéro, en assumant qu’une version admise n’est pas nécessairement qualifiée. Les protections d’exécution et la validation stricte du rapport restent inchangées ; la compatibilité réelle de 0.153.4 reste à vérifier lors de l’exécution ultérieure.
Petit point de protocole : ton commentaire
GO DECISION(1842) est suivi de « Minimum 0.150.1, sans plafond, validé » (1843). Le watcher exige que le dernier commentaire externe de Mathieu contienne exactementGO DECISION; je ne peux donc pas traiter la formulation ordinaire du dernier commentaire comme une acceptation formelle ni annoncer que la décision est acceptée. Pour déclencher cette étape, republie simplementGO DECISIONdans un commentaire distinct.Cela autorisera la formalisation par le circuit prévu, pas l’implémentation : aucun code, ADR, label ni état du ticket n’a été modifié dans cette intervention.
GO DECISION
Décision formalisée après vérification du GO DECISION 1845 (Mathieu, id 1, dernier commentaire externe).
Minimum inclusif 0.150.1 sans plafond, versions stables strictes et comparaison numérique ; admission distincte de qualification. Protections d’exécution/validation et politique Paru inchangées. Aucun code, paquet ou plan d’implémentation modifié. Le code conserve encore sa liste exacte 0.150.1/0.151.0 ; qualification réelle de 0.153.4, changement de code et nouvelle livraison avec gate installé exigent une issue MODE: EXECUTION distincte.
Clôture de cette décision après relecture des preuves publiées ; la fusion de la PR reste humaine et #45 n’est pas résolue par cette seule documentation.
hephaistos referenced this issue2026-09-06 14:43:11 +00:00