41e103c35db3e5b8ab17e8520326a2c73feef74d
Every durable mutation emits one JSON-lines event, emitted by the state store itself immediately after the commit returns, with a fixed envelope (ts, agent, event, task_id correlation ID, cause) and a dotted event taxonomy covering transitions, intents, gates, boot reconciliation, and migrations. Logs stay diagnostic-only, never load-bearing. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Nisse
Two self-hosted AI agents sharing a common library, named for the Nordic farm spirit that keeps the place running overnight and expects to be treated well in return.
| Package | Role |
|---|---|
nisse-core/ |
Shared library both agents sit on (Part A) |
nisse-dev/ |
Dev Agent — plans and implements software projects (Part B) |
nisse-ops/ |
Sysadmin Agent — operates infrastructure (Part C) |
One repository, three packages. The library does not exist as code yet: it is
extracted from nisse-dev once that agent works (build-order step 10), as a
package split within this tree.
Architecture
The system-level specification lives at
docs/Architecture-Build-Spec.md. It covers the
shared library, both agents, the supporting services, the build order, and the
remaining open decisions.