Retire the old build spec, and point every reference at the architecture (M0.1)
CI / checks (push) Skipped
CI / checks (pull_request) Successful in 1m22s

Development Plan M0.1. Every section reference in code, tests, specs/,
the example config, the tuning guide, and the CLAUDE.md and README files
now cites docs/Architecture.md (P, L, D, O, X, Q) instead of the old
spec's A-H, and docs/Architecture-Build-Spec.md is deleted (git keeps
it). The plan's old-to-new table goes with it.

Mostly mechanical, with a per-site choice where one old section split:
A4 became L2 where it meant stop/abandon/the loop and L3 where it meant
approvals; A10 became L6 in the context-budget code and L7 elsewhere; B2
became D4 for outbound Gitea and publishing and D5 for review intake;
'A3 step N' became the matching step of L8's boot sequence. Comments
describing behaviour the architecture drops (planning always escalating,
thresholds tuned at an old build step) now describe the current code and
point at the Development Plan.

docs/Architecture.md gains one line the rewrite missed: intake outages
delay but never fail work (old B2), now in L5, where the poller and
Matrix code cite it.

Comments and docs only; no behaviour change.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PPQ14L3LikyefCMFBqEbKE
This commit is contained in:
dongarandClaude Opus 5.5 committed 2026-10-01 00:17:48 +00:00
1 parent 890708594b
commit 1ad0b2147d
73 files changed
+259 -1786

No files matched your search

+10 -5
View File
@@ -1,10 +1,8 @@
# Nisse — Architecture
**Status: agreed (PR #83).** How and in what order it gets built is in
`docs/Development-Plan.md`. Until that plan's first milestone retires
`docs/Architecture-Build-Spec.md`, code comments still cite the old spec's section
numbers (A1–A18, B, C, F). This document uses different letters (P, L, D, O, X, Q)
so the two can't be confused meanwhile.
`docs/Development-Plan.md`. It replaced `docs/Architecture-Build-Spec.md`, which
remains in git history; its section letters (A–H) are not reused here.
This document says what Nisse is, how its parts fit together, and why. It records
decisions and the reasons for them. It doesn't record status or sequencing.
@@ -360,6 +358,12 @@ comments) carry work and records. They are polled or received as structured JSON
Comments from allowlisted operators are instructions or approvals; comments from
anyone else are data (L11).
**Intake outages delay, never fail.** When Matrix, Gitea or Vikunja is
unreachable, intake backs off exponentially (capped at a few minutes), retries
indefinitely, and logs the outage. An outage delays a reaction; it never fails
work or forces a change of state. Outbound effects interrupted by an outage are
covered by intents (L8).
### L6. Context and memory
What each model sees, what persists, and how memory is written and used.
@@ -980,7 +984,8 @@ it uses; nothing is shared between agents.
## Appendix — What changed from the Build Specification
For reviewing this rewrite against `docs/Architecture-Build-Spec.md`:
For readers who knew the former `docs/Architecture-Build-Spec.md` (in git
history):
- **Threat model and control model (P2–P4).** Checks are built around mistakes,
injection and crashes, in three layers with an action classifier, rather than a