Commit graph

61 commits

Author SHA1 Message Date
4e46aa3b4f MASON-WP-0013-T03: record the resolved founder decision
Hub decision 9833715e is resolved, decided by Bernd Worsch at 2026-10-15T00:07:05.087085Z, and is distinct from the disclosure-consent digest. The plan stays reviewed.

Assistant: grok
Assistant-Session: 01a16071-5425-78d3-80b4-20fe2ee30f0a
2026-10-22 00:39:49 +02:00
7af68f2af4 MASON-WP-0013-T04: cite the reader-scope denial journal
cust81-forge-reader-r1.jsonl records reader_scope seven_exact_no_extra_private_grants for attempt bb2693a7640f00b4e401467e. That status is written only after the excluded private repo, admin route, and Actions routes are refused. The workplan is finished. The plan stays reviewed.

Assistant: grok
Assistant-Session: 01a16071-5425-78d3-80b4-20fe2ee30f0a
2026-10-22 00:35:58 +02:00
9b608cd735 MASON-WP-0013-T04: wait for the reader denial receipt
The survey, CCR-2026-0046, and founder decision 9833715e stay recorded. T04 returns to wait because no cited receipt records the reader least-privilege denial. The workplan stays active.

Assistant: grok
Assistant-Session: 01a16071-5425-78d3-80b4-20fe2ee30f0a
2026-10-22 00:28:58 +02:00
dee677f226 MASON-WP-0013: record the survey, CCR, and founder decision
The ops-mason-survey grant confirmed the existing private-reader lane and the MAS delivery metadata. CCR-2026-0046 and founder decision 9833715e are recorded apart from the disclosure consent. The plan stays reviewed, and the draft catalog route is not activated.

Assistant: grok
Assistant-Session: 01a16071-5425-78d3-80b4-20fe2ee30f0a
2026-10-22 00:24:00 +02:00
78a31e1444 MASON-WP-0014: record MAS sync evidence and teardown intake
KV metadata stays unconfirmed without an ops-mason-survey grant, so T04
stays wait. ExternalSecret mas-relay is Ready/SecretSynced by name only.
MASON-IN-0007 holds plan rows 6-7 for MAS-WP-0003 close.

MASON-WP-0013 T02-T04 stay wait and the private-reader plan stays draft.
plan-survey refused before any OpenBao call. The Forgejo Q1-Q3 citation
and the existing CCR and founder decision are not this plan's approval.

Assistant: grok
Assistant-Session: 01a16071-5425-78d3-80b4-20fe2ee30f0a
2026-10-22 00:02:06 +02:00
eb3d7047ad MASON-WP-0014: reference hub decision e633607e for the approval
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 278674@bnt-lap001
Assistant-Session: 64827407-e196-4ce3-b70c-76e7b537493f
2026-10-18 12:57:56 +02:00
d19e6b1633 MASON-WP-0014-T03: MAS TEM lane built under ops-mason-construct
Policy and kubernetes role built per CCR-2026-0051, verified against it.
Applied before confirm-binding (SA not yet created); recorded as a deviation.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 278674@bnt-lap001
Assistant-Session: 64827407-e196-4ce3-b70c-76e7b537493f
2026-10-18 12:44:51 +02:00
c4b887940a MASON-WP-0014: founder approved the MAS TEM lane plan (2026-10-18)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 278674@bnt-lap001
Assistant-Session: 64827407-e196-4ce3-b70c-76e7b537493f
2026-10-18 12:40:49 +02:00
2f7237fe01 MASON-WP-0014: record CCR-2026-0051
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 278674@bnt-lap001
Assistant-Session: 64827407-e196-4ce3-b70c-76e7b537493f
2026-10-18 12:26:14 +02:00
e850cbfeff MASON-WP-0014: executive summary for founder decision
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 278674@bnt-lap001
Assistant-Session: 64827407-e196-4ce3-b70c-76e7b537493f
2026-10-18 12:15:56 +02:00
9ef2a7031e MASON-WP-0014-T02: live survey; MAS TEM plan reviewed
No existing lane reads platform/suppliers/scaleway/mas-tem-relay. The SMTP
ESO lanes read the IONOS mailbox and are not reused. The founder wrote the
TEM value (v2).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 278674@bnt-lap001
Assistant-Session: 64827407-e196-4ce3-b70c-76e7b537493f
2026-10-18 12:14:46 +02:00
22dfb810fb MASON-WP-0014: move TEM credential to platform/suppliers/scaleway/mas-tem-relay
Follows the 2026-10-08 supplier-account path convention
(ops-warden platform-supplier-credentials).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 278674@bnt-lap001
Assistant-Session: 64827407-e196-4ce3-b70c-76e7b537493f
2026-10-18 11:33:24 +02:00
5f52d2f42f MASON-WP-0014-T01: draft MAS TEM SMTP relay construction plan
Kubernetes-auth, namespaced-store lane for platform/workloads/mas/tem-relay,
temporary for MAS-WP-0003. Live survey and CCR pending.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 278674@bnt-lap001
Assistant-Session: 64827407-e196-4ce3-b70c-76e7b537493f
2026-10-18 11:26:18 +02:00
b67b57a022 Prepare seven-repository reuse-surface reader construction revision 2
Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a137ca-5c77-7a71-b9ae-23ad9b0b5684
2026-10-15 01:39:47 +02:00
fca5591bc6 MASON-WP-0012: named-role login without session reuse, diagnosis receipt, capabilities-self proof (NK-WP-0051-T06)
verify-reuse-surface-hub-writer.py logs in with skip_browser=true and
shows the address (or opens a fresh temporary browser profile), so the
default Authelia session is never reused. The receipt records uid,
openbao_error and assurance per net-kingdom/docs/sign-in-diagnosis.md,
with tokens, codes and emails redacted. Capabilities come from
sys/capabilities-self on the lane token; no operator or root token is
read. Needs railiance-platform CCR-2026-0045 applied to run live.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 1041694@bnt-lap001
Assistant-Session: 7af0bb68-ac4a-4ce3-8639-24ddd84c0b52
2026-10-14 23:48:11 +02:00
97d1fed949 Record the passing hub-writer receipts.
Member and non-member verification both passed. The verifier accepts s. tokens and calls sys/capabilities with a token that is allowed to.

Assistant: grok
Assistant-Session: 01a13b2d-5f6d-7a32-b2c9-384625c55ca6
2026-10-14 22:14:32 +02:00
05882b189f Record that CCR-2026-0044 is applied.
The delegated applier wrote the caller policy and the OIDC role. No KV write. The member receipt is still outstanding.

Assistant: grok
Assistant-Session: 01a13b2d-5f6d-7a32-b2c9-384625c55ca6
2026-10-14 19:48:44 +02:00
0af5a09e89 The reported uuid is not an OpenBao entity.
OpenBao has no entity f94b7c34-e151-30bb-b473-df3ccdbb9bf1 and no entity named bernd.worsch-3. T02 waits for the entity created at first login. The member receipt still rejects the admin entity.

Assistant: grok
Assistant-Session: 01a13b2d-5f6d-7a32-b2c9-384625c55ca6
2026-10-14 19:47:25 +02:00
a7f9516bb3 Record the hub-writer member entity.
bernd.worsch-3 is OpenBao entity f94b7c34-e151-30bb-b473-df3ccdbb9bf1. The member receipt must be that entity. T02 is done. The filed role stays unconfirmed until CCR-2026-0044 is approved.

Assistant: grok
Assistant-Session: 01a13b2d-5f6d-7a32-b2c9-384625c55ca6
2026-10-14 19:36:52 +02:00
c54193ae24 Record the second factor on bernd.worsch-3.
The hub-writer member has enrolled MFA. T02 still waits on the OpenBao entity id before bound_claims_confirmed can move.

Assistant: grok
Assistant-Session: 01a13b2d-5f6d-7a32-b2c9-384625c55ca6
2026-10-14 19:24:14 +02:00
100558696f Record bernd.worsch-3 and the group-ensure route.
The hub-writer group exists and its member has no second factor yet. Service-access groups are created by identity-provisioner POST /v1/groups/ensure; that pointer is now on the ops-mason reuse-surface capability.

Assistant: grok
Assistant-Session: 01a13b2d-5f6d-7a32-b2c9-384625c55ca6
2026-10-14 19:05:33 +02:00
772e906fad Record CCR-2026-0044 and the founder group step.
railiance-platform filed the hub-writer caller as proposed and did not apply it. key-cape has no reuse-surface-hub-writers group; the founder creates it in the LLDAP admin UI before the role can be bound.

Assistant: grok
Assistant-Session: 01a13b2d-5f6d-7a32-b2c9-384625c55ca6
2026-10-14 18:44:56 +02:00
fd2c5a5904 Name a dedicated reuse-surface hub-writer caller.
CCR-2026-0005 does not name a principal, and the platform-admin entity must not receive the workload policy. Add the draft role, verifier, and plan, drop the retired operators/nextcloud description, and record that tegwick's MFA factor is enrolled.

Assistant: grok
Assistant-Session: 01a13b2d-5f6d-7a32-b2c9-384625c55ca6
2026-10-14 18:19:14 +02:00
2ef0101412 WP-0009-T05 invariant (ii) verified; survey policy covers keycape-services roles; Forgejo plan re-rendered
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 327203@bnt-lap001
Assistant-Session: 55028ae3-4914-4bd1-8f5c-815f3527aef0
2026-10-10 14:13:02 +02:00
cd251f7c2e WP-0005-T05: lane verified from policy and role; owner-run check script; Forgejo case plan rendered
Live policy and role equal the approved spec, 8 agent denies present, custody
at coulomb v1. verify-fluid-telegram-lane.sh lets the founder prove member
capabilities and non-member refusal without printing a token. T06 entry
proposed to ops-warden. plans/case-forgejo-netkingdom-oidc.md: reviewed,
no collisions.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 327203@bnt-lap001
Assistant-Session: 55028ae3-4914-4bd1-8f5c-815f3527aef0
2026-10-09 19:47:45 +02:00
21bce610b5 MASON-WP-0005-T03 done: founder approved the fluid-telegram operator lane
Plan status approved (Bernd Worsch, 2026-10-09) with build_spec and
approved_spec_sha256 41a0ca27; the executor's approval gate accepts it.
T04 now waits on the founder-run applier (RPF-WP-0035-T03, decision 62aa95e4).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 327203@bnt-lap001
Assistant-Session: 55028ae3-4914-4bd1-8f5c-815f3527aef0
2026-10-09 00:45:03 +02:00
8377f5ca9b MASON-WP-0005-T01 done; fluid-telegram operator plan reviewed with executive summary
Founder confirmed LLDAP group fluid-telegram-operators exists with member
tegwick. Plan moves draft -> reviewed: platform matrix checked against the
executor, section 5 written for the T03 approval.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 327203@bnt-lap001
Assistant-Session: 55028ae3-4914-4bd1-8f5c-815f3527aef0
2026-10-09 00:43:19 +02:00
a09dda651b MASON-WP-0005-T01: live survey for the fluid-telegram operator lane
Generated section 2 plus a full policy-body scan and the netkingdom OIDC
role list: path unused, names free, only platform-admin covers the target,
live reference role confirms the groups+aal2 binding shape. T01 now waits
only on net-kingdom's group evidence. Grant revoked after use.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 327203@bnt-lap001
Assistant-Session: 55028ae3-4914-4bd1-8f5c-815f3527aef0
2026-10-08 23:54:41 +02:00
fb6f373fec MASON-WP-0005-T01: founder go for LLDAP group fluid-telegram-operators
Single initial member tegwick. Handed to net-kingdom (directory owner);
T01 now waits on its metadata-only evidence and a scoped survey grant.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 327203@bnt-lap001
Assistant-Session: 55028ae3-4914-4bd1-8f5c-815f3527aef0
2026-10-08 23:49:48 +02:00
894761477f MASON-WP-0005-T01: bind key-cape's confirmed claims for the operator lane
key-cape confirmed groups_claim=groups, bound group fluid-telegram-operators,
assurance aal2 and the three openbao-admin callbacks. The OIDC executor now
pins /assurance/level=aal2 (bound_claims_type=string) and accepts the exact
operator-tunnel UI callback; the retired public UI callback stays refused.
T01 now waits on the founder go for the LLDAP group and a scoped survey grant.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 327203@bnt-lap001
Assistant-Session: 55028ae3-4914-4bd1-8f5c-815f3527aef0
2026-10-08 23:41:34 +02:00
658cdbc206 MASON-WP-0009: plan OpenBao custody for the KeyCape secrets-engine-openbao client secret
Founder direction 2026-10-06: the secret lives in OpenBao. The plan confirms
platform/workloads/keycape/secrets-engine-openbao:CLIENT_SECRET (KV v2,
cas_required, max_versions=2) and keeps the sso-only ESO issuer reader. It
replaces the workstation consumer file with an attended operator OIDC reader
(5m, 4 uses, revoke-self, value in memory only) and records why the
dependency graph is acyclic. Status: reviewed, awaiting founder approvals A1-A3.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 132360@bnt-lap001
Assistant-Session: 769b1afd-4330-4c86-96b2-e510e26db42b
2026-10-06 14:02:11 +02:00
4e3fc02f86 Close the inbound-library IMAP AppRole lane: built, verified, routed.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 1170398@bnt-lap001
Assistant-Session: 622cd705-cb31-4322-ba08-dd42e44fa583
2026-10-05 16:14:02 +02:00
e4c68e2d0b Approve the inbound-library IMAP AppRole plan.
Approved by Bernd Worsch on 2026-10-05 for build_spec digest
c62765c8a4505821e77b58c5e0daf0511dec39fb569a05e190ff51f5cdc3e2ba.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 1170398@bnt-lap001
Assistant-Session: 622cd705-cb31-4322-ba08-dd42e44fa583
2026-10-05 16:09:13 +02:00
f7d5624f56 Plan the inbound-library IMAP AppRole lane (reviewed, awaiting approval).
Demand: inbound-library ILIB-WP-0003-T01. First live plan-survey run
(MASON-WP-0008-T05) included verbatim in section 2.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 1170398@bnt-lap001
Assistant-Session: 622cd705-cb31-4322-ba08-dd42e44fa583
2026-10-05 14:32:29 +02:00
custodian-sync
c69073601d chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-10-03:
  - update .custodian-brief.md for ops-mason

Assistant: claude-code
Assistant-Model: sonnet
Assistant-Process: 292700@bnt-lap001
Assistant-Session: 42de6b79-9019-4cfd-b49a-6db3bbfe9341
2026-10-03 00:16:51 +02:00
2149ee2718 MASON-WP-0007: plan tenant-engine audit-core sender token projection (draft, not applied)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: sonnet
Assistant-Process: 292700@bnt-lap001
Assistant-Session: 42de6b79-9019-4cfd-b49a-6db3bbfe9341
2026-10-01 21:38:01 +02:00
4c0ada21ca feat(mason): deliver and verify the forge read credential
Minted on a dedicated identity rather than a site admin. A PAT on
tegwick would have read every repository on the instance — wider than
the approved organisation-wide breadth and wider than the plan's stated
blast radius. Built as user state-hub-svc in team coulomb/state-hub-read
(read, all repositories, repo.code unit only), following the existing
issue-core-svc precedent. The ceiling is enforced by org membership, not
by a scope string, and clones are attributable to a named identity.

Delivered by warden desk --act paste_once_provision; ops-mason neither
minted nor pasted the value.

Verified: rapp-openbao, rapp-core-hub, rapp-issue-core and
rapp-policy-nexus all read — four of the nine that failed
STATE-WP-0083-T04. Push 403, admin API 403, /api/v1/user 403 (the scope
carries no read:user). Clone test used GIT_ASKPASS, so no credential
entered argv or a clone URL.

Records a deviation rather than glossing it: SCOPE.md puts secret values
out of scope, and that held for minting and delivery but not for
verification — the value was read back to fingerprint it and to run the
clone test, under the build-stage disclosure posture agreed 2026-08-27.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 3377672@bnt-lap001
Assistant-Session: 15463ccf-238f-4e13-b163-93aa25c6d166
2026-08-27 23:46:42 +02:00
84c36a6c26 feat(mason): build the state-hub forge read lane (MASON-WP-0003-T02)
Policy workload-kv-read-state-hub-forge-derivation and Kubernetes auth
role state-hub-forge-derivation, verified both directions through a
2-minute test token that was revoked after use: read on its own path;
deny on forgejo-admin, on the shared llm-connect provider secrets, and
on the parent metadata path.

Kubernetes auth replaces the approved AppRole. The plan's §2 survey was
written from disk with no OpenBao session and could not see that
kubernetes/ auth is enabled on this cluster; the plan's own phase-4
instruction to re-verify against live state is what surfaced it. Ruled
by the founder at phase 4. No static credential is created, so nothing
has to be delivered into the cluster or rotated.

The live survey also re-checked reuse: workload-kv-read-agent-harness-
forgejo grants one repository deploy key, not organisation-wide read, so
§2's rejection of reuse stands.

ops-mason handled no secret value. The KV path does not exist until
paste_once_provision writes the token.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 3377672@bnt-lap001
Assistant-Session: 15463ccf-238f-4e13-b163-93aa25c6d166
2026-08-27 22:49:13 +02:00
7018137c01 feat(mason): approve the forge read lane and draft its catalog entry
Plan approved 2026-08-26, breadth organisation-wide repository read. The
§4 contingency was satisfied first: STATE-WP-0084-T01 landed the same
day, so a missing grant now surfaces as a named unreadable condition
rather than as silence — which is what the breadth argument rested on.

T01 done. T03 drafted in ops-warden on a branch (entry + playbook +
regenerated high-risk artifact). T02 needs an operator: no valid OpenBao
session here, and the token is the forge owner's to mint.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 3377672@bnt-lap001
Assistant-Session: 15463ccf-238f-4e13-b163-93aa25c6d166
2026-08-26 21:58:02 +02:00
1fdd8896f4 refactor(workplan): split MASON-WP-0003 to the lane ops-mason owns
Trim MASON-WP-0003 to T01-T03 — decide, build the AppRole/policy/KV path
structure, register the catalog entry — and route it through the
four-phase pipeline via plans/state-hub-forge-derivation-read.md, which
supplies the phase-3 executive summary the workplan was bypassing.

T02 no longer mints or holds the token value: SCOPE.md puts secret
values out of scope, so the forge owner mints and ops-warden's
paste_once_provision desk delivers.

Deployment plumbing, derive_from_forge(), and the fleet re-run move to
state-hub/STATE-WP-0084.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 3377672@bnt-lap001
Assistant-Session: 15463ccf-238f-4e13-b163-93aa25c6d166
2026-08-26 21:25:43 +02:00
cc9946c873 chore: reconcile ops-mason repository records
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a02878-7c21-7692-bcd6-ce2838c4b448
2026-08-22 11:32:34 +02:00
c26a6e59de build: provision and verify Whitehat foundational plane
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a02878-7c21-7692-bcd6-ce2838c4b448
2026-08-22 11:26:49 +02:00
2b318634b6 build: add guarded Kubernetes plane executor
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a02878-7c21-7692-bcd6-ce2838c4b448
2026-08-22 11:23:38 +02:00
24c6b433ed build: backup-object-storage AppRole lane delivered 2026-08-14 20:00:16 +02:00
deb8f4e119 note: backup object-storage KV exists; policy apply still deferred 2026-08-14 19:34:41 +02:00
a6cb560d01 retarget: mason plan backup-object-storage replaces Barman draft 2026-08-14 19:19:56 +02:00
cbe19c9bb0 plan: draft OpenBao lane for platform-pg Barman key 2026-08-14 19:01:11 +02:00
95aaea5488 plan: mark Scaleway bootstrap lane built with placeholders
Empty-structure plus xxx example fields. Founder replaces values
in the OpenBao UI before any bucket create.
2026-08-14 17:40:09 +02:00
15c155dd96 plan: reef-storage Scaleway bootstrap KV lane
Map Terraform access_key/secret_key/organization_id/project_id onto
the reserved OpenBao path. Structure only; founder pastes values.
2026-08-14 17:36:17 +02:00
8e41f85121 Build audit-core AppRole lane after founder approval
reuse_policy leaves external-secrets-audit-core intact so database
leases keep working. AppRole delivered to Kubernetes; interim static
ESO token retired.
2026-08-13 10:42:59 +02:00