WBS: 3.7 and 3.8 done, with the one check 3.8 still owes

This commit is contained in:
2026-09-26 23:34:04 +02:00
parent 9510bf5311
commit fbf9440e8e
+8 -3
View File
@@ -247,10 +247,15 @@ pays for itself furthest away.
before dialling and the library's own name check happens beside it. **The bus's certificate before dialling and the library's own name check happens beside it. **The bus's certificate
must carry a subject-alternative name matching the address nodes dial it by**, or the must carry a subject-alternative name matching the address nodes dial it by**, or the
connection is refused by a library error rather than by anything the mesh says. connection is refused by a library error rather than by anything the mesh says.
- [ ] 3.7 the sdk's three stale comments, and nothing else in it - [x] 3.7 the sdk's three stale comments, and nothing else in it — three lines, which is the
- [ ] 3.8 **the declaration model** of [design 29](29-what-a-module-declares.md): local names whole of the sdk's diff for the bus change, and the measurement that predicted it
- [x] 3.8 **the declaration model** of [design 29](29-what-a-module-declares.md): local names
derived to subjects, the three namespaces, permissions computed from a declaration, and a derived to subjects, the three namespaces, permissions computed from a declaration, and a
manifest that contains no subject manifest that contains no subject. Done in the controller's composer (permissions, streams,
consumers) and in the runtime's client (subjects derived from the credential, never named
by a module). What is **not** done is enforcing "a manifest contains no subject" as a
catalogue test — the rule holds by construction today because nothing reads a subject from
a manifest, and a rule held by construction is one a later field could break quietly.
- [x] 3.9 **seats declared by modules** — the manifest now carries `seats` (name, scope, - [x] 3.9 **seats declared by modules** — the manifest now carries `seats` (name, scope,
accepts/emits/serves, retention) and `uses`, and registration refuses a `mesh-*` name, a accepts/emits/serves, retention) and `uses`, and registration refuses a `mesh-*` name, a
duplicate declarer, an undeclared `uses` or claim, a seat with no protocol, a scope duplicate declarer, an undeclared `uses` or claim, a seat with no protocol, a scope