The operator, 2026-11-11 about 21:30 CET: a living list of principles; the lead answers each question against it and does not register every detail. Adds 00-META/principles.md, the lead-answers file G-20 with A-1, and lets the developer take a lead answer from it. Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
1.9 KiB
1.9 KiB
status, updated
| status | updated |
|---|---|
| canonical | 2026-11-11 |
The principles
A short, living list. Every question met while building is tested against these principles and answered by the lead in one line; only a question no principle settles goes to the operator or to a decision record. A detail that a principle settles is not written down as a design line or a record. The list changes when the operator says so: add, sharpen or drop a principle in a pull request to this file.
- NATS-native. Every interaction between modules is an event, or a call over the bus where an answer is needed. A module keeps its data in the bus's own storage, and reads another module's data only by asking it, through its verbs or its tools.
- The mesh owns the truth. State lives in the mesh and is written onto the nodes from there. Nothing is changed by hand on a node.
- Failure is loud. Nothing reports success when it did nothing, and nothing fails silently. When in doubt, fail.
- A module is steered by its tools. Everything a module holds can be read, everything it does can be started by hand, and everything that goes wrong can be recovered, all through its tools.
- Everything ships the same way. The mesh's own parts go through the same build, check and delivery as any app.
- Nothing is exposed publicly. No data leaves the mesh unasked: no secret in a record, a log or a public repository, no service reachable from outside unless it is meant to be. Inside the mesh, every agent and module is trusted; who may do what is not a question to ask.
- The simplest thing that works. Prefer what already exists. No new mechanism unless it is needed, and fewer parts over more.
- One word per thing, from the glossary.
How it is checked: the one code review of a milestone checks the code against these principles and the design's shape; an answer to a develop question names the principle that settles it.