La génération de code a cessé d'être un problème il y a quelque temps. Les modèles écrivent un bon code. Ils suivent les conventions dans le fichier qu'ils éditent, et si vous les pointez sur une erreur d'essai, ils la règle généralement corrigent.
La partie qui ne fonctionne pas est la mémoire.
Le problème n’est plus : "le modèle peut-il écrire le code?
Chaque nouvelle session commence à ne savoir rien au sujet du système qu’elle est sur le point de changer. Elle redécouverte que Stylo.Bot est deux répertoires, que la bande de risque sur le tableau de bord est dérivée au moment du lecture et n’est jamais cachée , qu’il y a exactement une seule usine de connexion à la base de données et qu’un magasin SQLite ne doit jamais faire l’ombre
Il s’agit du flux de travail que j’ai construit pour cesser de payer le coût.
Stylo.BotM SK1s moteur de détection n'est pas un simple ASP.NET CRUD appMSC3 Il fonctionne sur une architecture éphémère , signauxMNK5etMRK6atoms MMK7 atomes détenaient l'état MNK8 les signaux annonçaientMZK9 a scoped SignalSink pour chaque demande, le panneau blackboard, est un seul ScheduleCoordinator émet des signaux de cadence tick au lieu d'une pile de services de fond, la classification est la plus proche - centroid avec drift plutôt que les règlesM SK2 et les verdicts sont dérivés fresh at read instead of cached. Cette forme est l'ensemble du point du produitMSC4 C'est ce qui lui permet d'apprendre à partir d'un comportement observé au lieu de correspondre à une liste statique
Un code LLM ne veut pas construire ce qu’il a vu un million de fois dans ses données de formation : plain CRUD. Demandez à un agent frais d’ajouter une fonctionnalité et il atteint chaque foisM SK3 , pour l’ASPMSC5 Réflexe NET :
| Le réflexe ASPM SK1NET (plain CRUD) | StyloMska5BotM Ska6s modèle prévu |
|---|---|
A BackgroundService par emploi périodique |
Un ScheduleCoordinator émettre des signaux de tick |
A ConcurrentDictionary utilisé comme entrepôt |
Les atomes ont un état de conservation ; il n'y a pas d'actuelle persistance dans la mémoire |
A switch la cartographie d'une chaîne à une catégorie |
La plus procheM SK1 Classification centroïde, dériveMSC3 Leiden |
| Cachez la valeur calculée pour la localité | La dériver à lecture |
A bare DbContext dans l’ordinateur |
L’État vit dans le moteur , lire sur un fil M SK2 |
An ILogger pour vérifier ce qui s’est passé |
Les signaux annoncent ; le signalSink est la plaque d’affichage. |
Chaque cellule à gauche est un manuel ASP.NET et corrigée dans une application normale. CLAUDE.md ce qui dit ainsi, explicitement : centroids non règles, aucun service de fond ne fait appel au Coordonnateur des horairesM SK3 aucun entrepôt de mémoireMSC4 aucun cache ne favorise la fraîcheur sur la localitéMNK6 signaux et atomes pas ASPMMK7 normes NETMRK8
Il n’a pas retenu. CLAUDE.md Le modèle régresse à la moyenne de ses données de formation, qui est CRUD.
Cela coûte des semaines de réaménagement. Aucun déclin dramatique n’a été observé. BackgroundService renvoyé à un coordonnateur tick, a ConcurrentDictionary qui avait quietement été un magasin parasitaire supprimé, a switch la déclaration est remplacée par une recherche centroïde, session après session après séance. Le bogue n'a jamais été le point . La dérive a été le puntoM SK3 Un fichier d'instructions perMSC4repo est la récupérationMST5 et la recupération n'était pas suffisante Mst6 l'agent avait les règles devant luiM st7 ne comprenait pas pourquoi la forme éphémère était importanteMstr8 et l'a érodée en tout état de causeMtr9
Ce n'est pas "l'agent peut't coderM SK2 mais "il est possible pour l'agent de tenir la architectureMSC4il n'y a pas de fichier d'instruction plus grand qui l'ait corrigéeMNK6 Il s'agissait de donner l'architecture à un propriétaire.
L’échelle n’a pas provoqué la dérive. Elle l’a multipliéeM SK1
Stylo.Bot n'est pas un jouet . Il s'agit d'un bot-plate-forme de détection M SK3 moteur de détection FOSS qui fait face aux applications Web par l'intermédiaire d'une passerelle YARPMSC4 plus une couche commerciale avec gestion de la flotteMNK5 un rédacteur de configuration en direct MNK6 persistance Postgres et pgvectorMMK7 fournisseurs commerciaux de LLMMRK8 un moteur de rapportsMBK9 membres et parMDK10 licence de domaineMGK11 et un exploitant KubernetesMdk12
Counted honestly:
Mostlylucid.Ephemeral (le substratM SK1 StyloExtract, StyloFlow, StyloIssues, lucidVIEW.Chacune d’entre elles est une surface dont le débordement peut s’écouler à l’intérieur, et un agent frais doit tenir la même discipline éphémère sur chacune de celles-ci . Un changement à un seul élan de séparation détectable dans la passerelleM SK2 le plug-in commercial, la projection du tableaux de bordMSC4 et le pipeline de déploiementMNK5 Écrire le changement n’a jamais été la partie difficileMMK6 Maintenir l’architecture stable tout en la rendant stableMRK7 partout où elle atterre~, session après sessionMST9 étaitMSS10
L’industrie continue de rechercher la même réponse : donner à l’agent un plus grand contexte . fenêtres plus grandes MSC2 millions - promptstoken M SK4 RAG pour extraire les fichiers appropriés MST5 MCP pour atteindre les systèmes en direct MSM6 couches de mémoire qui résument les séances passées et les répètent
Tout cela améliore la récupération.
Retrieval finds the relevant file. Understanding knows why the file is the way it is , what invariant it protects, and what breaks two repositories away if you change itM SK3 A bigger window lets an agent read more at onceMSC4 It does not let the agent remember what it concluded last TuesdayMNK5
Que la re-derivation est le coût réel . Regardez un agent de refroidissement démarrer sur StyloM SK2Bot :
Trente minutes plus tard, il sait assez pour faire un changement de ligne.
Une recherche plus intelligente est la mauvaise solution. La recherche elle-même doit cesser de se produire.
Aucun ingénieur ne comprend l’ensemble du système d’entreprise. Personne dans une entreprise réelle n’a les paiements en sa possession, auth , le pipeline de donnéesM SK3 et la frontend dans leur tête à pleine résolution dès lorsMSC4 Ce n’est pas un échecMNK5 C’est comment sont construites les grands systèmesMRK6
Les équipes décomposent le système en domaines et mettent sur chacun un spécialiste.
La propriété est plus importante que le savoir encyclopédique. Le spécialiste n’a pas besoin de connaître tout. Il faut connaître son domaine profondément, et savoir qui demander le resteM SK2
Ce qui maintient un système décomposé cohérent est la communication. La personne chargée des paiements parle à l’auth avant de changer le format du tokenM SK1 Une demande de retrait traverse une frontière et le propriétaire de cette frontière pesa dans . L’architecture demeure cohérente non pas parce qu’une personne en détient tout, mais parce que les personnes qui en détentent des morceaux parlent entre elles.
Cela fonctionne. C’est la façon dont fonctionne chaque équipe réelle . Les agents de codage sont conduits d’une manière opposée
La dérive serait un nuisance dans une petite application. Dans tous les systèmes que je possède, il est corrosif , parce qu’ils ne sont pas un seul système. Il s’agit de produits distinctsM SK3 dans des dépôts séparés
Le substrat est Mostlylucid.Ephemeral, mon propre paquet NuGet : les primitives d'exécution et le flux de données le moteur de détection est construit surM SK2 Stylo. le Bot tire plus de mes paquets en haut de celui-ci StyloExtract pour l'emplacement-détermination des empreintes digitales, StyloFlow pour les flux de travail et la délivrance des licences conduites par le signal- StyloIssues pour la rétroaction UX sur le site de commercialisation. StyloAgent, la flotte dans cet articleM SK2 est construite à partir des paquets moi aussi : lucidVIEW rend ses documentsMSC4 et Mostlylucid.Avalonia.UITesting génére ses screenshots. Je crée les produits avec l’outil, et je crée l’instrument à partir des produitsM SK2
Il s’agit là d’un véritable aliment pour chiens, et c’est ce qui fait de la dérive dangereuse. BackgroundService ou un ConcurrentDictionary n’est pas en train de détruire une seule application. Il est en train d’éroder un paquet chacun de ces produits se trouvant sur. Les navires à dérive dans un dépôt et les surfaces d’un produit deux dépôts à l’extérieur , où l’agent qui l’a écrit ne semble jamais
Un primitive dérivé. Tous les produits construits sur lui.
Le codage n’a jamais été le plus difficile à cette échelle.
Contexte est l’axe erroné. Les échelles de coût sont calculées en fonction du nombre de sessions, et non de la taille de la fenêtre.
Le problème n’est pas : "comment donner plus de contexte à un agent?
Load knowledge into a window and it dies with the window. Give it to a specialist and it carries forward . The detection specialist does not reload the detection architecture each sessionM SK2 It already owns it, and it starts from what it worked out last timeMNK4 because last time it wrote that down as itself and not as a summary for someone elseMRK5
Une session paie ensuite pour prolonger le système, mais non pour le réaménager.
StyloAgent transforme cette structure en processus courants. Les parties :
overview-). Il détient les trois documents vivants (spec, architectureM SK3 liste de travailMSC4 arbitrait les différends d’étendueMNK5 et détermine les routes des travaux arrivantsMMK6 Il ne fait pas le travail du domaine lui-mêmeMRK7foss- possède le moteur de détection. deploy- a la propriété de l’ouvrage-toM SK1staging-~-production pipeline . mae- a des membres et du commerce électronique. dash- et edit- détenir les voies de lecture et d’écriture du tableaux de bord. prod- détient la sécurité de la plate-forme. test- possède la suite. Chacun possède les fichiers, non les tâches .inbox, outbox, archive, et saved-context. Les messages portent une priorité et une surface à l’agentM SK1à la limite de tournement de .overview- plutôt que de collider avec le propriétaire.
StyloAgent est un cockpit de bureau , construit en .NET 10 et Avalonia. Chaque spécialiste est un vrai claude Processus exécuté sur un PTY, avec son propre terminal dans la cabine de pilotage, son propre noyau de travail git , et son propre document contextuelM SK3 La cabine d’ pilotage héberge le serveur MCP que les agents appelent et le socket hook qui signale leur étatMSC4 Le produit lui-même est construit par quatre propriétairesMST5 et l’architecture se double en tant que carte de propriété Mst6
flowchart TD
operator([Human operator])
subgraph SA["Styloagent cockpit"]
cockpit[Cockpit Shell<br/>Avalonia + Dock]
bus[Coordination and Fleet<br/>Channel, Mcp, Diagrams]
session[Session and Terminal Runtime<br/>Sessions, Hooks, PTY]
repo[Git and Document Library<br/>worktrees, Lucene search]
end
agents[Agent fleet<br/>claude specialists]
fs[(Filesystem and Git<br/>durable trace + worktrees)]
operator --> cockpit
cockpit --> bus
cockpit --> session
cockpit --> repo
bus --> session
session -->|runs claude over a PTY| agents
agents -->|MCP verbs| bus
bus -->|reads and writes channel files| fs
session -->|writes context doc on dehydrate| fs
agents -->|commit in own worktree| fs
style SA fill:none,stroke:#6b7280,stroke-width:1px
style cockpit fill:none,stroke:#7c3aed,stroke-width:2px
style bus fill:none,stroke:#d97706,stroke-width:2px
style session fill:none,stroke:#2563eb,stroke-width:2px
style repo fill:none,stroke:#16a34a,stroke-width:2px
style agents fill:none,stroke:#6b7280,stroke-width:2px
style fs fill:none,stroke:#16a34a,stroke-width:3px
style operator fill:none,stroke:#6b7280,stroke-width:2px
MCP est le noyau. Le cockpit héberge un serveur MCP, et tout ce que le spécialiste fait pour coordonner est un appel d’outils MCP contre lui, non une convention ou un fichier il espère qu’un autre agent litM SK2 L’ensemble des verbes est la couche de coordination MSC3
send_message / check_inbox : Travailler sur le trajet et l’en retirer , PrioritéM SK2 Résolue.spawn_agent : un propriétaire partage un nouveau spécialiste sous son régimeclaim / heartbeat / release : serialiser l'accès à un environnement partagé (un hôte SSHM SK2 une cible de déploiement) afin que les deux agents ne se collident pasdehydrate_agent / rehydrate_agent : réserver un spécialiste et le restaurerwrap_up : essaiM SK1 fusionner , et nettoyer une branche finie.report_issue, architecture_impact, agent_color, list_fleet : déposer un blocage , visualiser le changement de conception avant qu’il ne pénètreLe fichier-le canal de déversement sous-jacent est la trace durable de ce qui a été dit ,et non le mécanisme.Le mécanisme est le serveur MCP livrant à un agent vivant à sa limite d’arrivéeM SK3Les arbres de travail Git donnent à chaque spécialiste une arbre isolé pour s’engager dansMSC4 mais la couche MCP est ce qui les rend une flotte au lieu d’un ensemble de processus qui partagent un dossierMNK5

send_message écrive un fichier de marquage durable dans le canal et fournit également dans ChannelDeliveryCoordinator surveille les nouveaux fichiers, garde un ensemble visible de façon à ce que chaque message soit livré exactement une fois , l’achemine aux destinataires en direct
La difficulté de l’interruption d’un message n’est pas un frein. DeliveryMode enum, une ladder d'interruption M SK1
public enum DeliveryMode
{
Interrupt, // send ESC to break the current turn, inject immediately
NextPrompt, // queue; inject when the agent next reaches idle
Poll, // not pushed; the agent checks on its own cadence
Convenient, // surfaced in the Bus HUD only
Informational, // never actioned or injected; shown as info
}
La livraison est inactive-gated and atM SK1least-onceMSC3and the acknowledgement is a observed sideMST4effectM ST5not a promiseM st6 An urgent message breaks into the current turnM St7 A normal one waits for the next idle prompt so it does not corrupt an agent midMst8thoughtMSt9
Le fait de rester dans votre lane n’est pas un système d’honneur. ownership.yaml, et un OwnershipMap réglemente tout chemin de repo-relatif au préfixe d'agent qui en est propriétaireM SK1 la plupart-la victoire mondiale spécifique :
// most-specific glob wins, so a session- carve-out inside cockpit-'s
// src/Styloagent.App/** beats the broad glob
public string? OwnerOf(string? path) { /* ... */ }
Une passerelle PreToolUse consomme ce résoluteur et empêche un agent d'écrire un fichier appartenant à un autre agent, avec des exemptions sensibles : overview- peut traverser les frontières parce qu’il arbitrait, les fichiers non appartenant à la propriété sont partagés , les sorties de construction et les essais sont exonérésM SK2 La carte est les mêmes données qui colorent le diagramme CMSC3 . L’image de qui possède ce que et l’exécution de qui détient ce que sont une source
overview- n’est pas indépendant. Son prompt de système le place sur les rails : travaille en haut de la machine- descend dans trois couchesM SK3 et ne passe pas à l’avantMSC4
flowchart LR
spec["spec.md<br/>what the system is"]
shape["architecture.md<br/>C4 shape, owner-coloured"]
fleet["proposed-agents.yaml<br/>who owns each component"]
spec --> shape --> fleet
fleet -.->|specialists report on the bus| spec
style spec fill:none,stroke:#2563eb,stroke-width:2px
style shape fill:none,stroke:#d97706,stroke-width:2px
style fleet fill:none,stroke:#16a34a,stroke-width:2px
Préciser tout d’abord : ce que le système est , convenu avec l’être humain avant tout autre M SK2 Puis former : un seul diagramme de composants C MSC4 où chaque composant est coloré par son propriétaire visé MST5 Ensuite, la flotte МST6 un agent proposé par tête M ST7 une composante à niveau M st8 partager sa composante M St9 sa couleur M T10 Comme les spécialistes apprennent le système réel et font rapport sur l’autobus Mst11 overview- folds their findings back into the spec, reM SK1derives the shape , and adjusts the fleet. The three documents stay a live projection of the design instead of decaying into fictionMSC4
La plupart des outils d’agent créent des travailleurs. Décrivez une tâche, un travailleur tourne vers l’avantM SK2 le fait-il , il disparaîtMSC4 la prochaine tâche reçoit un nouveau travailleur sans mémoire de celui qui l’a été jusqu’à présentMST5 L’expertise ne s’accumule jamais parce qu’il n’y a rien pour elle à accumuler dans la dernière
StyloAgent crée des experts. foss- n’est pas un travailleur qui a touché le moteur de détection une fois. Il s’agit du moteur de détection ' son propriétaire M SK2 et il demeure le propriétaire pendant toutes les sessions . Cette différence n’était pas cosmétique MSC4 C’est pourquoi la flotte a capté un erreur d’une tâche MST5 le travailleur basé sur MST6 aurait manqué

Les robots connus apparaissent sur le tableau de bord et sont considérés comme présentant un risque très élevé. foss- ne l’a pas fait, car foss- sachant que la projection existait déjà et qu’il savait où regarder sous-elle. Il a constaté que les bandes de risque n’apparaissent à l’amiable que lorsqu’une empreinte digitale est conservée avec un statut de réclamation vérifié , et que la méthode qui établit ce statut , UpdateClaimVerificationAsync, avait Nombre d'appels en production nul. Written and never wiredM SK1 Every fingerprint stayed unverified forever, so every known bot read as very high riskMSC3 and redeploying the projection could never have fixed itMST4
Ce diagnostic provient de la propriété accumulée. foss- a déjà mapped l’orchestre, le compositeur du verdict, et la grille de revendications dans les sessions antérieures . Le bug était invisible pour une recherche et évident pour un propriétaireM SK3
StyloAgent prouve ceci sur lui-même. L'outil est construit par sa propre flotte : cockpit- appartenant à l’Avalonia shell, bus- détient la coordination et la prestation, session- est propriétaire des PTYs et de la machine d’état de fraie, repo- propriétaire de git et de la bibliothèque des documents. Les propriétaires permanents, pas un seulM SK2 tâches prises à l’égard d’un objet . Les leçons difficiles qu’ils apprennent sont écrites dans leur contexte, ce qui les ne permet jamais de les répéter. session-' son propre document de contexte :
## HARD-WON DISCIPLINE (enforced this session, confirmed by overview-)
- Commit by explicit pathspec, atomically, in ONE command. The shared tree has ONE git
index. A bare `git commit` after `git add` lets ANOTHER agent's concurrent commit sweep
your staged files (it happened: my clipboard work landed mis-attributed in cockpit-'s 5e54207).
Un travailleur basé sur une tâche, -, frappe cette collision et le travailleur suivant la frappe de nouveau,,, car rien ne permet d’avancer la leçon. session- , comprenait pourquoi , et codait la correction comme faisant partie de qui elle est. C'est la différence entre effectuer une tâche et être un expertM SK3
Une séance froide débute par un ritual : rechercher la base de codeM SK1 résumer ce que vous trouvez , reconstruire l’architecture, tenter de se rappeler ce qui s’est passé la dernière foisMNK4 Il peut manger la première moitié d’une sessionMRK5
Rehydratation élimine le ritual. La séquence devient : réveille l’expertM SK2 rétablit son état , poursuivre
L’État vit dans un fichier par spécialiste. C’est le contexte actualisé pour foss-, légèrement trimmée :
# foss- saved context
## Repo state
- Branch: main. My fix commit: 9b849629 (NOT pushed) - the known-bots-VeryHigh fix.
## DONE this session
- known-bots-VeryHigh fix (9b849629) - overview APPROVED, shipped:
ROOT: UpdateClaimVerificationAsync had ZERO prod callers (never wired). Every fp
stayed 'unverified' -> known bots read VeryHigh. Redeploying #115 could never fix it.
## NEXT (open, in priority order)
1. overview follow-up: add a REAL end-to-end test through the REAL store, not a double.
2. RISK display Face 1 (still OPEN): risk band missing from dashboard LIST rows.
## Guardrails
- ANY prod fingerprint-DB op = staging-first + express human go.
- CF-IP caveat: if the gateway verifies the bot against CF egress not the real client IP,
the latch never sets -> still VeryHigh.
Un nouveau foss- affiche ce qui suit et est immédiatement en vigueur. Il sait le dernier engagement, pourquoi il existeM SK2 ce qui reste ouvert , et les voies de garde qui restreignent le prochain mouvementMSC4 Aucune nouvelle découverteMST5 parce que le spécialiste l’a écrit pour son propre avenir personnelMSP6 Une règle est stricte MSV7 elle ne contient jamais un valeur secreteM SV8 qu’un indicateur vers où une personne crédible vitM Sv9
Il s’agit d’une machine à état réel, pas de métaphoreM SK1 Une session d’agent se déplace par quatre états : Unspawned, Live, Dehydrated, Exited.
flowchart LR
Unspawned[Unspawned] -->|spawn: PTY + launch prompt| Live[Live]
Live -->|write context doc, stop PTY| Dehydrated[Dehydrated]
Dehydrated -->|rehydrate: restore from context| Live
Live -->|wrap up: test, merge, cleanup| Exited[Exited]
style Unspawned fill:none,stroke:#6b7280,stroke-width:2px
style Live fill:none,stroke:#16a34a,stroke-width:2px
style Dehydrated fill:none,stroke:#d97706,stroke-width:2px
style Exited fill:none,stroke:#6b7280,stroke-width:2px
Dehydratation écrit le document de contexte et libère la PTY, pour qu’un spécialiste statiqué ne coûte rien pendant son sommeil . Rehydratation le rétablit et il est en mode de vie de nouveau M SK2 courant depuis la première tournage . Établissement est l’extrémité propre
Mettre la flottille sur un système qu’elle n’a jamais vu, et voir ce qui se passe. C’est ainsi que StyloAgent a commencé à fonctionner sur StyloM SK2Bot : le moteur
overview- a fait l’exploration. Il s’est livré à la lecture - seule l’ Exploration passe au-dessus du noyau de FOSS et a suivi le pipeline réel : un orchestrateur à portée large qui possède un réservoir de signalisation par demandeM SK3 , alimentant un moteur de détection d’une tonne unique qui détecte les ondesMSC5 commandant des atomes de détecteurMNK6 produisant un livretMRK7 puis une signature et un verdict sur le risque avec trois axes dérivées en temps de lectureMMK8
Ensuite, il a écrit cette compréhension comme suit : architecture.md : un code - un diagramme de composants fondé sur le CM SK2 où chaque composant est coloré par son agent-propriétaire. Le diagramme se double en tant que carte de propriété Grey signifie qu'il n'y a pas encore de propriétaire., et gris est un signal : il a montré que plusieurs services commerciaux n’avaient pas de spécialistes M SK2 et que le backend commercial était détenu par overview- seuls.
Il s’agit de la partie repo-outils sommaires manquants. Le résultat n’est pas un seul sommaire- qui disparaît le moment où il est écritM SK3 Il s'agit d’un document maintenu . Comme les spécialistes l’ont signalé(e). overview- folds their findings into the spec, then the architecture , then The rosterM SK2 Understanding emerges, ownership emerges–, and both keep getting more accurate instead of decayingMSC5 La carte est vivante parce que les gens qui possèdent le territoire continuent à la corriger.
Repo-les outils centraux traitent le répertoire comme l’unité du monde . StyloAgent le traite comme un détail de mise en œuvre. Les spécialistes possèdent leurs propres domaines, et non des dossiers, et un domaine croise repos.
Les deux Stylo.Bot repos sont enregistrés comme un espace de travail. foss- a la capacité de détection où qu’il se trouve, , et il vit dans les deux , liés par un fil, : que définit le moteur FOSS IFingerprintStore, les layers commerciaux échangent dans une mise en œuvre Postgres par DI . Les robots fixes connus - ont roulé sur ce filet M SK3 Il s’agissait d’un commit FOSS MSC4 mais des navires de détection se trouvaient à l’intérieur de l’image de la passerelle commerciale MST5 donc deploy- rebuilt the gateway, staging confirmed the bot now read low, and it stayed correct against the commercial Postgres store because that store sits behind the same seam the FOSS test exercised in SQLite . One changeM SK3 two repositoriesMST4 three specialistsM ST5 held together by whoever owns the seamM st6 My own packages work the same way Mst7 touch Mostlylucid.Ephemeral et vous avez changé un contrat chaque produit dépend de.
Voici la partie qui me plaît le plus. Je garde quatre répétitions en vol à l’une et l’autre, chacune avec un spécialiste qui n’a que son propre contexteM SK2 Demandez à un agent de garder quatre répétions au même moment, ce dernier randomise son contexte : les détails exacts s’infiltrent dans le raisonnement de détectionMSC4 les contraintes de déploiement faussent apparaître les règles de persistanceMNK5 et chaque réponse devient un peu pireMMK6 Des spécialistes séparés font des distinctions entre les contextesMZK7 donc quatre répercussions actives sont quatre agents ciblés MNK8 pas une seule confondueMBK9 Aucun code LLM que j’ai utilisé ne fait cela seulMRK10
L’avantage silencieux apparaît lorsque personne ne code. Dans un flux de travail normal, le moment où vous clôturez la session, l’entente est passée : elle vit dans une fenêtre contextuelle et la fenêtre est ferméeM SK3
C’est là qu’il persiste sur le disque. overview-' les documents vivantsM SK1 Ces fichiers sont la forme durable, et ils survivront à chaque remarqué.
Cela signifie que l’intention architecturale survivait plus longtemps qu’une seule personne. overview- retourne après un événement de compaction, il lit un point de contrôle qui débute avec l'état actuel et les leçons difficiles de la dernière session , et il est orienté dans une seule lecture. Quand foss- retourne, il sait s’engager 9b849629 Il n’y a pas d’incidents à signaler dans ce cas. Long-mémoire à terme n’est pas une caractéristique rattachée sur le côté. Il est intrinsèque, parce que le fait d’arrêter un travail est l’acte de rédiger ce qui était le travail.
Le message-bus fait plus que le travail de la route. Puisque les spécialistes s’y coordonnent , et chaque message atterre dans le canal,, le raisonnement qui sous-tend chaque décision est capté au moment où il se produitM SK3 Non écrit ensuite dans un doc personne ne le met à jourMSC4 Capturé en l’occurrence
La conversation est la documentation.

Voici une séquence réelle de cette flotte. overview- d'acheminer la question du risque vers foss-, marquée d'urgence :
From: overview- Priority: urgent
# PRIORITY: the RISK display+correctness on the dashboard (human: this is the WORST)
Known bots showing VeryHigh ... known-good bots should latch friendly/Verified.
Report root cause + fix.
foss- : la grille de revendication vérifiéeM SK1 n’a jamais été câblée. overview- a approuvé et ajouté deux conditions, les deux décisions techniques valables à conserver M SK1
From: overview- Priority: normal
# APPROVED - ship it (TDD). No DB op = perfect; add a REAL test of the wired flow
1. ADD A REAL TEST that exercises the ACTUAL wired flow end-to-end ... NOT one that
manually calls UpdateClaimVerificationAsync. That's the exact false-confidence gap
that hid this.
2. The CF / real-client-IP caveat is real ... if the gateway sees CF egress, the latch
never fires.
Les deux notes sont de provenance. deploy-. foss- envoi de commandes 9b849629, a ensuite remplacé l'épreuve peu profonde par une fin réelle 883a1277, et overview- clôture de la boucle :
From: overview- Priority: low
# 883a1277 real E2E test = exactly right; told deploy- to build it.
... drives the actual orchestrator + real store + real projection, no manual call ...
that fully closes the false-confidence gap that hid this.
Six mois à partir de maintenant, quand quelqu’un demande pourquoi le filet de revendication est connecté là où il se trouve , la réponse n’est pas perdue. Il se trouve sur l’autobusMSC3 dans l’ordreM SK4 avec les SHAs d’engagement attachésMST5 La décision a sa provenance parce que la décision était une conversation MST6 et la conversation a été enregistréeMSST7
Cela ne m’a pas amené à écrire plus rapidement le code. Les modèles étaient déjà rapides. Il a réduit la charge cognitiveM SK2 ce qui était le coût réel .
J’ai cessé d’être le bus d’intégration. Avant StyloAgent, j’étais le seul élément qui comprenait comment le moteur de détection, ,, la construction des passerelles,,, l’entrepôt Postgres et le pipeline de déploiement s’établissaient ensemble.,, pour que tous les croisements,-, le coupage du changement se déroulent dans ma tête et ., je me soustrais aux contraintes et à ., je m’ai rappelé les couches,M SK8, j'ai réexaminé - et expliqué l’architecture à n’importe quel agent avec lequel j’avais parlé.
Maintenant, la reconstruction se produit une fois et est écrite :
| Avant | Après |
|---|---|
| ReM SK1 Expliquez l’un-DB souder chaque session | Encoded comme invariante les spécialistes honorent |
| Contexte | |
| Rappelez-vous ce qui a été expédié lors de la dernière session |
Ce qui reste, c’est la partie qui vaut la peine de faire : décider ce qu’il faut construire , et laisser les propriétaires le construire
Il s’agit d’idées, mais pas de promesses.
Ce dernier est loin d’être, et je ne l’affirme pas.
Mon cas d’utilisation est étrange. Je suis une seule personne qui dirige ce qui représente un organisme de génie d’agents à travers une constellation de mes propres produits et paquets , pour pouvoir tenir quatre repos en vol sans que ma propre tête ne soit le créneau d’étanchéitéM SK2 La plupart des gens n’ont pas ce problème. Je ne lance pas cela comme un flux de travail que tout le monde devrait adopter.
Pour la même raison, Je n'accepte pas les contributions . Fork it, make it your ownM SK3 take it somewhere I would never think toMSC4 Les sorties sont ici si vous voulez commencer à partir d'un build plutôt que de source ♫:
Le remède n’était pas un agent de codage avec une mémoire plus grande. Il s’agissait d’un changement de forme : d’une personne qui essaie de connaître tout–, à de nombreux spécialistes qui possèdent chacun quelque chose et qui discutent les uns avec les autres.
C’est tout le truc. Pas un modèle plus intelligent, une équipe M SK2 des spécialistes qui conservent leurs domainesMSC3 un architecte qui les maintient cohérents , et un dossier de toutes les décisions qui se poursuivent pendant la session qu’elle a été prise dansMST5 Il tient l’architecture de sorte que je n’ai pas à
Voici la solution connue-risque fixe des robots,démarrage à finM SK2 puisqu’il s’est en fait déplacé dans la flotte . Chaque engagement et message ci-dessous est réelMSC4
overview- : risque de ne pas être montré , et risque d’être erroné lorsqu’il est montréfoss-, le propriétaire du moteur de détection , avec la passerelle de garde que toute empreinte digitale de productionM SK2DB re-derive a besoin d’un emplacement initial et un passage humain explicitefoss- On l’a tracé jusqu’à la grille de revendication et on a trouvé la cause réelle : UpdateClaimVerificationAsync Il a également remarqué que le test existant avait falsifié l’appel, c’est pourquoi la lacune est demeurée cachée.overview- Approuvée en vertu de la DPT et ajoutée à deux conditions sur le bus : Ajouter une fin réelle -àM SK2essai de fin , et confirmer l’avertissement IP des FC realMSC4client- avec deploy-.foss- . Commit 9b849629. Il n’est pas nécessaire d’effectuer des opérations de production par ordinateur ; il s’agit lui-mêmefoss- puis on a ajouté une fin réelle-àM SK1essai de conduite de l’orchestre réel, magasin réel , et projection réelle 883a1277.foss- écrive son contexte enregistré : 9b849629 expédition, 883a1277 atterrissait, une face encore ouverte , les rails de garde étaient portés en avant.deploy-, a été vérifié lors de la mise en place , et est devenu admissible à une séparation gardée , digest M SK3 coupe de production à l’aide d’un câblage de commandes MSC4 Lorsqu’on pose la question suivante au sujet du filet de revendications, il arrive sur foss-, qui possède déjà la réponseL’ensemble de la boucle, à mesure qu’elle se déplace sur le bus M SK1
sequenceDiagram
participant H as Human
participant O as overview-
participant F as foss-
participant D as deploy-
H->>O: the risk display is the WORST
O->>F: PRIORITY (urgent), root-cause the risk verdict
F->>F: trace projection to the claim latch
F->>O: root cause, UpdateClaimVerificationAsync never wired
O->>F: APPROVED, ship it plus a REAL end-to-end test
F->>F: commit 9b849629, then 883a1277 (real e2e test)
O->>D: rebuild the gateway from 883a1277
D->>D: staging, known bot now reads LOW not VeryHigh
D->>O: verified green on staging, ready for a guarded prod cut
Personne n’a écrit cette séquence après le fait.
© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.