Kernl 0.3.0: alles wat een agent is, in één lade
De agent drawer brengt mandaat, tools, runtime en triggers samen in één paneel. Plus per-agent skill-aanbevelingen, MCP-verbindingen vanuit het dashboard, en macOS-builds die in de juiste volgorde worden ondertekend en genotariseerd.


Alles wat een agent in Kernl definieert — het mandaat, de runtime, de tools, de skills, wat hem wakker maakt — lag verspreid over een paneel dat vastgelast zat in de 3D-wereld en een tweede, half gedupliceerd paneel op de agents-pagina. Deze release trekt dat samen in één lade die beide pagina’s aankoppelen, en besteedt vervolgens het merendeel van de commits aan het vullen ervan.
Eén paneel, op twee plekken aangekoppeld
De agent drawer is uit de 3D-wereld gehaald en in een eigen shell gezet, met een eigen store, en wordt nu ook op de agents-pagina aangekoppeld. De boom draagt het mandaat, het standaarddoel, de toegestane tools, de variabelen, het uiterlijk en de runtime. Dat laatste is het punt: de runtime bewerk je vanuit het paneel zelf, niet vanaf een instellingenpagina drie klikken verderop.
Verbindingen, schema en event-triggers zijn één triggering-sectie geworden. Het waren drie plekken om één vraag te beantwoorden: wat start deze agent.
Skills die zichzelf aanbevelen
Elke agent heeft nu een eigen skills-tab, waar aanbevelen, installeren en koppelen op dezelfde plek gebeuren. Suggesties worden over HTTP geserveerd vanuit een scoring-core die uit de suggester-cron is gelicht, en skills uit de catalogus worden gescoord naast de skills die de agent al heeft.
Dat verschil is niet cosmetisch. De ranking beantwoordt nu wat zou deze agent hierna moeten leren in plaats van wat heeft hij al.
Skills toevoegen vanaf een repo-URL kan ook, zonder de tab te verlaten. Voor script-agents, die geen skills kunnen gebruiken, verschijnt de tab simpelweg niet.
MCP-verbindingen vanuit het dashboard
Een MCP-server toevoegen, inloggen, en het blijft werken. Daarvoor betekende dat een configbestand bewerken en herstarten.
Deze release voegt ook in-app update op Linux en Windows toe — macOS had dat al — en de Windows-installer bundelt nu de agent- en MCP-SDK’s, zodat een verse installatie een agent kan draaien zonder aparte toolchain.
Ondertekend en genotariseerd, in de juiste volgorde
macOS-builds worden ondertekend en genotariseerd, en de volgorde was wat er misging. Elke geneste Mach-O wordt nu ondertekend vóór de bundle die hem verzegelt, de .app wordt genotariseerd en gestapled voordat hij het schijfimage in gaat — zodat hij opent zonder netwerk — en de portable tarball wordt herverpakt vanuit de ondertekende bundle in plaats van de niet-ondertekende die minuten eerder was weggeschreven.
De job faalt nu ook als de zes Apple-secrets maar half zijn ingesteld. Voorheen leverde dat een wel-ondertekende maar niet-genotariseerde app op, die Gatekeeper precies zo weigert als een niet-ondertekende. Een release die zonder de secrets wordt gebouwd is nog steeds onondertekend, maar zegt dat erbij.
Wat stuk was en niet te zien
- De updateknop van de store werkte niet. Hij meldde toch succes.
- Elke
mcp__kernel__*-tool ontbrak inclaude_code-runs. De HTTP-API van de kernel is fail-closed en de MCP-server bereikte hem zonderAuthorization-header, dus/mcpantwoordde 401 en de server initialiseerde nooit volledig — geruisloos. De agent startte alsnog, vond alleen zijn ingebouwde tools en improviseerde. Hij presenteert nu het token dat het proces al heeft. - Een mislukte run liet de chatthread stil. Het paneel viel alleen terug op de run-rij als de thread helemaal geen agent-bericht bevatte, dus vanaf de tweede mislukking verdween de fout volledig: de operator zag zijn eigen bericht, geen antwoord en geen foutmelding. De reden wordt nu bewaard en getoond als een regel die de instelling noemt die het daadwerkelijk oplost. Een opgebruikt stappenbudget zegt welke instelling je moet verzetten, in plaats van “Reached maximum number of turns (15)”.
- Elke geanimeerde event-tag was dood. Het icoon droeg nooit de class waar de keyframes aan hangen, en de keyframes werden aangeroepen met een naam die Svelte al had herschreven. Pulse, spin, shake, wobble, bounce, sparkle en pop hadden nog nooit één keer gespeeld.
- Array- en object-argumenten die een executor tot strings had geserialiseerd worden hersteld, in plaats van als
"[object Object]"bij de tool aan te komen.
De “denkt na”-indicator veranderde ook. Het was een ⚙️ die boven het hoofd van de agent ronddraaide, en op kantoor-cameraafstand leest een draaiend teken als een trillend stipje. Het zijn nu drie puntjes die op volgorde ademen in het naambordje, in de flowkleur van de agent.
Zo werk je bij
curl -fsSL https://lifekernl.com/install.sh | sh
Hetzelfde commando installeert en werkt bij. Op macOS en Windows draait de update vanuit de app. De volledige details staan in de CHANGELOG, en de ondertekende rpm-, deb-, dmg- en msi-binaries staan op de releasepagina.