Aller au contenu

Journal des modifications

Points saillants destinés aux utilisateurs, du plus récent au plus ancien. Pour l’entrée complète de chaque version — y compris les changements internes et réservés aux contributeurs — consultez les GitHub releases et docs/CHANGELOG.md. Le badge de version sur ce site suit la dernière publication npm.

Les versions à partir de 0.9 sont regroupées par version mineure.

  • Changement cassant — toute la surface de configuration du mode de délégation Codex a disparu. L’option d’installation/configuration, l’autorisation permanente au SessionStart, l’inférence de délégation en langage naturel et tous les replis de la fleet ont été supprimés. /delegate et /parallel subsistent comme commandes typées en début de prompt, et le spawn_agent natif de Codex, avec l’agent_type réellement installé, devient l’unique autorité sur l’identité et le cycle de vie de la fleet.
  • Changement cassant — la configuration MCP n’a plus qu’une seule autorité de stockage. La portée dépôt est retirée ; la configuration réside désormais uniquement au niveau utilisateur.
  • Ajout de reverse-skill-router comme compétence externe recommandée, activable uniquement de façon explicite (--with-reverse-skill), exclue des deux profils ; les fournisseurs externes sont pilotés par catalogue, épinglés à un commit et vérifiés en intégrité avant la projection vers l’hôte.
  • La clôture obligatoire archctx / archctx-contracts passe à 0.4.2. repo-harness update réconcilie et relit cette clôture, et propage le contrat d’exécution Node >=24 <26 exact d’ArchContext.
  • Corrigé : à la limite de sessions MCP, la session Streamable HTTP inactive la moins récemment utilisée est récupérée tandis que les sessions en cours sont préservées ; /health publie désormais les compteurs de cycle de vie des sessions.
  • Les diagrammes d’architecture sont des blocs Mermaid balisés en Markdown, et rien d’autre. La découverte HTML autonome et les champs de handoff ont été supprimés du runtime, des échafaudages et des contracts générés. La compétence Mermaid externe reste une aide à la rédaction et à la relecture — ce n’est ni une dépendance runtime ni une dépendance npm.
  • L’autorité des capabilities de ce dépôt est passée aux nœuds archcontext.
  • Corrigé : init et setup-global construisent l’environnement des commandes à partir de process.env plutôt que d’un objet vide, afin que les commandes construites héritent de votre environnement réel.
  • Protocole de continuation pour les exécutions longues. state next (six routes déterministes en lecture seule) et state attempt (un registre de vivacité) avec un disjoncteur en cas d’absence de progression, plus un journal de clôture résistant aux plantages avec revendications de propriété atomiques par worktree et un recover inspect|abort|reconcile explicite pour la finalisation des worktrees de contract et d’expédition.
  • Correctif de sécurité — .repo-harness/ est désormais ignoré en tant que répertoire entier. La projection gitignore précédente ne listait que deux entrées obsolètes fichier par fichier : les quatre fichiers que le serveur MCP écrit sous <repo>/.repo-harness/ — dont mcp.oauth-tokens.json, qui contient les jetons d’accès et de rafraîchissement OAuth — restaient non ignorés pour quiconque démarrait repo-harness mcp serve --transport http sans avoir d’abord exécuté mcp setup chatgpt avec la portée dépôt.
  • Le binaire repo-harness-hook est livré sous forme de bundle préconstruit en un seul fichier. Une réinstallation depuis le registre remplace désormais un seul fichier de façon atomique : un hook déclenché pendant la fenêtre de réinstallation ne peut plus résoudre un graphe d’imports à moitié remplacé et se bloquer jusqu’au délai d’attente de 30 s de l’hôte.
  • Corrigé : un client OAuth MCP en cours de rafraîchissement actif n’est plus supprimé au TTL de 30 jours tant qu’il détient un jeton valide — les connecteurs ChatGPT cessent d’exiger une réautorisation périodique. Les clients inactifs au-delà de 30 jours expirent toujours.
  • Le budget de vérification passe de 600 s à 1200 s, et le journal du runner d’un critère en échec est désormais conservé dans .ai/harness/runs/ au lieu d’être détruit avec le répertoire temporaire du tour.
  • Changement cassant — repo-harness adopt est supprimé. L’adoption locale au dépôt passe désormais par repo-harness init ; l’amorçage global se fait uniquement via repo-harness install.
  • Codex App Threads devient la route de délégation principale à modèle épinglé, avec un repli natif en fail-closed.
  • Une identité d’exécution unique, émise au SessionStart, traverse désormais la télémétrie des hooks et la corrélation des preuves.
  • La détection de dérive de l’agent-fleet est devenue sensible aux reçus et préserve les mappages de rôles appartenant au dépôt.
  • Le README en cinq langues a été restructuré selon une logique « démarrer d’abord ».
  • Mode delegate ChatGPT — un protocole de collaboration GPT Pro à deux agents appartenant au dépôt, avec des transports propres à chaque hôte (Claude via la chaîne consult/continue d’Oracle, Codex via le navigateur intégré), plus une analyse de sortie Gitleaks obligatoire et en fail-closed sur le bundle de prompt exactement tel qu’il est rendu, avant tout effet de bord de session ou de fournisseur.
  • Profils d’hôte minimal/full (full par défaut), migration explicite vers protocol-1, projections de hooks Codex sensibles au profil et préservation de l’agent-fleet géré par l’utilisateur.
  • checks/latest.json est matérialisé exclusivement à partir du registre de preuves ; tous les chemins d’écriture directe antérieurs ont été supprimés dans le même paquet.
  • La découverte de la surface des compétences est passée au manifest v2.
  • Corrigé : l’expédition du worktree principal sous Bash 3.2 sur macOS, l’immuabilité de la genèse des preuves et la normalisation du score QA.
  • Un merge gate local est désormais imposé dans le workflow.
  • Ajout d’un profil MCP ChatGPT coding et de rôles spécialisés dans l’agent-fleet, avec un routage de rôles pour les agents personnalisés natifs vérifié par les preuves SubagentStart.
  • Racines deploy-sql et politique de nommage configurables par dépôt.
  • L’adoption est passée à un planificateur TypeScript transactionnel ; la base Bun est passée à 1.3.14.
  • Profil de tâche bugfix avec une porte Root Cause Evidence de premier plan — le runner et le vérificateur évaluent indépendamment la même section ## Root Cause Evidence, en faisant correspondre un artefact d’échec d’avant correctif à sa recette capturée.
  • Profil de tâche frontend avec une porte design-brief et un pont de frontière capability/archcontext.
  • L’agent fleet est devenu une dépendance de premier plan : install-agent-fleet installe les définitions d’agents amont et génère les mappages Codex .toml correspondants, sans écraser l’existant par défaut.
  • repo-harness install --target codex|both --location global --delegation-mode auto|explicit, pour que le mode de délégation Codex global persiste sans écraser les clés de configuration existantes.
  • L’amorçage global demande désormais Y/n dans les terminaux interactifs avant d’installer les composants optionnels (compétences externes et CodeGraph) ; les contextes non-TTY et --json restent sans invite.
  • doctor exige que le CLI Codex visible dans le PATH soit au moins en 0.144.0 et évite les avertissements Codex non pertinents dans les installations Claude uniquement.
  • Oracle est le seul chemin de navigateur GPT Pro pris en charge. Le fournisseur expérimental d’extension Chrome / bridge pour ChatGPT — browser-bind et --provider bridge — a été supprimé. Le moteur natif Chrome DevTools subsiste uniquement à titre de diagnostic obsolète.
  • Référence du General Repo MCP et guide de déploiement de CodeGraph : administration des dépôts, frontières de confidentialité/audit, migration depuis les lectures d’artefacts de workflow, indicateurs de déploiement et limitations connues.
  • Corrigé : la sortie de décision Stop de Codex ne casse plus l’application Desktop lors de la finalisation du tour.
  • La Review Rubric v1 et les empreintes de diff sont désormais jointes aux invites de revue, de publication et d’acceptation par les pairs.
  • Contrôle de fraîcheur de la revue : des empreintes d’implémentation périmées ou manquantes bloquent une déclaration « Done » jusqu’à ce que /check et l’acceptation par les pairs soient rafraîchis.
  • Les ressources de hooks sont canonisées sous assets/hooks/ avec une projection auto-hébergée générée, ainsi que des vérifications de parité entre le tarball et l’installation centrale.
  • ChatGPT MCP workspaceReader sur le profil planner par défaut — accès en lecture seule au dépôt via reader_status, list_allowed_roots, open_workspace, tree, search_text et read_text, et pas seulement aux fichiers de workflow.
  • Multi-dépôt : découverte des dépôts enregistrés via ~/.repo-harness/registered-repos.json et ciblage repo_path afin qu’un seul Connector serve chaque dépôt adopté.
  • Mode d’authentification HTTP url-token ; OAuth offline_access avec rotation des jetons de rafraîchissement.
  • Hooks consultatifs de changement minimal sur SessionStart, UserPromptSubmit, PostToolUse.edit et Stop, avec preuve dans .ai/harness/checks/minimal-change.latest.json.
  • Les globs de refus de secrets restent actifs même avec des lectures larges ; l’ancien fullDiskRead: true échoue de manière fermée ; les hooks gérés se lient au dépôt git courant.
  • Configuration ChatGPT MCP au niveau utilisateur pour le Developer Mode — configuration et authentification sous ~/.repo-harness/. La lecture large du disque complet est obsolète au profit des dépôts adoptés enregistrés ainsi que des entrées --allow-root explicites.
  • discover_harness_repos ainsi que le ciblage repo_path pour les outils de lecture MCP.
  • Présélection --chatgpt-app pour les consultations dans le navigateur Oracle ; preuve d’invocation du ChatGPT Connector dans mcp doctor.
  • Corrections : portée des invites de délégation pour les cibles d’investigation why/how, isolation de l’état de relance des sous-agents par session, récupération de l’assistant adopt --compact, et conservation de l’hôte/port de liaison ChatGPT MCP lors d’une réexécution.
  • Liaison de la session produit du navigateur natif ChatGPT pour des profils Chrome sélectionnés (remplacée par Oracle en 0.8.1).
  • Heartbeat du fournisseur de navigateur Oracle : --heartbeat, par défaut 59 secondes, garde les longues exécutions GPT Pro observables.