M7.1: extract nisse-core
CI / checks (push) Skipped
CI / checks (pull_request) Successful in 1m42s
CI / e2e (pull_request) Successful in 4m0s

What isn't the dev agent's moves to nisse-core, unchanged in behaviour,
with its tests: canonical, render, render_anthropic, llm, catalog, probe,
context, views, state, reconcile, worker, cancel, dump, transport, matrix,
execution, testing, vault, memory, oplog, envfile and gitea (whole).

- nisse_core.state.StateStore holds the tables every agent has; an
  agent's subclass adds its tables (version, migrations), roles and
  views. nisse_dev.state.StateStore adds the build VM blocks (v5).
- views.project takes what each role is shown, rather than a fixed table.
- Vault takes the agent's name (agent=), for provenance.
- A test that nisse_core never imports an agent.
- The loop, config, git, delegation, expert, tools and evals stay in
  nisse-dev until nisse-ops has a loop to share.

Docs: the Development Plan marks M7.1 done and notes that Phase 6 waits on
the agent host and Terraform; Architecture Part L names the package.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J5Utyfzw7gF7UhjRDEtjTk
This commit is contained in:
dongarandClaude Opus 5.5 committed 2026-10-13 18:37:01 +00:00
1 parent 4bbcb09c8e
commit 154a0c3fa8
119 files changed
+1086 -912

No files matched your search

+18 -7
View File
@@ -1,11 +1,22 @@
# nisse-core
The shared library both Nisse agents sit on (Part L of the architecture).
The shared library the Nisse agents sit on (Part L of the architecture). It
never imports an agent.
Most of it still lives in `nisse-dev`, to be extracted as `nisse-ops` arrives.
What is here so far:
- **Transcript and models:** `canonical` (the log's events, L7), `render` and
`render_anthropic`, `llm` (the one client, L9), `catalog` and `probe` (what
the models are), `context` (fitting a request to its window, L6), `views`
(what each role is shown of the others).
- **Durability:** `state` (the store, L8; an agent subclasses it for its own
tables, roles and views), `reconcile`, `worker`, `cancel`, `dump`.
- **Conversation:** `transport`, `matrix` (L5).
- **Execution:** `execution` (SSH to a tool VM, L13); `testing` (a throwaway
sshd for tests).
- **Knowledge:** `vault` (L10), `memory` (L6.4).
- **Operations:** `oplog`, `envfile` (L12); `gitea` (the tracker and forge, L1).
- **Authority:** `actions` (P3, P4, L4): `Action`, `Verdict`, and static
reading of shell commands, which each agent's fast-path rules build on
(`nisse-dev`'s are in `nisse_dev.loop.actions`).
- `nisse_core.actions`: actions by their effects (P3, P4, L4). The `Action`
and `Verdict` types, and static reading of shell commands, which each
agent's fast-path rules build on (`nisse-dev`'s are in
`nisse_dev.loop.actions`).
The loop is still `nisse-dev`'s, until `nisse-ops` has one to share it with
(Development Plan M7.1).