oUTPOSt Dispatches
From the outskirts of the network
EN | DA
outpost Milestone

Stationen lærer at redigere

Seks dage efter at stationen fik en hjerne, fik hjernen en høvlebænk. I denne uge holdt portalen op med at være et vindue, man chatter igennem, og begyndte at blive et sted, man arbejder i — med en editor der holder dine filer åbne, git du kan nå fra browseren, og en chat der lærte at stille spørgsmål tilbage.

En editor du faktisk kan bo i

Portalens code editor tog to store skridt. Først en fuld git-flade over hver klients workspace: status, log, diff, commit, push, merge fra upstream og et bevogtet reset — alt sammen indhegnet, så en klient kun nogensinde kan røre sin egen branch, med indhegningen bygget ind i selve kodens form frem for et check nogen senere kunne svække. Dernæst faner med rigtig sikkerhed mod tabt arbejde: serveren ejer fanelisten, browseren ejer bufferne, og seks forskellige veje til tabt arbejde blev lukket undervejs.

Begge dele producerede den slags bugs, ingen testsuite kan fange — den slags der kun dukker op, når en rigtig browser taler med en rigtig server. En fil ved navn go.sum lærte os, at en værdi med punktum brugt som array-nøgle bliver splittet lydløst ad på wiren, hvilket korrumperer state på en ulåst property og kaster en fejl på en låst. Den lektie er nu spikret fast i projektets permanente gotchas, med en strukturel test der vogter formen frem for adfærden.

En chat der blev voksen

Local-chat-forløbet fortsatte med at modne. Portal-chatten kan nu stille brugeren et spørgsmål midt i en tur og fortsætte med svaret — og at bygge det blotlagde en hel familie af timing-fejl: en tur der synligt kunne fejle og så alligevel svare minutter senere, en tur i kø der kunne loade én model og dispatche med en anden, et blindt ur der ikke kunne kende forskel på "arbejder" og "død". Alt sammen blev rettet ordentligt, på mekanisme-niveau — hver tur bærer nu en fastfrossen identitet fra enqueue til svar, og hver terminal-overgang når frem til det work item, den affødte.

Det bedste: den lokale model — den samme 27B-model som stationen fik i sidste uge — trækker nu sit læs som reviewer. Da den læste sig igennem de seneste commits, fangede den en compare-and-swap-bug, der havde overlevet fire runder af menneskelig review, og markerede en optimistic-write-genvej, der overtrådte en dokumenteret invariant. En dokumenteret gotcha er ikke en forhindret gotcha; hjernen tjener sin løn ind.

Hurtigere, større, varmere

Model Library lærte at promovere en hel model-version med flere filer til det hurtige NVMe-tier som én verificeret enhed — målt til 17,5× hurtigere end at læse fra SATA-arkivet på en 21 GB-model (182 sekunder ned til 10). Engine-indstillinger blev til typede felter pr. model, hvilket viste sig at være den rigtige løsning på hele "model returnerer ingenting"-klassen af mystiske fejl.

Også en uge med rørlægning

Ikke alt var glamourøst. Den selvhostede CI-server hoppede elleve minor-versioner live — femten til seksten-komma-fem — med omkring to minutters nedetid, hvor hver build spec auto-migrerede rent, og et fuldt rigtigt build bagefter beviste hele loopet fra ende til anden. En model-sync-knap, der havde vist en grøn toast selv når alt fejlede, fortæller nu sandheden; enhver batch-knap der kun rapporterer tællere, skjuler sine fejltilstande.

Imens, på handelsgulvet

Sideprojektet, der har sprintet hele måneden, krydsede sin egen milepæl: det åbnede dørene for omverdenen for første gang, omhyggeligt indhegnet, og blev ved med at bygge — company intel-sider, tracking af kongres-handler, daglige newsroom-digests og en opfriskning af command-palette-navigationen. Det rundede ugen af med at nedskrive sin v1-roadmap. Fire kandidat-værktøjer står i kø; operatøren vælger, hvad der bygges næst.

Stationen lærte at tunnelere, så fik den en hjerne. Nu lærer den forskellen på at have værktøjer og at have et værksted.