diff --git a/04-ISSUES/113-should-the-controller-be-a-container-or-a-process-the-host-supervises/00-report.md b/04-ISSUES/114-should-the-controller-be-a-container-or-a-process/00-report.md similarity index 83% rename from 04-ISSUES/113-should-the-controller-be-a-container-or-a-process-the-host-supervises/00-report.md rename to 04-ISSUES/114-should-the-controller-be-a-container-or-a-process/00-report.md index ce0e98c..6b03b96 100644 --- a/04-ISSUES/113-should-the-controller-be-a-container-or-a-process-the-host-supervises/00-report.md +++ b/04-ISSUES/114-should-the-controller-be-a-container-or-a-process/00-report.md @@ -6,7 +6,7 @@ fixed-by: amended-design: --- -# 113 — Should the controller run as a container, or as a process the host supervises directly? +# 114 — Should the controller run as a container, or as a process the host supervises directly? ## What was observed @@ -71,3 +71,16 @@ checked. a controller outage tolerable regardless of which resource type it is? - If the answer is "keep it a container," what does that answer, precisely, that this issue asked — so the next person who notices the same asymmetry finds it answered rather than open again? + +## The general case + +[Issue 117](../117-a-modules-own-code-is-a-container-and-a-process/00-report.md) is the same +question asked of every module rather than of the controller: a module's own code is a `container` +in [ADR 0047](../../02-DECISIONS/0047-a-module-runs-its-code-as-its-own-process-with-its-own-account.md) +and a `process` in the to-be design, and no record moves it. Its +[diagnosis](../117-a-modules-own-code-is-a-container-and-a-process/01-diagnosis.md) answers the +first open question above: the host's `process` shape is built, applied and tested, including the +restart and run-to-completion semantics — so this would not need host-side work first. + +The two do not collapse into one. The controller is not a code-carrying sidecar, and `network: host` +is what makes the asymmetry visible here and nowhere else. diff --git a/04-ISSUES/117-a-modules-own-code-is-a-container-and-a-process/01-diagnosis.md b/04-ISSUES/117-a-modules-own-code-is-a-container-and-a-process/01-diagnosis.md index c6f6b3a..3ec972e 100644 --- a/04-ISSUES/117-a-modules-own-code-is-a-container-and-a-process/01-diagnosis.md +++ b/04-ISSUES/117-a-modules-own-code-is-a-container-and-a-process/01-diagnosis.md @@ -150,12 +150,20 @@ controller is declared a `container` with `network: host` — so container netwo property that resource type usually buys, is not in use — and it asks what `type: container` buys that `type: process` would not. -It is unmerged and numbered 113, which is taken. A sibling branch, -`issue/113-record-the-repin-and-fold-114`, is why `114` is free. +It was unmerged and numbered 113, which is taken. A sibling branch, +`issue/113-record-the-repin-and-fold-114`, is why `114` was free. **That report and this one are the instance and the general condition**, and they do not conflict: it asks about one module that is not a code-carrying sidecar at all, and reaches the same question -from the opposite end. +from the opposite end. So it lands in this change as +[issue 114](../114-should-the-controller-be-a-container-or-a-process/00-report.md), its commit and +authorship intact, with a section pointing here — rather than being folded in and losing the +`network: host` observation, which is its own and is not reproduced above. + +This diagnosis answers its first open question. The host's `process` shape does support what +[ADR 0005](../../02-DECISIONS/0005-the-node-host.md) describes for the host's own launcher — the +unit, the timer, restart, and run-to-completion gating are implemented and tested — so that report +does not need host-side work before it can be decided. ## What is located, and what is not