Commit graph

76 commits

Author SHA1 Message Date
7d54d049c1 custody-describe apply: silent, results to a 0600 receipt
The warden admin wrapper refuses any output; the first founder run was
refused (nothing written, all entries still drafts).

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 11:22:46 +02:00
6f529413c8 MASON-WP-0004-T02: draft custody descriptions and a metadata-only apply tool
custody-describe.py drafts the five custody fields from CCRs, the routing
catalog and the owner proposals (no OpenBao access), and applies accepted
entries with bao kv metadata patch only, silently. 29/38 drafts complete;
gaps left empty for owners. 4 tests.

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 11:19:30 +02:00
cd6c61d034 MASON-WP-0004-T01 done: founder rulings on tenant conflict and unclear paths
A: coulomb as approved; four infotech hall-of-helix values move there as
part of MASON-WP-0005-T04. B1 retire duplicate activity-core/default entry,
B2 forgejo-mailer -> rapp-forgejo, B3 target-revenue deferred.

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 11:02:47 +02:00
9b3ec41f0e MASON-WP-0004-T01: live inventory and owner proposals for 45 undescribed paths
49 paths, 45 without custody fields. 38 owners proposed from catalog/CCRs,
3 genuinely unclear, and 4 undocumented fluid-telegram entries under tenant
infotech that conflict with the approved coulomb plan; WP-0005-T04 on hold
until the founder rules.

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 10:54:08 +02:00
3ac63b23fc MASON-WP-0007-T06: Secret presence check only through the safe helper
Per the-custodian standing notice 51e9eace (2026-09-28).

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 10:46:53 +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
401616bb0b MASON-WP-0009-T05: lane packaged as CCR-2026-0038, waits on founder apply
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:33:51 +02:00
bc3e03941e MASON-WP-0007-T04 done: tenant-engine ESO objects declared (rapp-tenant-engine c160be2)
Matches plan rows 4-6. Deployment is a founder make target, not ArgoCD;
T06 now waits on that apply, then metadata-only verification.

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:28:42 +02:00
49ec281c87 MASON-WP-0005-T01: group creation is a founder UI step for now
net-kingdom has no agent path (provisioner endpoint not deployed, groups
lane pending WARDEN-WP-0044); T01 waits on the founder creating the group.

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:24:51 +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
bc5c99797c MASON-WP-0009-T02/T03 done; record net-kingdom fold-in for WP-0010-T01
WP-0009: founder approvals and owner changes are applied live per key-cape
(KEY-WP-0037 finished 2026-10-07); only T05 (service-JWT lane proof) remains.
WP-0010: net-kingdom 074b3a0 adopted all six T01 refinements.

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:43:13 +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
custodian-sync
e8b56c1403 chore(consistency): renormalize lifecycle state [auto]
Updated by fix-consistency on 2026-10-08:
  - workplan status: ready → active

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 327203@bnt-lap001
Assistant-Session: 55028ae3-4914-4bd1-8f5c-815f3527aef0
2026-10-08 23:21:23 +02:00
fdc0e578c0 MASON-WP-0010-T01: review oidc-browser-relying-party materialization section
Six refinements: fix the custody path in the type, reuse the
workload-kv-read-keycape-* policy family, template policy bodies, add the
ESO role, align catalog naming, collapse duplicate rollback steps.
T02 now waits on NK-WP-0048-T05. Also commits pending sync output
(WP-0009-T05 task id, WORK-RECORDS refresh).

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:21:03 +02:00
812839e2b6 chore(consistency): record State Hub IDs for MASON-WP-0010
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 5457@bnt-lap001
Assistant-Session: 792bf84a-3783-4f5d-a811-cded61dd2012
2026-10-08 22:19:56 +02:00
22db39bfd8 Add MASON-WP-0010: materialize SecurityCases from their type
Companion to net-kingdom NK-WP-0048; acceptance replaces the executive-summary
gate for known cases only.

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

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 5457@bnt-lap001
Assistant-Session: 792bf84a-3783-4f5d-a811-cded61dd2012
2026-10-08 22:17:03 +02:00
6a602edafb MASON-WP-0009-T04 done: live capability verification of the KeyCape secrets-engine-openbao lane
Value-free evidence under the read-only ops-mason-survey grant (revoked after
use). Adds T05 for live-token checks and the pointer route. Fixes
bao-session.sh grant misreporting an unreadable policy as absent.

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-07 13:47:14 +02:00
989236a36c MASON-WP-0009-T04: note verification runs under ops-mason-survey
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-07 10:44:38 +02:00
f10385f3e0 chore(consistency): record hub IDs for MASON-WP-0009 and MASON-IN-0004
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:59 +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
398b9cf729 Record the live plan survey and the reviewed inbound-library AppRole plan.
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:47 +02:00
repo-manager
b9c9f082cf repo.work.assign_missing_identifiers
source: repo-manager
reason: deterministic projection registration

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 1170398@bnt-lap001
Assistant-Session: 622cd705-cb31-4322-ba08-dd42e44fa583
2026-10-05 13:22:34 +02:00
9f67565ea3 MASON-WP-0008: generate the construction-plan existing-structure survey
scripts/plan-survey.py runs under the ops-mason-build grant and prints a
pasteable section 2: relevant secrets/auth/policy/role listings with counts,
policy stanzas covering the target for name-matched policies, KV metadata
existence, matching ops-warden catalog entries, timestamp, BAO_ADDR, token
display_name and a draft yes/no/partial answer. Metadata only: an allowlist
refuses kv get, */data/* and role-id/secret-id before any process starts; a
non-grant token is refused and the token is never printed. Denied queries
degrade to 'not permitted by ops-mason-build'. Tests use a fake bao runner.

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 13:22:26 +02:00
d5ae2d4924 MASON-WP-0005-T02: close the OIDC KV matrix source contract
Lock exact data-path capabilities and the absence of parent and sibling
paths in the unit test, and mark T02 done after those tests passed.

Assistant: grok
Assistant-Session: 01a10946-16b2-7771-88ac-c6c2d3e14d0b
2026-10-05 01:41:25 +02:00
902668a050 Advance dependency roots with guarded source implementations
Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a10391-6355-7b41-b0fa-3e14e874f091
2026-10-04 11:15:06 +02:00
9d10fba4cb Advance dependency roots with guarded source implementations
Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a10391-6355-7b41-b0fa-3e14e874f091
2026-10-04 11:01:47 +02:00
1c9238042f MASON-WP-0007: T05 and T01 done on attended receipts (already_identical); T06 waits only on T04
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 3775@bnt-lap001
Assistant-Session: cfacb6a5-ad5b-4f79-ac67-053e3b0d34a3
2026-10-03 08:38:21 +02:00
1c06d8fc92 MASON-WP-0007-T05: founder approval recorded; attended run remains
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 3775@bnt-lap001
Assistant-Session: cfacb6a5-ad5b-4f79-ac67-053e3b0d34a3
2026-10-03 08:35:25 +02:00
21f8b3754f MASON-WP-0007: point T05 at the reviewed seed helper; T01 file-only survey (CUST-WP-0075)
T05 now names railiance-platform scripts/tenant_engine_audit_core_sender_seed.py
(e7eb9db) and the exact three-step attended sequence. T01 records the
file-only answers; T06 carries the read-only ESO token-create can-i check.

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

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 3775@bnt-lap001
Assistant-Session: cfacb6a5-ad5b-4f79-ac67-053e3b0d34a3
2026-10-03 08:29:32 +02:00
f25f5a83bd MASON-WP-0007-T05: drop satisfied depends_on and non-standard blocked_on: founder (gate is needs_human + decision 62aa95e4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 3775@bnt-lap001
Assistant-Session: cfacb6a5-ad5b-4f79-ac67-053e3b0d34a3
2026-10-03 03:45:30 +02:00
c6453c2e19 MASON-WP-0007: railiance-platform 8c44256 is on origin/main
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 3775@bnt-lap001
Assistant-Session: cfacb6a5-ad5b-4f79-ac67-053e3b0d34a3
2026-10-03 03:30:21 +02:00
4503d1e979 CUST-WP-0075 inbox sweep: act on railiance-platform and tenant-engine replies
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 3775@bnt-lap001
Assistant-Session: cfacb6a5-ad5b-4f79-ac67-053e3b0d34a3
2026-10-03 03:28:33 +02:00
2076d5c0dd CUST-WP-0075-T03: route human gates to hub decisions
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: fable
Assistant-Process: 3775@bnt-lap001
Assistant-Session: cfacb6a5-ad5b-4f79-ac67-053e3b0d34a3
2026-10-03 03:12:18 +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
32590a4754 chore: hub id writeback and index for MASON-WP-0007
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:58 +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
0d2fe45cfb Qualify wait tasks per Task Wait Qualifiers v0.1 (CUST-WP-0074-T05, gate root R2 credential provisioning)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: sonnet
Assistant-Process: 237582@bnt-lap001
Assistant-Session: f2b3d9f1-8fb9-4b9c-bc2b-837ec5dfc826
2026-09-28 23:31:23 +02:00
2b83324c01 Bind OpenBao builds to approved inputs and secure credential delivery
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a0e75a-fc5c-7913-9dba-9846210c766d
2026-09-28 11:55:39 +02:00
36445ae679 Enforce readiness tiers and reconcile blocked workplans
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a0e75a-fc5c-7913-9dba-9846210c766d
2026-09-28 11:40:57 +02:00
c3424f730e chore(consistency): write back MASON-WP-0006 hub IDs and refresh WORK-RECORDS.md
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 63291@bnt-lap001
Assistant-Session: 8bd77868-ca68-4f49-bb1e-d539ecc0d703
2026-09-21 14:37:25 +02:00
aeb88faf7e Record the founder's plan-approval and Kubernetes change-gate decisions.
INTENT.md: the pep_stance gap and the three phase-4 write contacts are marked
accepted under the founder's plan-approval exception (GOVERN @ estate,
2026-09-21, review 2026-12-21). They stay declared; no stance map is published.
kubernetes-plane-apply records the readiness-tiered change gate and states
that phase 4 does not enforce it yet.

MASON-WP-0006 plans the readiness-tier check. It waits on a founder answer for
the whitehat plane, which has no readiness_state and so defaults to production.

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

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 63291@bnt-lap001
Assistant-Session: 8bd77868-ca68-4f49-bb1e-d539ecc0d703
2026-09-21 14:35:29 +02:00
1189d12dc3 Classify open workplans with flavor (CUST-WP-0072).
Set flavor on open workplans from origin/prose/status. Copy existing
depends_on aliases only. Do not promote residuals.

Assistant: grok
Assistant-Session: 01a09dc1-b21e-77e1-919e-fcad2f82b267
2026-09-14 15:50:43 +02:00
ffc4b0aa61 Finish MASON-WP-0003: routing lane is registered.
T03 landed the pointer-only state-hub-forge-derivation-read catalog
entry on ops-warden. STATE-WP-0084 already consumes the credential.

Assistant: grok
Assistant-Session: 01a09dc1-b21e-77e1-919e-fcad2f82b267
2026-09-14 04:58:35 +02:00
repo-manager
8808e13027 chore(registrar): assign State Hub identifiers
Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 3377672@bnt-lap001
Assistant-Session: 15463ccf-238f-4e13-b163-93aa25c6d166
2026-08-28 11:52:56 +02:00
958a667dd6 feat(workplan): open MASON-WP-0004 for credential descriptions
custody-inventory.py reports 21 paths, 17 undescribed. An undescribed
credential is one nobody can identify without reading it, so orientation
needs the access the store exists to control — and both of the week's
failure modes stay available: no used_by list, so a rotation misses a
consumer; no on_loss line, so recovery is improvised under pressure.

Sequenced so ops-mason does not guess. T01 establishes owners, because a
confidently wrong used_by is worse than an empty one — a rotation will
trust it.

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-28 11:50:50 +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
051837ec4f chore(workplan): MASON-WP-0003 active — T01 approved, T03 in progress
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:32 +02:00