Reconcile: adopt initialization's consolidated HQ as canonical, re-home this session's new work #24

Merged
jschoubben merged 177 commits from reconcile-init-into-main into main 2026-09-05 10:27:11 +00:00
2 changed files with 48 additions and 3 deletions
Showing only changes of commit 9dc57b4712 - Show all commits
+29 -3
View File
@@ -1,11 +1,13 @@
--- ---
status: active status: graduated
initiated: 2026-08-23 initiated: 2026-08-23
touches: touches:
- 02-DECISIONS/0017-modules-outside-the-core-are-grouped-by-domain.md - 02-DECISIONS/0017-modules-outside-the-core-are-grouped-by-domain.md
- 03-DESIGN/00-as-is/10-module-catalogue.md - 03-DESIGN/00-as-is/10-module-catalogue.md
- 03-DESIGN/00-as-is/02-modules-and-manifests.md - 03-DESIGN/00-as-is/02-modules-and-manifests.md
became: [] became:
- 02-DECISIONS/0044-a-module-declares-presence-instantiation-and-exclusion.md
- 02-DECISIONS/0054-things-that-change-together-share-an-authority.md
--- ---
# 005 — Which domains the catalogue groups into # 005 — Which domains the catalogue groups into
@@ -51,7 +53,31 @@ premise**, in a way that narrows the effort usefully:
The remaining work is the list itself, for the modules where grouping is justified, plus the The remaining work is the list itself, for the modules where grouping is justified, plus the
open questions below. open questions below.
## Open questions ## What it became
*Closed 2026-08-28.* Three of the four questions are answered, and by records that did not cite
this effort — which is why it stayed open after being resolved.
**Whether provider modules group at all** — *no.*
[ADR 0044](../../02-DECISIONS/0044-a-module-declares-presence-instantiation-and-exclusion.md):
there is no `networking` thing to install, there are concrete modules named individually. Folders
assert relationships; edges record them. *Provider* stops being a category at the same time.
**Whether "group or leave" is even the right pair of options** — *it was not*, and that is the
useful finding. [ADR 0054](../../02-DECISIONS/0054-things-that-change-together-share-an-authority.md)
reframes it: things that change together share an **authority**, not a package. This effort's own
measurement is what that record rests on — reachability being the *only* place modules genuinely
co-change is why connectivity is a context and why nothing else needed one.
**What to do with the ~50 modules that co-change with nothing** — *nothing.* They are modules.
Grouping is a tag and a query over the graph, neither of which anybody keeps true by hand.
**What remains is a sequencing question, not a grouping one**, and it moves rather than closes:
*whether applications leave the monorepo before or after they group* is
[research 009](../009-migration/00-overview.md)'s, because it is about how to get from here to
there rather than about what the shape is.
## Open (superseded by the above) questions
| Question | Why it is open | | Question | Why it is open |
|---|---| |---|---|
@@ -41,6 +41,25 @@ Research 006 adds a requirement the current design does not have: the coordinato
**before the mesh is self-hosting**, when source and artifacts come from outside, and keep **before the mesh is self-hosting**, when source and artifacts come from outside, and keep
working across the transition to self-hosted providers. working across the transition to self-hosted providers.
## Answered since
**Does the coordinator dispatch stages, or converge nodes on a declaration?** — *Converge.*
[ADR 0058](../../02-DECISIONS/0058-delivery-ends-in-a-declaration.md): a pipeline ends when the
declaration is updated, and deploy stops being once-per-node. The host applies it and reads back,
so the reporter is the applier — which is what this effort was circling when it asked what a
*deployed state* is.
**Does the three-silo split survive?** — *Yes, with the third redefined.* Build and publish are
unchanged; deploy becomes one write rather than a fan-out.
**What is a deployed state?** — *Partly.* "The declaration is updated, and here is which nodes
have applied it" is the answer 0058 gives, and it makes *outstanding* a first-class result rather
than a stall. What it does not answer is what a node reports and how, which waits on the link.
**Explicitly NOT answered, and 0058 says so:** *how a change becomes a pipeline, reliably.*
Detection remains the fragile input — *a merge that created no pipeline, and nothing said so* is
upstream of everything 0058 changed and is untouched by it.
## The questions ## The questions
| Question | Why it matters | | Question | Why it matters |