# StyloAgents arbetsflöde: Hur jag bygger och sköter stora ( och HUGE ) system med hjälp av kod LLM

<!-- category -- AI,Architecture,LLM,Agents,StyloAgent,Patterns -->
<datetime class="hidden">2026-07-18T16:00</datetime>

**Kod generering slutade vara problemet för ett tag sedan.** Modellerna skriver bra kod. De följer de konventioner som finns i pliken de redigerar , och om du pekar på ett misslyckande test så reparerar de det vanligtvis

Den del som inte fungerar är minnet.

> Nyckeln är inte längre """, kan modellen skriva koden, ?" Det är """, gör den som skriver koden att komma ihåg varför systemet är så som det är.

Varje ny sessie börjar att inte veta någonting om systemet det är på väg att förändra [Stylo.Bot](https://stylo.bot) är två lagrar , att riskbanden på brädan derivas vid läsande tid och aldrig cacherats, att det finns exakt en databaseuppkopplingsfabrik och att en SQLite-butik aldrig ska vara skuggad- skriva tillsammans med PostgresM SK3 Inget av detta är i datan som redigeras

Det här handlar om arbetsflödet jag byggde för att sluta betala den kostnaden. Jag kallar det StyloAgent, , och det är flottan som bygger och driver Stylo idag.

[![Den senaste versionen](https://img.shields.io/github/v/release/scottgal/styloagent)](https://github.com/scottgal/styloagent/releases)

[TOC]

---


## Kernproblemet: arkitektonisk drift

Stylo: s detektormotor är inte en enkel ASP-app. `SignalSink` per begäran är en svart bräda, en enda `ScheduleCoordinator` släpper tick-kadenssignaler istället för en hög av bakgrundstjänster, klassificering är närmsta - centraliserad med drift istället för regler, och domvisorn kommer fram frisch i läsbarhet istället för i kasserad formMSC3 Den formen är hela poängen med produktenM SK4 Det är vad den får lära sig från observerat beteende istället för att matcha en statisk listaMska5

Ett kod LLM vill inte bygga det där. Den vill bygga det som den har sett en miljon gånger i sina utbildningsdata : enkel CRUDM SK2 Fråga en ny agent att lägga till en egenskap och den når , varje gång , för ASPMska5 Netreflexen | |

| ASP-reflexen
|---|---|
| A `BackgroundService` per periodisk jobb | Ett `ScheduleCoordinator` som avger ticksignaler |
| A `ConcurrentDictionary` som används som en affär | Atomer håller tillståndet | ; | inget i | МSK2 | minneshärdighet ||
| A `switch` att kartlägga en sträng till en kategori | Den närmaste - Centraliserad klassificering
| Cachera den beräknade värden för lokalitet | | | Deriva den när den är läsbar |
| En bar `DbContext` i middleware | Stad lever i motorn , läsa över en napp |
| En `ILogger` för att inspektera vad som hänt. | Signaler tillkännalägsna.

Varje cell till vänster är lärobok ASP.NET och korrekt i en vanlig app. Varje cell på vänstra sidan är fel för Stylo `CLAUDE.md` som säger så, eksplicitt : centroider inte reglerar , inga bakgrundstjänster använder ScheduleCoordinatorn

Den hade inte ".". `CLAUDE.md` laddas nyss in i varje sessie , och varje session tävlar den med modellen's föregångare och förlorar

**Detta kostade veckor av omställning** Inte ett dramatiskt utbrott , en långsam blödning : `BackgroundService` återvänder till en koordinator tick, a `ConcurrentDictionary` som tyst hade blivit en parasitisk affär löscht `switch` uttalandet bytes tillbaka till en centroid-uppsökning, session efter session för sesion efter sesion . bugen var aldrig poängen . driften var poängen

Inte """, som agenten kan "'", "" t koda "", utan "" МSK3 "", den som agenterna kan "". '" kan inte hålla architecturen. "" (~) ." "" Ingen större instruktionsdatet fixade det.

---


## Skalan av saken

Skalan orsakade inte driften

Stylo.Bot är inte en leksak . Det är en robot-detektorplattform M SK3 en FOSS-detektor som driver fram webbapps genom ett YARP-portaal , plus en kommersiell lager med flotta-management MSC5 en live konfigureringseditor M SK6 Postgres och pgvector-härdighet MST7 kommersiella LLM-leverantörer Mst8 en rapporterande maskin M ST9 membership and per M st10 domain licensing M S T 11 and a Kubernetes operator M T 12

Counted honestly:

- Två stora lager för Stylo.Bot : den FOSS-detektormotorn och den kommersiella skivanM SK2
- Ungefär tjugo projekt, -, fem inom enbart den kommersiella repon.
- En massa av mina egna NuGet-paket som jag delar produkterna med : [`Mostlylucid.Ephemeral`](https://github.com/scottgal/mostlylucid.ephemeral) (substansen [`StyloExtract`](https://github.com/scottgal/styloextract), [`StyloFlow`](https://github.com/scottgal/styloflow), [`StyloIssues`](https://github.com/scottgal/styloissues), [lucidVIEW](https://github.com/scottgal/lucidview).
- Infrastrukturen : Helmbilder , en mikrok, 8, en kluster, M SK3, en hemlig affär, ,, ett behållareregister,.
- En marknadsföringssida som driver checkouten och inbäddar den riktiga brädan

Varenda en av dem är en yta som driften kan läcka in i, och en ny agent måste hålla samma efemerisk disciplin på alla.. En förändring till en enda detektionstrådsrippel i porten, ,, den kommersiella pluginn, ,, brädselprojektionen,,, och utplaceringen av ledningarna.M SK5, Att skriva om förändringen var aldrig det svåraste, M SK6, Att hålla arkitekturen stabil medan man gör den, MSC7, överallt när den landar, MST8, session efter session, M st9, var MST10

---


## The Myth of the Single Super

Industrin strävar efter samma svar. : ger agenten mer kontext. ♫ . ♫ större fönster ♫ МSK2 ♫ miljon ♫ ♫ - ♫ tokenproppar ♫. ♫ RAG för att plocka in de rätta plierna ♫

**Allt det där förbättrar att hämta data. Ingen av detta förbättrar förståelsen.**

Lösning hittar den relevanta pliken. Understanding vet varför filet är så som det är , vad oviktiga det skyddar , och vad som bryter bort två lager om du ändrar det M SK3 Ett större fönster låter en agent läsa mer på samma gång MSC4 Det låter agenten inte minnas vad han avslutade förra Dienstag

Den där "-", derivationen är den verkliga kostnaden, ".," Titta på en kalla agent som startar på Stylo.

1. Det gräpar för detektorröret.
2. Den läser orkestern
3. Det visar sig att bedömningen har tre axlar och består av:
4. Det märker att det kommersiella pluginet ersätter FOSS-trådar genom beroende-injiction.

Trettio minuter senare vet den tillräckligt för att göra en förändring i linjen.

En smartare sök är fellösningen. sökandet själv måste sluta hända

---


## Hur människor faktiskt bygger mjukvara

Ingen enda ingenjör förstår ett helt företagssystem... Ingen i ett riktigt företag har några betalningar.,. auth. ,. Den datauppkopplingen, ,. och framsidan i huvudet med full upplösning på en gång.M SK4. Det är inte ett misslyckande.

Teamer delar upp systemet i domener och lägger en specialist på varje en.

**Ägande betyder mer än encyklopediska kunskaper.** Specifiken behöver inte veta allt. De måste känna till sitt område djupt. De behöver veta vem de ska fråga om resten.

Vad som håller ett söndervittnat system jämlikt är kommunikationen... Den som betalar talar med authpersonen innan de ändrar tokensformatet... En dragning sträcker sig över en gräns och ägaren av den gränsen väger i .. Architekturen är konsekvent, inte för att en person har allt det, ,. Men för att människorna som har delar av det pratar med varandra.

Det här fungerar. Det är hur varje riktig grupp fungerar . Koderingsagenter kör på motsatsen sättet

---


## Mitt problem var annorlunda

Den driften skulle vara störande i en liten app... Över alla system som jag äger är den korrosionell, ,. De är inte ett system... Det är separata produkter.M SK3. De finns i separata lager.

substratet är `Mostlylucid.Ephemeral`, min egen NuGet-package ♫ : ♫ Executions primitiver och dataflödet ♫ Detektormotoren är byggd på ♫ `StyloExtract` för layout-fingerprint matching, `StyloFlow` för signaldrivna arbetsflöden och licensing `StyloIssues` för feedback UX på marknadsföringsplatsen [`Mostlylucid.Avalonia.UITesting`](https://github.com/scottgal/lucidRESUME) genererar dess skärmdumpar. Jag bygger upp produkterna med verktyget , och jag bygger upp verktygen från produkterna

Det är det riktiga dogfooding, och det är vad som gör drift farligt. `BackgroundService` eller `ConcurrentDictionary` är inte att täcka en app. Det är att utplåna ett paquet varenda en av dessa produkter står på . Drivet skeppen i ett lager och ytter i ett produkt två lager bort , där agenten som skrev det aldrig ser ut

**Ett driftat primitivt. Varenda produkt som byggs på det.**

Kodering var aldrig det svåraste i denna skala.

---


## Eigenskap, Inte Kontext

Kontexten är fel axeln... Kosten skalas med antalet sestioner, ,. Inte storleken på fönstret.,. Så ett större fönster förlorar ett längre projekt varje gång.

> Problemet är inte """, "" Hur ska jag ge en agent mer sammanhang? "" "?"," Det är "" ", "" hur ska jag få många specialister att äga det hela? "".

Lade in kunskap i ett fönster och den dör med det fönsteret.

Ett sammandrag betalar för att utöka systemet, inte för att återskapa det. Det är ett nytt jobb varje morgon jämfört med en grupp där människor håller sina jobb.

---


## StyloAgent-modellen

StyloAgent omvandlar den strukturen till igång processer. De delar :

- **Übersicht** : arkitekten och koordinatorn (`overview-`). Den håller de tre levande dokumenten. (spec, , arkitektur, ,, roster, ),, utövar omständigheter i området, mska5, och riktar inkomende arbeten, m ska6, den gör inte själva domenskapen, m Ska7
- **Specialister** : domainägare. `foss-` ägar det detekterande motorn. `deploy-` ägar byggnaden `mae-` ägar membership och e-commerce. `dash-` och `edit-` äga brädans skriv- och leesvägar. `prod-` ägar plattforms säkerhet. `test-` ägar paketet. Var och en ägar plier, inte uppgifterM SK2
- **meddelandebussen** : en git- --- -backed- -,- -file, -- -drop-channel med `inbox`, `outbox`, `archive`, och `saved-context`. meddelanden har prioritering och yta vid en agent
- **Rehydratering och dehydratering** : varje agent håller ett levande sammanhang dokument . Det avvätter när det stannar och återvättar när det vaknar
- **arbetsyta** : den FOSS-repo och den kommersiella repo-registren som ett arbetssutrymme . Architekturen existerar ovanför båda
- **Kommunikation** : en svår regel . Stanna i vägen . Sköra en blocker i en file du inte äger `overview-` snarare än att kollidera med ägaren

![StyloAgents cockpit, agenter :, och Signalbussen till vänster, ,, ankarbara agentterminale i mitten, ,, och en tidsram. /, dokument. /, problem. M SK5, färdriktning.](/articleimages/styloagent-cockpit.png)

### Vad är det egentligen

StyloAgent är en cockpit för skrivbord. `claude` process som körs över en PTY, med sin egen terminal i cockpiten, sin egen git-verkträde , och sin egen kontextdokumentM SK3 Kockpitet hostar MCP servern agenterna ropar på och haken som rapporterar deras tillståndMSC4 Produkten själv är byggd av fyra ägareMska5 och arkitekturen dubbeldubblas till egenskapskartan M Ska6

```mermaid
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 är kärnan** Kockpitet hyser en MCP server, och allt som en specialist gör för att koordinera är ett MCP verktygslog mot det, inte en konvention eller file den hoppas att en annan agent läserM SK2 Verbenssättningen är koordineringslayern MSC3

- `send_message` / `check_inbox` : bana arbeta och dra den , prioritering
- `spawn_agent` : en ägare delar ut en ny specialist under den
- `claim` / `heartbeat` / `release` : serialisera tillgången till ett gemensamt utrymme
- `dehydrate_agent` / `rehydrate_agent` : parkera en specialist och återställa den
- `wrap_up` : test
- `report_issue`, `architecture_impact`, `agent_color`, `list_fleet` : la in en blocker , titta på en designförändring innan den når landet ♫ , ♫ hålla listan och C ♫ ♫ med 4 ♫ i ett färgsystem ♫

Filen, drop-channeln under, är den hållbara spåren av vad som sagts, ,, inte mekanismen. . Mekanismen är den MCP-server som levererar till en live agent vid sin vrid gräns.. Git-arbetaträd ger varje specialist ett isolerat träd att delta i, men MCP: s lager är det som gör dem till en flod istället för en uppsättning processer som råkar dela en folder.

![Aktivitetstimmarn:, den senaste-, första signalen från varje agent', verktygsoperationerna med den filen den rörde,, livscykeln och uppmärksamheten,, och meddelanden som de skickar över bussen.](/articleimages/styloagent-timeline.png)

### Hur busen faktiskt levererar

`send_message` skriver en hållbar markerdown-plik in i kanalen och levererar också i `ChannelDeliveryCoordinator` tittar på nya filer , håller en uppbyggd uppsättning så att varje meddelande levereras exakt en gång

Hur svårt ett meddelande avbryter är inte ett gratis `DeliveryMode` enum, en avbrottsladder M SK1

```csharp
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
}
```

Tillförseln är stilla.- är inspelad och på: - minst, - en gång, M SK3 och erkänningen är en observationerad sida.- effekt, , inte ett löfte. . Ett brådskande meddelande bryter sig in i den nuvarande vridningen,. ett normalt väntar på nästa stilla prompt så att det inte korrumper en agent mitt i tiden.

### Hur ägande är åstadkommit

Att stanna i vägen är inte ett välsignat system. `ownership.yaml`, och ett `OwnershipMap` löser vilken repo som helst, relativ väg till den agentpräfixen som ägs den, , Most

```csharp
// most-specific glob wins, so a session- carve-out inside cockpit-'s
// src/Styloagent.App/** beats the broad glob
public string? OwnerOf(string? path) { /* ... */ }
```

Ett PreToolUse-grind konsumerar den lösningen och hindrar en agent från att skriva en file som en annan agent äger, med vettiga undantag. `overview-` kan korsa gränser eftersom det utvärderar.

### Den levandedocs-loopen

`overview-` är inte fristående. Deras systempropt sätter den på ralar : arbetar högst upp, -, neråt i tre lager,,, och hoppar inte framåt

```mermaid
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
```

Specifiera först : vad systemet är , kom överens med människan innan något annat . Sedan forma | : | ett enda C-komponentsdiagram där varje komponent är färgad av dess avsedda ägare |. | Sen en flotta | МSK6 | en föreslagad agent per topp | `overview-` folds back in their findings into the spec, re- derives the shapeM SK2 and adjusts the fleet . De tre dokumenten stannar ett levande föredrag av designen istället för att förvandlas till fiktion

---


## Specialister istället för uppgifter

De flesta agentverktyg skapar arbetskrafter . Beskriv en uppgift, en arbetare snurrar upp sig , gör det, , försvinner MSC4 Nästa uppgift får en ny arbetare utan minnet av den sista M SK5 Expertise samlas aldrig eftersom det inte finns något att samla in i

StyloAgent skapar experter `foss-` är inte en arbetare som rörde vid detektorn en gång.

![Flottens roster: varje specialistfärg - kodad med prefixen M SK2 äga ett subsystem , med föreslagna agenter som människan kan spända med en knapp klick](/articleimages/styloagent-roster.png)

Välkända robotar visade sig på brädan med mycket hög risk. `foss-` gjorde inte det, eftersom `foss-` visste att prognosen redan existerade och visste var man skulle titta under den. `UpdateClaimVerificationAsync`, hade **färre kunder i produktion**. Boksskriven och aldrig ansluten . Varje fingeravtryck blev för alltid oavverifierad M SK2 så att varje känd robot läste som mycket riskfylld , och om man omprövade projektionen hade aldrig kunnat fixa det

Den diagnosen kom från ansamlade ägande. `foss-` hade redan kartlagt orkestern

StyloAgent bevisar detta på sig själv. verktyget är byggt av sin egen flotta : `cockpit-` ägar Avalonia-skivan, `bus-` ägar koordinering och levererande, `session-` ägar ptyler och äggstockningsmaskin, `repo-` owns git and the document library. Standing owners, not one - shot tasksM SK3 De svåra lärdomarna de lär sig får skrivats in i sin kontext så att de aldrig lär sig om dem igenMSC4 Ett riktigt fragment från `session-`' sin egen kontextdokument :

```
## 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).
```

En arbetskraft som baserar sig på en uppgift, -, träffar den kollisionen. `session-` träffa det en gång , förstod varför, och kodade lösningen som en del av vem den är

---


## Rehydratering istället för återuppfinning

Ett kallt sammandrag börjar med en ritual : söka kodenbasen , sammanfatta vad du hittar , rekonstruera arkitekturen МSK3 försöka komma ihåg vad som hände förra gången M SK4 Den kan äta den första halvan av sammandraget

Rehydratering tar bort ritualen

Staten finns i en enda file per specialist. Detta är den faktiska sparade kontexten för `foss-`, lätt trimmade :

```
# 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.
```

En ny `foss-` läser det och är omedelbart nutids.. It knows the last commit , why it exists , what is still open , and which guardrails constrain the next move . No rediscovery , because the specialist wrote this for its own future self . En regel är strikt, :, den innehåller aldrig en hemlig värde ,, bara ett tecken på var en trovärdig lever

Det här är en riktig statmaskin. `Unspawned`, `Live`, `Dehydrated`, `Exited`.

```mermaid
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
```

Dehydratering skriver in kontextdokumentet och släpper ut PTY: n, så att en parkad specialist inte kostar något medan den sover . Rehydratering återställer det och det är Levande igen , strömmen från första vridningen M SK3 Märg upp är den rena utgången | : cockpiten kör projektet |' | tester | МSK6 | sammanfogar arbetsträdet till huvuden ♫ , | och tar bort det | , | eller i ett misslyckande håller arbetsträde och sparar ett problem för trimning | . | inget av detta beror på att ett kontextfenster är varmt |

---


## Understanding Existing Systems

Släng flottan på ett system som den aldrig sett förut, och se vad som händer. Det är ungefär så StyloAgent började med Stylo . Bot M SK3 motorn ' kärnanlogiken levde i syskonlig FOSS-databasen MSC5 och ingen i flottan förstod det ännu MST6

`overview-` gick ut och undersökte.. Den körde läsning.-. enbart utforskning passerar över FOSS: s kärna och spårade den riktiga pipelinen.

Sedan skrev den den förståelsen ner som `architecture.md` : en kod - grundad C4 komponentdiagram där varje komponent färgas av sin egenmaktpersonM SK3 Diagrammet dubbleras till egenskapskartan **Grys betyder att det inte finns någon ägare än**, och grått är en signal : den visade att flera kommersiella tjänster inte hade någon specialist `overview-` ensam.

Det är den delen som återställs.-, sammanfattningsverktyg missar.., utgången är inte en enda sammanfattning, -, som går sönder när den är skriven. `overview-` folds their findings into the spec , then the architecture, thenthe roster. Understanding emergesM SK3 ownership emerges~ , and both keep getting more accurate instead of decaying~ . The map is alive because the people who own the territory keep correcting it ~ .

---


## Att arbeta över flera lager

Repo-centrerad verktygslära behandlar arkiven som en enhet i världen . StyloAgent behandlar det som ett implementeringsdetailt **Specialister äger domains, inte ord**, och ett domein korsar repos

De två Stylo.Bot-repositorna är ett arbetsrum `foss-` har detektorn var den än bor, ,, och den bor i båda, ,, sammankopplad med en simm, M SK2, som FOSS-motoren definierar `IFingerprintStore`, de kommersiella skivorna byter i en Postgres-implementation genom DI . De kända apparaterna ställde upp sig i samma takt som . Det var ett FOSS-kommit, ,, men det detekterade skeppen inuti den kommersiella portbilden. `deploy-` byggde tillbaka portaalet.,. Staging bekräftade att roboten nu läser lågt, ,. Och det blev korrekt mot den kommersiella Postgres-butiken eftersom affären sitter bakom samma band som FOSS-testet utövat i SQLite. `Mostlylucid.Ephemeral` och du har ändrat ett kontrakt varje produkt beror på.

Här är den delen som jag gillar mest. Jag håller fyra återhämtar på flyget på en gång , var och en med en specialist som bara har sin egen kontext . Säg till en agent att hålla fyra återhimtar samtidigt och den slumpviserar sin kontext M SK3 auth detaljerna blöder in i det detekterande resonemanget MSC4 användandets begränsningar förvrängar upphållighetsreglern MST5 och varje svar blir lite värre M ST6 Separata specialister håller kontexten avskilda M st 7 så fyra aktiva återhämmtar är fyra fokuserade agenter M St 8, inte en förvirrad agent

---


## Architekturen sover aldrig

Den tysta vinsten visar sig när ingen koder.

Här stannar den på disken. `overview-`'s levande dokument. De här lêerna är den hållbara formenM SK2 och de överlever varje gång man startar upp igen . Det finns ingen daemon-haltende tillstånd i minnet som en olycka skulle radera

Det betyder att arkitekturella syften överlever alla individuella `overview-` kommer tillbaka efter en kompakterings händelse, den läser en kontrollpunkt som börjar med den nuvarande tillståndet och de hårda lärdomerna från den sista sessionen , och den är riktad i ett svar `foss-` kommer tillbaka, den vet att skicka `9b849629` skickats och ett ansikte av riskfrågan är fortfarande öppet **"Long-" är inte en egenskap som trycks på sidan, . är en egendom**, eftersom det är handlingen att stanna upp och skriva ner vad arbetet var

---


## Varje beslut har rättfärdighet

meddelandebussen gör mer än bara färdriktning... Eftersom specialisterna samarbetar genom den,,. Och varje meddelande landar i kanalen,,. Begrunden bakom varje beslut fångas när det händer... Ingen skriver upp det efteråt i en dokumentation och ingen uppdaterar det.

> Konversationen är dokumentationen.

![uppmärksamheten- första Signalbussen : en pinnerad " behöver uppmärksamhet " grupp av oberättigade trådar M SK4 sedan Den senaste Mska5 sedan Argiefen Mske6 varje rads färg, Mska7 kodad av deltagarna med statusgliff.](/articleimages/styloagent-bus.png)

Här är en riktig sekvens från den här flottan. `overview-` att rikta riskfrågan till `foss-`, markerad som akut :

```
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-` undersökt och kom tillbaka med orsaken. `overview-` godkännade och lagt till två villkor , båda tekniska beslut som är värda att behålla :

```
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.
```

Båda notterna är bevisande. Den första registrerar att en tidigare test låtsas flödet och gömde bugen, så den här gången måste testet köra den riktiga vägenM SK2 Den andra registrerar ett gränsöverskridande risk `deploy-`. `foss-` skickade kommando `9b849629`, erbjöd sedan den slätta testen med en riktig ända `883a1277`, och `overview-` stängde loopen :

```
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.
```

Sex månader från nu, när någon frågar varför klagnätet är kopplat där det är, så är svaret borta.., det är på bussen, ,, i ordning.,, med kommandosnummern ., beslutet har bevis för att beslutet var ett samtal.

---


## Varför minskade min arbetsbela

Det fick mig inte att skriva koder snabbare.

**Jag slutade vara integreringsbussen** Innan StyloAgent, var jag den enda som förstod hur det detekterade motorn, ,, portöppningen, ,, Postgresaffären, M SK3, och utplaceningsröret passade ihop. ,, så att varje kors,-, slitte bytes genom mitt huvud. ., jag höll på med begränsningarna, MSC7, jag kom ihåg trådarna, МSK8, jag upprepade -, förklarade arkitekturen till vilken agent som helst som jag pratade med.

Rekonstruktionen sker nu en gång och är skriven :

| Innan | Efter |
|--------|-------|
| Reda - förklara den ena | - | DB simmar varje sessie | МSK3 | Koderad som en invariant
| Kontext
| Kom ihåg vad som skickats i den senaste sessien | Den sparade kontexten kommer ihåg mig |

Det som finns kvar är den delen som är värt att göra, att bestämma vad man ska bygga, och låta ägaren bygga det.

---


## Vart det skulle kunna ta sig

Det här är idéer.,, inte löften.., arbetsflödet fungerar idag för en ingenjör och en flotta.M SK2, riktningen den pekar på är mer spekulativ

- **Cross-Maschinensexperter.** En flotta skulle kunna sprida sig över maskiner.
- **Teamsamarbetande.** Fler ingenjörer som delar en flotta.
- **Avlägsna expertis.** En expert som äger ett domein som är tillgängligt för människor som inte äger det.
- **Samlade specialistpaket.** En detekteringsspecialist eller en Kubernetes-specialist som handskas till ett annat lag som startpunkt istället för att byggas från ingenting.
- **Organisationen-allgemeinen arkitektonisk minne.** Den sammanlagda förståelsen som valdas av specialister som överhärdar människorna som lämnar och går med i skolan, så kunskapen går inte ut genom dörren när ingenjören som höll den gör det.

Den sista är långt borta, och jag säger inte det.

---


## Ett märkligt användande fall, och inga bidrag

Min tillämpningsfall är konstig. Jag är en person som driver vad som amounterar till en ingenjörsorganisation av agenter tvärsöver en konstellation av mina egna produkter och paket , så jag kan hålla fyra återflygningar i flyg utan att min egen huvud blir trängselkörteln.

Av samma anledning accepterar jag inte bidrag.

[![Den senaste versionen](https://img.shields.io/github/v/release/scottgal/styloagent)](https://github.com/scottgal/styloagent/releases)

---


## Slutsatsen

Rättelsen var inte en kodagent med större minne, det var en förändring i form, från en agent som försöker veta allting, till många specialister som alla äger något och pratar med varandra. . Eigenskapen är uthärdlig, ,, resonemanget lever på bussen,,, och arkitekturen lever inte längre bara i mitt huvud.

Det är hela tricket.

---


## Appendix : arbetsprocess i praktiken

Här är den kända "-" -bots riskfixen , , -start till slut, , -eftersom den faktiskt rörde sig genom floden, . - Varje kommando och meddelande härunder är riktiga.

1. **Übersicht får begäran.** Jag sa till flottan att det värsta på brädan var riskpanelen. `overview-` framställde det som en undersökning med två ansikten : risken att inte visas , och risken för fel när det visas
2. **Übersicht Router till specialisten.** Ett viktigt meddelande till `foss-`, detektionsmotornägaren , med bevakningstråden att alla tillverkade fingeravtryck
3. **Specialisten undersöker** `foss-` following it to the claim latch and found the real cause : `UpdateClaimVerificationAsync` hade inga telefoner i produktion
4. **Debatten pågår.** `overview-` som godkännas under TDD och lagt till två villkor på bussen. : lägga till ett riktigt slut, -, till -, sluttestet och ,, och bekräfta CF: s riktiga slut, `deploy-`.
5. **Kodagenten implementerar.** `foss-` kopplade latschen vid orkesterns band. `9b849629`. Ingen produktions-DB-operation krävs ; den gör sig själv M SK2 läker som robotar gör igen
6. **Test körs.** Det första testet bevisade att affären kallades ".". `foss-` och sedan voegde vi till ett verkligt slut , -, till -, End test driving the actual orchestrator, ,, real store, ,, and real projection, M SK4, commit `883a1277`.
7. **Dokumentationuppdateringar.** Inget separat. Root orsaken, de två villkoren , och de bindande SHAs är alla på busen i ordning
8. **Dehydraterar specialisten.** `foss-` skriver sin sparade kontext : `9b849629` skickad, `883a1277` landade, ,, ett ansikte fortfarande öppet, ,, vaktvägar förflyttade framåt,.
9. **Vetenskapen bevaras** Fixen körde in i en vägg för att bygga om som ägs av `deploy-`, kontrollerade på inställningen , och blev möjliga för ett beskyddat, digestM SK3 tryckt ned produktionssdröjning, . När nästa fråga om rättsloggen kommer fram `foss-`, som redan äger svaret

Hela kretsningen , när den rörde sig över bussen :

```mermaid
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
```

Ingen skrev upp den sekvensen efter det faktum att det är den faktiska ordningen av meddelanden på bussen, och det är dokumentationen.

---


## Related Articles

- [Varför misslyckas LLM som sensorer](https://www.mostlylucid.net/blog/llms-fail-as-sensors) - kategorins fel när man använder en sannolikhetssynthesizer som en gränsenhet
- [MCP är en transport](https://www.mostlylucid.net/blog/mcp-is-a-transport-not-an-architecture) - varför arkitekturen lever ovanför protocoln , inte inuti den
- [Stylo.Bot: Hur fick kisser smartare M SK2Teil 2)](https://www.mostlylucid.net/blog/botdetection-part2-signature-pipeline-and-stylobot-architecture) - det detekteringsmotor som den här flottan bygger och kör
- [Sidecar-arkitekturen](https://www.mostlylucid.net/blog/sidecar-architecture) - hur Stylo.Botmotorn kopplar till vilken hög som helst