Merge pull request 'ADR 0141: a progressive insight on what delivery costs' (#174) from decision/0141-progressive-insight-on-delivery into main
This commit was merged in pull request #174.
This commit is contained in:
@@ -83,6 +83,32 @@ operating system.
|
|||||||
facts it states about itself. Without it nothing can say a machine is behind, so "every machine
|
facts it states about itself. Without it nothing can say a machine is behind, so "every machine
|
||||||
current with its source" cannot include the host.
|
current with its source" cannot include the host.
|
||||||
|
|
||||||
|
## Progressive insight — 2026-09-29, the same day
|
||||||
|
|
||||||
|
**The delivery is not "nothing new", and this record said it was.** The decision above stands and is
|
||||||
|
built: versions side by side, the newest runs, the running host stands aside between reconciles, a
|
||||||
|
completed reconcile retires what is older than the predecessor, rollback picks a directory. What was
|
||||||
|
wrong was a claim about how a version reaches a machine. The paragraph on delivery said the
|
||||||
|
declaration "names it like any other archive… nothing new travels, no new resource kind"; the second
|
||||||
|
half is true and the first is not, because two things the delivery needs do not exist:
|
||||||
|
|
||||||
|
- **Nothing can compile it.** A `bundle` artifact is compiled by a closed list of toolchains —
|
||||||
|
typescript and python — whose own comment says adding a language is a decision, because a language
|
||||||
|
used by *modules* needs an SDK carrying the broker client, the event envelope and tool serving. The
|
||||||
|
host uses none of that: it is what applies modules, not one of them. So the obligation that list
|
||||||
|
warns about attaches to a module written in a language, not to the language being buildable, and
|
||||||
|
the control plane — also written in Go — is built as an image from a Dockerfile rather than through
|
||||||
|
a toolchain at all.
|
||||||
|
- **A version cannot reach the path.** An `archive` resource names a fixed path in the manifest, and
|
||||||
|
nothing interpolates the built version into it, so nothing can ask for
|
||||||
|
`…/versions/<version>/`.
|
||||||
|
|
||||||
|
Neither changes what was decided, which options were weighed, or any consequence: the shape is
|
||||||
|
unaffected and the host half is merged and tested. What it changes is the cost, which this record
|
||||||
|
understated as none. The remaining work is a way to build the host and a way to name a version in a
|
||||||
|
path, and until both exist nothing delivers a version and every machine takes the fallback — which is
|
||||||
|
what every machine does today.
|
||||||
|
|
||||||
## Consequences
|
## Consequences
|
||||||
|
|
||||||
- **The host becomes a build target and a module** — a module whose resource is the next host, applied
|
- **The host becomes a build target and a module** — a module whose resource is the next host, applied
|
||||||
|
|||||||
Reference in New Issue
Block a user