Commit Graph

  • 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