Merge pull request 'Add milestone F2b to design 60, and make every strict reader of manifests a release order in playbook 07' (#456) from design/60-milestone-f2b into main

This commit was merged in pull request #456.
This commit is contained in:
2026-10-21 11:00:57 +00:00
2 changed files with 11 additions and 3 deletions
+7 -1
View File
@@ -127,7 +127,13 @@ never into the running one, unless it blocks the running one.
since the node-engine's decoder refuses an unknown key; the first module of a repository the catalogue has never since the node-engine's decoder refuses an unknown key; the first module of a repository the catalogue has never
built registers only by the route the controller allows for it; and a part that needs something the bus or a built registers only by the route the controller allows for it; and a part that needs something the bus or a
manifest cannot yet give (an event only a system account hears, a bucket whose keys expire) needs its decision manifest cannot yet give (an event only a system account hears, a bucket whose keys expire) needs its decision
first. Each order found is said to the operator with the cut it asks for, never built around. first. **A new manifest word is read by more than the controller**: every program that parses a manifest strictly
(with the SDK's `ParseManifest`) refuses a key its pinned SDK does not know, so the prepare step lists them by search
(`ParseManifest` across every repository, with the SDK commit each pins) and each one older than the word ships
first (2026-10-21: the milestones of design 60 counted only the controller, and the prepare step of the catalogue's
milestone found the build module mesh-build-go and the delivery's indexer reading manifests strictly with an SDK
from before the word, which became a release of its own). Each order found is said to the operator with the cut
it asks for, never built around.
7. **Write fixtures from the shape the other side writes, never from memory** (2026-10-18: a watchman's tests 7. **Write fixtures from the shape the other side writes, never from memory** (2026-10-18: a watchman's tests
mirrored a build key the controller never writes, and every test passed): copy a value from the writer's code or mirrored a build key the controller never writes, and every test passed): copy a value from the writer's code or
from the live bus, and name where it came from. from the live bus, and name where it came from.
+4 -2
View File
@@ -201,12 +201,14 @@ missing page and expects the error.
The milestones build ADR 0468, feature `files-through-the-store`. They are cut by release order: the catalogue's The milestones build ADR 0468, feature `files-through-the-store`. They are cut by release order: the catalogue's
merge check reads manifests with the controller the mesh runs, and the controller vendors the SDK, so a new merge check reads manifests with the controller the mesh runs, and the controller vendors the SDK, so a new
manifest field ships SDK first, then the controller, then the catalogue (playbook 07, *a new manifest word*). manifest field ships SDK first, then the controller and every other strict reader of manifests (the build modules,
the delivery's indexer), then the catalogue (playbook 07, *a new manifest word*).
| # | Outcome | Proves | Repository | Issues | | # | Outcome | Proves | Repository | Issues |
|---|---|---|---|---| |---|---|---|---|---|
| F1 | A manifest may name who else may read or write its bucket, and every module has one helper that signs and streams a store link. Usable only by F2 and F3. | ADR 0468 §3, §8 (the field) | mesh-sdk | 1591 (`shares` on a requires of s3-bucket), 1592 (link signing and streaming) | | F1 | A manifest may name who else may read or write its bucket, and every module has one helper that signs and streams a store link. Usable only by F2 and F3. | ADR 0468 §3, §8 (the field) | mesh-sdk | 1591 (`shares` on a requires of s3-bucket), 1592 (link signing and streaming) |
| F2 | The controller accepts `shares` and writes it into the consumer's grant. Usable only by F3. | ADR 0468 §8 | mesh-controller | 1593 (take the SDK); depends on F1 | | F2 | The controller accepts `shares` and writes it into the consumer's grant. Usable only by F3. | ADR 0468 §8 | mesh-controller | 1593 (take the SDK); depends on F1 |
| F3 | The operator prints a stored scan, a file on any machine (a .docx on a laptop among them) or a web link in one call, and scans land in the scan folder from the store; no document these verbs move crosses the bus (the parts verbs stay until issue 1569). Depends on F2. | the acceptance above; ADR 0468 §1–§9 | mesh-catalog | minio: 1594 (a signing key per bucket), 1516 (`object-store.link`, retiring the root-signed link); mesh-files: 1597 (upload, download); only-office: 1595 (`document-converter.convert`), 1596 (the converter process); brother: 1598 (print by key or a machine's file), 1599 (print a web link), 1600 (convert before printing), 1601 (the scan folder from the store) | | F2b | The build modules read a manifest that names `shares`, so a module carrying it builds. Usable only by F3. | ADR 0468 §8 | mesh-catalog | 1657 (mesh-build-go and mesh-build-node take the SDK); depends on F1; the delivery's indexer takes the same SDK in design 47's own work |
| F3 | The operator prints a stored scan, a file on any machine (a .docx on a laptop among them) or a web link in one call, and scans land in the scan folder from the store; no document these verbs move crosses the bus (the parts verbs stay until issue 1569). Depends on F2 and F2b. | the acceptance above; ADR 0468 §1–§9 | mesh-catalog | minio: 1594 (a signing key per bucket), 1516 (`object-store.link`, retiring the root-signed link); mesh-files: 1597 (upload, download); only-office: 1595 (`document-converter.convert`), 1596 (the converter process); brother: 1598 (print by key or a machine's file), 1599 (print a web link), 1600 (convert before printing), 1601 (the scan folder from the store) |
Order inside F3: minio, then mesh-files and only-office, then brother; one pull request of `mesh-catalog`. Order inside F3: minio, then mesh-files and only-office, then brother; one pull request of `mesh-catalog`.