This website requires JavaScript.
b5a74178c3
Merge remote-tracking branches 'origin/design/adr-0044-sdk-boundary', 'origin/design/adr-0045-what-a-module-is', 'origin/design/adr-0046-events', 'origin/design/adr-0047-event-wire-shape', 'origin/worktree-adr-0048-module-broker-account', 'origin/worktree-adr-reachability-dns-firewall', 'origin/worktree-adr-config-is-the-assignments' and 'origin/worktree-adr-module-runtime' into worktree-issue-provider-seal-key
jschoubben
2026-09-05 03:00:24 +02:00
1a83ed28fa
Merge pull request '011: measure the graph against every facet a module carries' (#11 ) from research/011-facet-coverage into main
jschoubben
2026-09-05 02:53:20 +02:00
984194e765
Accept ADR 0054 (slug) and resolve issue 010
jschoubben
2026-09-05 02:52:03 +02:00
af5c939d16
ADR 0054: add option E (a declared slug) and recommend it over A+B
jschoubben
2026-09-05 02:30:11 +02:00
89b65dd4c0
ADR 0054 (proposed) — a consumer's identity is bounded by the tightest backend
jschoubben
2026-09-05 02:17:46 +02:00
75887d0bc5
Issue 010 — the mesh's derived login does not fit every backend's identity rules
jschoubben
2026-09-05 01:58:11 +02:00
e5f4af8cf2
Accept ADR 0053 and resolve issue 008 — provider contract implemented and proven
jschoubben
2026-09-05 00:27:56 +02:00
e27f8b1b7d
ADR 0053 (proposed) — a provider creates the credential the mesh minted, and seals nothing
jschoubben
2026-09-05 00:06:50 +02:00
332c334767
Issue 008 — sharpen: the provisioner's seal model is orphaned, not just undelivered
jschoubben
2026-09-04 23:40:20 +02:00
47b0ca5c90
Issue 009 — settings change does not restart a container-hosted runtime
jschoubben
2026-09-04 23:06:48 +02:00
d1aa4254c9
Issue 008 — a provider runtime has no seal key the mesh can deliver
jschoubben
2026-09-04 22:23:24 +02:00
f63eca13b3
ADR 0052 — a module runs its code as its own process, with its own account
jschoubben
2026-09-04 21:24:46 +02:00
e898a3ec44
ADR 0051 — a module's configuration is its assignment's, not its manifest
jschoubben
2026-09-04 21:05:55 +02:00
9eb5576682
04-ISSUES/003 — fixed: the firewall scope is enforced now
jschoubben
2026-09-04 20:56:44 +02:00
5118258ee3
ADR 0049 and 0050 — public DNS and the firewall, two reachability decisions
jschoubben
2026-09-04 20:45:58 +02:00
cfa3ad1930
ADR 0048 — ratified: status accepted
jschoubben
2026-09-04 01:22:47 +02:00
b622de4fe6
ADR 0048 — a module's broker account is scoped by its emits and consumes
jschoubben
2026-09-04 01:19:15 +02:00
820ce8fc8c
ADR 0047 — the shape of an event on the wire
jschoubben
2026-09-03 23:47:58 +02:00
4bb6dd26ed
ADR 0046 — events are a relationship, provisioning's lighter sibling
jschoubben
2026-09-03 23:42:25 +02:00
b2cb481681
ADR 0045 — what a module is
jschoubben
2026-09-03 22:50:52 +02:00
50d61398b6
ADR 0044 — what the SDK holds, and what it refuses
jschoubben
2026-09-03 21:41:08 +02:00
7b4a664c50
Issues 008 and 009 — what the manifest review could not fix
jschoubben
2026-09-02 01:07:05 +02:00
9638aa02c5
031 — a machine becomes each thing it was told, in turn
jschoubben
2026-09-02 01:06:12 +02:00
b245f5e254
011: measure the graph against every facet a module carries
jschoubben
2026-09-01 23:14:03 +02:00
6bdd3f2bfa
030 — asking what a machine should be re-signed its certificate
jschoubben
2026-09-01 22:28:26 +02:00
6385d52bc0
029 fixed — the store is added, not built, and the cycle is refused
jschoubben
2026-09-01 21:43:42 +02:00
013dbce4a9
029 — the artifact store cannot be delivered by the artifact store
jschoubben
2026-09-01 21:15:05 +02:00
e75683c01f
026 reopened — the rule is right about data, wrong about facilities
jschoubben
2026-09-01 19:45:55 +02:00
bd8f09d647
026 fixed — and the coincidence turned into a rule
jschoubben
2026-09-01 19:36:15 +02:00
0bcfeb4e80
028 fixed — the mesh assigns the port, and knows what it cannot move
jschoubben
2026-09-01 18:32:58 +02:00
c2a37ab7f8
38 — the mesh assigns the port, and a module does not care
jschoubben
2026-09-01 17:42:27 +02:00
6330abce5f
028 — two things want one port, and nothing says so until the machine
jschoubben
2026-09-01 17:21:31 +02:00
03266fd4a2
027 — a container cannot follow a file, and a rotated credential is the case
jschoubben
2026-09-01 17:19:43 +02:00
3f00d3b413
026 filed; 025 corrected; the image store is a module
jschoubben
2026-09-01 16:10:13 +02:00
befbb1d978
The five modules could not have run, and now the forge does
jschoubben
2026-09-01 15:40:52 +02:00
2bbdc52440
025 — half done: nothing unrunnable reaches a machine now
jschoubben
2026-09-01 15:13:52 +02:00
fc7717f6b1
021 closed — the record was left open after the fix landed
jschoubben
2026-09-01 15:04:36 +02:00
0871e6ec11
37 — where a module lives, proposed
jschoubben
2026-09-01 14:24:53 +02:00
f6b1834ea9
024 fixed — the registry was addressed by hand and nothing else was
jschoubben
2026-09-01 09:53:08 +02:00
407416e6d0
024 — a run stalls before the host is placed, and says nothing while it does
jschoubben
2026-09-01 03:20:40 +02:00
39916b26e9
What stands between 3.1 and a running identity provider is a program
jschoubben
2026-09-01 03:13:11 +02:00
0760280bc6
The largest gap in the coverage list is not a gap
jschoubben
2026-09-01 03:09:11 +02:00
f583502fc9
023 fixed — the mesh says who a consumer is, and what it is bound to
jschoubben
2026-09-01 03:05:43 +02:00
4adc656b54
Where Phase 3 actually stands
jschoubben
2026-09-01 02:56:54 +02:00
dea46c3c6c
Correct what the coverage document said about actions
jschoubben
2026-09-01 02:56:05 +02:00
9073d3f2df
Say plainly that env-file never points at a sealed secret
jschoubben
2026-09-01 02:52:55 +02:00
2baf22ac43
A pair is a module and a provider, not two machines
jschoubben
2026-09-01 02:46:37 +02:00
80f18caf03
022 fixed; 023 filed — a password is not a connection
jschoubben
2026-09-01 02:40:40 +02:00
c86adbe3cc
022 — a credential belongs to a node, so a second consumer refuses
jschoubben
2026-09-01 02:28:39 +02:00
36d342f176
What a module must be able to say, measured against 127 that exist
jschoubben
2026-09-01 02:20:34 +02:00
1ee62392b9
Playbook 06 — writing a module, from doing it once
jschoubben
2026-09-01 01:46:46 +02:00
ecfc2c215e
Point the plan at the survey, and name the likelier failure
jschoubben
2026-08-31 21:46:53 +02:00
122405df8e
020: the server version is not it either
jschoubben
2026-08-31 21:42:13 +02:00
acd5a0d80b
File 020 — a certificate is issued and never collected; close Phase 1
jschoubben
2026-08-31 21:40:03 +02:00
f4347e2f14
Correct an overstatement: a sealed secret is readable on its node
jschoubben
2026-08-31 21:34:50 +02:00
b68103d198
A module is adopted with the credentials it already has
jschoubben
2026-08-31 21:31:26 +02:00
f801b4b3e2
The board is published publicly, which decides everything else about it
jschoubben
2026-08-31 21:26:06 +02:00
a1a10e9ed2
Bootstrap ends at a usable mesh, and the first credential comes from a person
jschoubben
2026-08-31 21:23:55 +02:00
0ef6d3f574
One implementation, several surfaces, and what that costs
jschoubben
2026-08-31 21:17:17 +02:00
fccac61e58
The board is a web application, not a category
jschoubben
2026-08-31 21:08:39 +02:00
10fa7c76d7
The substrate is a store and a broker
jschoubben
2026-08-31 20:30:19 +02:00
a028337490
The local account owns the mesh; a surface delegates to a module
jschoubben
2026-08-31 20:23:42 +02:00
e3934e4449
The control plane authenticates nobody, so identity is a module
jschoubben
2026-08-31 20:18:03 +02:00
c570c687f6
The handover: switch off the old brain, leave the services running
jschoubben
2026-08-31 19:55:35 +02:00
d1ab2dc0b4
Data outlives the mesh that declared it, and the conversion starts where it lives
jschoubben
2026-08-31 19:54:41 +02:00
9ad0ec35e0
The conversion is done by hand, and that removes work from this plan
jschoubben
2026-08-31 19:46:21 +02:00
e4327a3a5e
Phase 1.3 done: ordering was already there, the network was not
jschoubben
2026-08-31 18:55:22 +02:00
ce486fd5d2
Phase 1.2 done, and it is the same surprise as 1.1
jschoubben
2026-08-31 18:41:19 +02:00
fdd909ec40
Phase 1.1 done, and it was not the task that was written down
jschoubben
2026-08-31 17:53:02 +02:00
cb1954e7b5
Accept 0024, and rewrite the work breakdown around what is actually being done
jschoubben
2026-08-31 17:25:27 +02:00
1b5308c9cc
Review of the to-be layer: check what the documents claim against what runs
jschoubben
2026-08-31 17:20:47 +02:00
cbcbba8099
A provision names its engine; the substrate supplies only the control plane
jschoubben
2026-08-31 17:13:07 +02:00
046a990198
Several sessions at once is a surface property, not a session one
jschoubben
2026-08-31 16:52:15 +02:00
fbf5b1d04b
A session's memory is its own, and it is not declared
jschoubben
2026-08-31 16:41:06 +02:00
3c6c16abdf
The mesh has a session of its own, and it is the node session's mechanism
jschoubben
2026-08-31 16:32:59 +02:00
e823cc1cc5
The design record is read where it is written, never copied to be found
jschoubben
2026-08-31 15:45:00 +02:00
c192810fba
004 and 008 resolved; 006 narrowed to the decision it actually needs
jschoubben
2026-08-31 15:20:11 +02:00
345bbe0552
005 resolved: a suite that cannot run on every push says when it last ran
jschoubben
2026-08-31 15:02:26 +02:00
f3ffdae909
Record the resolver as built, and the two things it must not do
jschoubben
2026-08-31 14:23:02 +02:00
6ecd03694b
Issue 019: a comment asserting a fact about a machine, which nothing checked
jschoubben
2026-08-31 14:11:34 +02:00
a036bac47b
Record why the module's own secret is named for whose it is
jschoubben
2026-08-31 13:47:21 +02:00
aafeb5c9df
Three issues resolved: one closed by evidence, two answered by the replacement
jschoubben
2026-08-31 13:00:03 +02:00
573a94e102
Correct the record: a limitation that no longer exists, and one that was never written
jschoubben
2026-08-31 12:33:35 +02:00
f4e81074d3
Which resolver is a claim, and was decided before it was asked
jschoubben
2026-08-31 12:15:12 +02:00
a3cee17d48
Record what a container can see of the mesh's names, and what it cannot
jschoubben
2026-08-31 11:29:25 +02:00
35ce23fb76
Record that a machine coming back is ordinary, and what waking now does
jschoubben
2026-08-31 10:21:50 +02:00
6374c1eb60
Record what "behind" means now
jschoubben
2026-08-31 05:28:11 +02:00
7c0be6968e
Record what a machine says about itself and what the mesh keeps
jschoubben
2026-08-31 04:54:07 +02:00
7f314eb399
Point three design documents at the code that exists for them
jschoubben
2026-08-31 04:51:04 +02:00
5ad3641cbf
Record the board, which is the last designed document with no code
jschoubben
2026-08-31 04:50:45 +02:00
0bc4b7774f
Record what four more pieces of the mesh became
jschoubben
2026-08-31 02:56:50 +02:00
6b1c80b442
What a builder-as-a-module can and cannot reach
jschoubben
2026-08-31 01:53:35 +02:00
8448219de1
Issue 018: a provider on the same machine was never announced to its consumer
jschoubben
2026-08-31 01:35:54 +02:00
00e98f1f92
The vocabulary has no word for a unit that runs and exits
jschoubben
2026-08-31 01:20:58 +02:00
0ac99f0d68
An action's own idea of being finished must be its verify's
jschoubben
2026-08-31 01:03:50 +02:00
1ade18209d
Issue 017: an action succeeded into a state its own verify rejects
jschoubben
2026-08-31 01:01:17 +02:00
a9cd3de5be
Issue 016: anything after the declaration in a file was ignored
jschoubben
2026-08-31 00:51:46 +02:00
6e7e77acbe
Issue 015: the harness read a swallowed answer as success
jschoubben
2026-08-31 00:48:16 +02:00
890c3ee3fc
State the one rule the derivation does not yet reach
jschoubben
2026-08-31 00:42:39 +02:00
a6872ac099
A key that is present and unusable, and what the certificate work became
jschoubben
2026-08-31 00:42:13 +02:00