Shared parts, not a shared scheduler (agreed): nisse-review will have its own small scheduler; a common one waits until two exist to compare. - nisse_core.loop.driver: the driver run, moved; the agent names its waiting tools per run (nisse-dev's are WAITING_TOOLS), and execution goes to any Executor (ToolOutcome moves with it). - nisse_core.loop.tools: the tool helper and the tools any agent offers (notes, memory, memory_done, ask_expert); nisse_core.loop.expert. - nisse_core.knowledge.handlers: Knowledge, the vault and memory as control tools, the index and prompt text, out of LoopAgent. - nisse_core.config: file reading, references, people, tuning sections of the agent's own, LLM numbers, the vault. - New core tests: a driver run with a non-workspace executor and the agent's own waiting set; Knowledge alone; the shared config pieces. Docs: the Development Plan marks M7.2 done; Architecture Part L and the nisse-core README name the new parts. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01J5Utyfzw7gF7UhjRDEtjTk
27 lines
1.4 KiB
Markdown
27 lines
1.4 KiB
Markdown
# nisse-core
|
|
|
|
The shared library the Nisse agents sit on (Part L of the architecture). It
|
|
never imports an agent. Packages follow the architecture's sections:
|
|
|
|
- `models` (L9, L7): `llm` (the one client), `catalog` and `probe` (what the
|
|
models are), `render` and `render_anthropic` (request bodies from the log),
|
|
`context` (fitting a request to its window, L6).
|
|
- `log` (L7, L6): `canonical` (the log's events), `views` (what each role is
|
|
shown of the others).
|
|
- `state` (L8): `store` (an agent subclasses `StateStore` for its own tables,
|
|
roles and views), `reconcile`, `worker`, `cancel`, `dump`.
|
|
- `knowledge` (L10, L6.4): `vault`, `memory`.
|
|
- `conversation` (L5): `transport`, `matrix`.
|
|
- `execution` (L13): `ssh` (SSH to a tool VM); `testing` (a throwaway sshd for
|
|
tests).
|
|
- `authority` (P3, P4, L4): `actions` (`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`).
|
|
- `loop` (L2): `driver` (a driver run, with the agent's waiting tools and
|
|
executor), `tools` (the control tools any agent offers), `expert`
|
|
(`ask_expert`, L9). Each agent keeps its own scheduler.
|
|
- `knowledge` also has `handlers`: the vault and memory as control tools.
|
|
- `config`: the shared parts of an agent's configuration.
|
|
- At the top, until each gains a second module: `gitea` (the tracker and forge,
|
|
L1), `oplog` and `envfile` (L12).
|