From 2bc41a3318e5a17d149e0270819590e4b08e3408 Mon Sep 17 00:00:00 2001 From: tegwick Date: Mon, 19 Oct 2026 11:15:12 +0200 Subject: [PATCH] Live MX redeployed (mas-live:v0.2-a95f848) and kept by founder decision; records updated Co-Authored-By: Claude Opus 5.5 Assistant: claude-code Assistant-Model: opus Assistant-Process: 5787@bnt-lap001 Assistant-Session: 5db26b82-138b-40cc-9856-4d5eb0f752fd --- SCOPE.md | 14 ++++++++------ history/2026-10-19T090725Z-scope-vs-intent.md | 4 +++- .../MAS-WP-0004-postfix-integration-profile.md | 3 ++- .../MAS-WP-0007-retire-live-test-environment.md | 16 +++++++++++++++- 4 files changed, 28 insertions(+), 9 deletions(-) diff --git a/SCOPE.md b/SCOPE.md index 3a5b252..fa41fc9 100644 --- a/SCOPE.md +++ b/SCOPE.md @@ -84,17 +84,19 @@ delivery stays external. - Finished: MAS-WP-0001 to 0006, 0008 and 0010. Postfix profile, v0.1.1 errata, v0.2 draft, address composer, v0.2 conformance cases, and the mode contract with its reference implementation. -- Open: MAS-WP-0007 (retire the live MX; backlog, unblocked) and - MAS-WP-0009 (declare v0.2 final; waits for a second implementation or - deployment). +- Open: MAS-WP-0007 (retire the live MX; backlog, kept by decision), + MAS-WP-0009 (declare v0.2 final; waits for a second implementation), + and MAS-WP-0011 to 0013 (proposed). - v0.2 stays a draft (founder, 2026-10-19). - P2 is decided: `!MODE` requests a handoff (founder, 2026-10-19; SCP-8, v0.2 ยง7.1). The mode contract v0.1 draft and the reference implementation are done (MAS-WP-0010); `mas test` runs the contract corpus. -- The live `mas-mx` pod runs an image built before the profile refactor - and before `mas_modes`. The current Dockerfile builds and imports - cleanly but has not been deployed. +- The live MX runs image `mas-live:v0.2-a95f848` (redeployed 2026-10-19) + and is kept up by founder decision (MAS-WP-0007 stays in backlog). + Open follow-ups: MAS-WP-0011 (contract transport security), 0012 (one + outbound path and cap), 0013 (harness-independent flows), 0009 + (second implementation, now covering both drafts). - Tests: `.venv/bin/pytest` runs 242 tests, offline apart from loopback fixtures and the Docker probe. `mas test` runs four corpora: parser 62, statute 16, v0.2 statute-aware 29, mode contract 172. diff --git a/history/2026-10-19T090725Z-scope-vs-intent.md b/history/2026-10-19T090725Z-scope-vs-intent.md index d0b725f..aad82c1 100644 --- a/history/2026-10-19T090725Z-scope-vs-intent.md +++ b/history/2026-10-19T090725Z-scope-vs-intent.md @@ -126,4 +126,6 @@ Recorded on 2026-10-19, after this assessment: 2. One outbound path and one cap (risk C): **MAS-WP-0012**. 3. Flows independent of the harness (risk A): **MAS-WP-0013**. MAS-WP-0009 is widened so the second-language consumer covers both drafts. -4. Live MX retire-or-redeploy (risk E): founder decision on MAS-WP-0007. +4. Live MX (risk E): the founder decided to **redeploy, then keep**. It was + redeployed the same day with `mas-live:v0.2-a95f848` and verified (see + MAS-WP-0007). diff --git a/workplans/MAS-WP-0004-postfix-integration-profile.md b/workplans/MAS-WP-0004-postfix-integration-profile.md index 39f947e..217dfe8 100644 --- a/workplans/MAS-WP-0004-postfix-integration-profile.md +++ b/workplans/MAS-WP-0004-postfix-integration-profile.md @@ -82,7 +82,8 @@ demand. address arrives unchanged up to RFC 5321 quoting: Postfix adds quotes around non-dot-atoms (`.bernd` becomes `".bernd"`), and those are still invalid MAS. All relay negatives get 554. -- Not redeployed: the running `mas-mx` pod still uses the image built +- Redeployed 2026-10-19 with image `mas-live:v0.2-a95f848` (see + MAS-WP-0007). Before that, the running `mas-mx` pod used the image built before this change. The new entrypoint sets the same Postfix settings through the profile and takes effect on the next image build. MAS-WP-0007 (retirement) no longer waits on this workplan. diff --git a/workplans/MAS-WP-0007-retire-live-test-environment.md b/workplans/MAS-WP-0007-retire-live-test-environment.md index c160f3d..1b0f82c 100644 --- a/workplans/MAS-WP-0007-retire-live-test-environment.md +++ b/workplans/MAS-WP-0007-retire-live-test-environment.md @@ -8,7 +8,7 @@ status: backlog owner: claude topic_slug: coulomb-social created: "2026-10-18" -updated: "2026-10-18" +updated: "2026-10-19" origin: residual origin_ref: MAS-WP-0003 state_hub_workstream_id: "03751989-8ed1-5a3f-bcc3-71aef8b375a6" @@ -21,6 +21,20 @@ follow-up validation (founder, 2026-10-18), capped at 300 sent replies. Retire it once MAS-WP-0004 and MAS-WP-0005 no longer need it. Cluster-scoped and external pieces do not disappear when the namespace is deleted. +**Founder decision (2026-10-19): redeploy, then keep.** The MX stays up for +a second deployment (MAS-WP-0009) or for live validation of the mode +contract. Retirement stays in backlog. + +- 2026-10-19: redeployed `mas-mx` and `mas-statute` with image + `mas-live:v0.2-a95f848`, side-loaded into k3s containerd. The previous + image was `v0.2-a45f1a1`. The evidence (`events.jsonl`, 36 events, and + `tickets.sqlite3`) was backed up before the rollout and is intact on the + PVC. Checked: `mas discover` valid; the profile's relay control; TEM + relay with null-sender discard; OpenDKIM/OpenDMARC running; the ticket + service runs with `--max-sent 300 --require-dmarc-pass`; empty queue; + relaying to the public IP refused with 554 (`x@other`, `x!y@other`, + `a@mas...@other`). + ## Retire the environment ```task