sixty et votre agent de code
Votre agent corrige les bugs. Sixty les trouve.
Ce qui écrit votre code est ouvert dans la fenêtre d’à côté. La seule raison pour laquelle il ne corrige pas déjà la régression livrée mardi, c’est que personne ne lui a dit qu’il y en avait une.
Checkout got 3.4× slower
OrdersController#create now runs the same inventory query 14 times per request.
- p95
- 184 → 631 ms
- since
- Aug 19, 14:32
- likely cause
- missing preload
I found the call site. I’ll add the preload, run the request spec, and keep this open until the fix reports.
orders_controller.rb01 / THE LOOP
La boucle, en cinq temps
Vous êtes dans le premier. Rien de ce qui suit n’a besoin de vous.
Vous livrez
C’est la seule étape avec un humain dedans. La comparaison est ancrée aux versions plutôt qu’à l’horloge : rien n’est jugé tant qu’il n’y a pas un avant et un après.
La forme bouge, et un constat s’écrit tout seul
Une requête par rendu est devenue quatorze. Les statistiques trouvent les candidats, le modèle décide lesquels méritent de déranger quelqu’un, et quatorze dérives qui ne sont en réalité qu’un index manquant arrivent comme un seul constat plutôt que quatorze.
Votre agent demande ce qui s’est passé
Via MCP, depuis l’éditeur déjà ouvert sur le dépôt. Aucun tableau de bord à visiter, aucun copier-coller depuis une capture, personne à qui il faut rappeler que le fil existe.
Il reçoit plus que ce que l’écran montre
Délibérément. Le fil compacte pour une personne qui peut compléter le reste avec le code de la fenêtre d’à côté ; un agent ne le peut pas, alors il reçoit chaque frame capturé plutôt que le plus probable, le SQL normalisé, et quels appels enfants expliquent le changement, par appel parent.
Il écrit le correctif, et dit ce qu’il a changé
Une clôture sans description est refusée. Quel changement, dans quels fichiers, et pourquoi il traite cette mesure plutôt que de simplement coïncider avec elle — c’est la seule chose que seule la partie qui clôt connaît, et elle est irrécupérable un mois plus tard.
Ensuite vous livrez le correctif, et le cinquième temps redevient le premier. C’est toute la forme de la chose.
02 / MCP
Ce qu’il sait réellement faire
Cinq outils. Tout dans les deux offres — restreindre l’agent reviendrait à restreindre le produit.
$ claude mcp add sixty \
-e SIXTY_API_KEY=sixty_sk_… \
-e SIXTY_ENDPOINT=https://ingest.sixty.sh \
-- npx -y @sixty-sh/mcpCursor, VS Code, Codex et tout ce qui parle MCP prennent les deux mêmes valeurs en bloc de configuration.
list_findings- Ce qui est ouvert, classé, avec les ids.
get_finding- Un constat en entier : frames, SQL, la ventilation des appels enfants, et les autres constats partageant sa cause racine.
get_change- Le diff de la pull request de ce déploiement qui a touché ce code — d’abord les fichiers dans lesquels le constat s’exécute.
close_finding- Résoudre, écarter ou rouvrir — un motif est exigé.
check_service- Est-ce que quelque chose arrive, et sinon, pourquoi.
install_sixty- Les instructions d’installation pour ce type de projet.
03 / TRUST BOUNDARY
Nous partons du principe qu’il dira avoir fini
Un agent qui clôt ses propres tickets, c’est l’endroit où un lecteur attentif s’arrête. Il a raison. Voici ce que le code fait à ce sujet.
- Clore est une affirmation, pas une vérification. L’incitation la plus forte pour n’importe quel agent est de finir, et un constat clos face à un correctif jamais déployé a disparu de la liste que lit une personne. Donc
resolvedsignifie qu’une version portant le correctif a remonté et que les chiffres ont bougé — et tant que ce n’est pas le cas, il reste ouvert. - Un motif qui se reproduit encore est rouvert. Quoi qu’on ait affirmé, le détecteur repasse et le remet.
- Chaque clôture enregistre qui l’a faite —
user:[email protected]ouagent:sixty_sk_abcd. Vous pouvez toujours savoir lequel de vous deux a décidé que c’était fait. - La clé avec laquelle il lit ne peut pas écrire de télémétrie, et la clé de votre environnement de production ne peut rien lire. Une clé de remontée fuitée signifie que quelqu’un peut envoyer de faux chiffres de latence ; une clé de lecture fuitée signifie que quelqu’un a vos constats. Ce n’est ni le même risque ni le même identifiant.
- Les constats contiennent du texte que personne ici n’a écrit. Un nom d’opération vient de votre application, et un agent doté d’un shell est un lecteur d’une autre nature qu’un navigateur. Le collecteur aplatit donc tout ce qui est structurellement une ligne — noms, fichiers, versions, SQL — et le serveur MCP marque le texte emprunté, pour qu’un constat ne puisse pas se faire passer pour la structure qui l’entoure. Cela ne rend pas la prose inoffensive ; cela retire la moitié qui relève de la falsification plutôt que de la persuasion.