NK-WP-0048-T30: record founder confirmation of T25-T29 lane and schema names
All checks were successful
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 2s

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

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 903097@bnt-lap001
Assistant-Session: aa320c8f-c3fa-46e7-8541-0b58e1e45d23
This commit is contained in:
tegwick 2026-10-17 10:33:35 +02:00
parent 8b30eef8a5
commit 582ab9fad0
5 changed files with 46 additions and 18 deletions

View file

@ -2,7 +2,7 @@
# Custodian Brief — net-kingdom # Custodian Brief — net-kingdom
**Domain:** infotech **Domain:** infotech
**Last synced:** 2026-10-17 05:53 UTC **Last synced:** 2026-10-17 06:49 UTC
**State Hub:** http://127.0.0.1:8000 *(adjust if running on a remote machine)* **State Hub:** http://127.0.0.1:8000 *(adjust if running on a remote machine)*
## Active Workstreams ## Active Workstreams
@ -42,19 +42,20 @@ Progress: 26/38 done | workplan_id: `17d315f0-829e-57c7-85cc-3a7914152804`
- … and 5 more open tasks - … and 5 more open tasks
### Establish SecurityCaseTypes so that known security cases are light ### Establish SecurityCaseTypes so that known security cases are light
Progress: 17/31 done | workplan_id: `e31f3f9d-0748-5137-b0a3-7b3ca46a66eb` Progress: 24/31 done | workplan_id: `e31f3f9d-0748-5137-b0a3-7b3ca46a66eb`
**Open tasks:** **Open tasks:**
- ! T05 — Acknowledge the type through informed-decision `d9b26bcf` - ! T05 — Acknowledge the type through informed-decision `d9b26bcf`
*(wait: Type1.2 architecture has a confirmed source-only founder acknowledgment; canonical1.1 remains unchanged/default and the1.2 reference case stays proposed. Needs explicit version selection/reference-source integration without normal admission bypass, closed owner adapters plus global/native receipt verifier (WARDEN-WP-0044-T03), independently verified six-object structural materialization and CCR42 claims/created-only provenance, exact broker/case/source reconciliation, then separately authorized native mint/delivery and attended registry/consumer verification. Source acknowledgment, a bundle or local tests do not prove implemented/materialized/live status.)* *(wait: Type1.2 architecture has a confirmed source-only founder acknowledgment; canonical1.1 remains unchanged/default and the1.2 reference case stays proposed. Needs explicit version selection/reference-source integration without normal admission bypass, closed owner adapters plus global/native receipt verifier (WARDEN-WP-0044-T03), independently verified six-object structural materialization and CCR42 claims/created-only provenance, exact broker/case/source reconciliation, then separately authorized native mint/delivery and attended registry/consumer verification. Source acknowledgment, a bundle or local tests do not prove implemented/materialized/live status.)*
- ! T06 — First KnownSecurityCase: Forgejo `c3c9c3ae` - ! T06 — First KnownSecurityCase: Forgejo `c3c9c3ae`
*(wait: The next types follow once the first one is proven end to end.)* *(wait: The next types follow once the first one is proven end to end.)*
- ! T15 — Define authenticated recovery for lost registration process state `1b825705`
*(wait: Source candidate 061461e is merged. Waiting on the owner to select the real authenticated original-attempt holder and native readback, and on independent re-review of the changed T13 adapter source.)*
- ! T30 — Compose the descriptor set over the reviewed candidates `6f6073ac`
*(wait: Seven-step 1.2 candidate composes completely in source. Waiting on owner confirmation of the proposed lanes and schemas for T25-T29.)*
- ► T14 — Admit governed group rollback against native owner boundaries `fce95440` - ► T14 — Admit governed group rollback against native owner boundaries `fce95440`
- · T12 — Prepare NetKingdom-owned attended step adapters `7ce4eee3` - · T12 — Prepare NetKingdom-owned attended step adapters `7ce4eee3`
- · T15 — Define authenticated recovery for lost registration process state `1b825705`
- · T16 — Select and review the actual machine descriptor composition `200bf500` - · T16 — Select and review the actual machine descriptor composition `200bf500`
- · T24 — Ensure-groups adapter source candidate `1a3931ee`
- … and 7 more open tasks
### Define an execution-attribution receipt for Railiance runs ### Define an execution-attribution receipt for Railiance runs
Progress: 1/2 done | workplan_id: `e2533f3a-aa43-59b3-bff3-8e64b6149487` Progress: 1/2 done | workplan_id: `e2533f3a-aa43-59b3-bff3-8e64b6149487`

View file

@ -43,8 +43,9 @@ ADAPTERS = {
'hand-over': ('handover-adapter.py', True), 'hand-over': ('handover-adapter.py', True),
} }
# Worker-proposed names (T25-T29) that the type does not fix. Each needs owner # Names (T25-T29) that the type does not fix. Worker-proposed, then confirmed by
# confirmation before any pin; the artifact marks them owner_confirmation_required. # the founder on 2026-10-17; the artifact records them as names_confirmed.
NAMES_CONFIRMED = {'by': 'founder', 'on': '2026-10-17'}
PROPOSED = { PROPOSED = {
# Actor 'agent' was decided by the founder on 2026-10-17; only the schema is open. # Actor 'agent' was decided by the founder on 2026-10-17; only the schema is open.
'mint-secret': {'task': 'NK-WP-0048-T25', 'mint-secret': {'task': 'NK-WP-0048-T25',
@ -183,7 +184,8 @@ def review(type_spec, candidates, params):
'candidate_descriptor_digest': digest(source), 'candidate_descriptor_digest': digest(source),
'type_owner': entry and entry['owner'], 'type_lane': entry and entry.get('lane'), 'type_owner': entry and entry['owner'], 'type_lane': entry and entry.get('lane'),
'findings': findings, 'findings': findings,
'owner_confirmation_required': proposed or None}) 'owner_confirmation_required': None,
'names_confirmed': dict(proposed, **NAMES_CONFIRMED) if proposed else None})
return rows return rows

View file

@ -49,6 +49,7 @@
"version": "warden.case.execution.v1" "version": "warden.case.execution.v1"
}, },
"findings": [], "findings": [],
"names_confirmed": null,
"owner_confirmation_required": null, "owner_confirmation_required": null,
"step": "ensure-groups", "step": "ensure-groups",
"type_lane": "key-cape-oidc-login", "type_lane": "key-cape-oidc-login",
@ -76,10 +77,13 @@
"version": "warden.case.execution.v1" "version": "warden.case.execution.v1"
}, },
"findings": [], "findings": [],
"owner_confirmation_required": { "names_confirmed": {
"by": "founder",
"on": "2026-10-17",
"schema": "railiance-platform.custody-mint.v1", "schema": "railiance-platform.custody-mint.v1",
"task": "NK-WP-0048-T25" "task": "NK-WP-0048-T25"
}, },
"owner_confirmation_required": null,
"step": "mint-secret", "step": "mint-secret",
"type_lane": "keycape-client-secret-generate", "type_lane": "keycape-client-secret-generate",
"type_owner": "railiance-platform" "type_owner": "railiance-platform"
@ -105,11 +109,14 @@
"version": "warden.case.execution.v1" "version": "warden.case.execution.v1"
}, },
"findings": [], "findings": [],
"owner_confirmation_required": { "names_confirmed": {
"by": "founder",
"lane": "platform-secret-delivery", "lane": "platform-secret-delivery",
"on": "2026-10-17",
"schema": "netkingdom.deliver-secret.v1", "schema": "netkingdom.deliver-secret.v1",
"task": "NK-WP-0048-T26" "task": "NK-WP-0048-T26"
}, },
"owner_confirmation_required": null,
"step": "deliver-secret", "step": "deliver-secret",
"type_lane": null, "type_lane": null,
"type_owner": "railiance-platform" "type_owner": "railiance-platform"
@ -135,10 +142,13 @@
"version": "warden.case.execution.v1" "version": "warden.case.execution.v1"
}, },
"findings": [], "findings": [],
"owner_confirmation_required": { "names_confirmed": {
"by": "founder",
"on": "2026-10-17",
"schema": "netkingdom.keycape-bind-env.attempt.v1", "schema": "netkingdom.keycape-bind-env.attempt.v1",
"task": "NK-WP-0048-T27" "task": "NK-WP-0048-T27"
}, },
"owner_confirmation_required": null,
"step": "bind-env", "step": "bind-env",
"type_lane": "key-cape-oidc-login", "type_lane": "key-cape-oidc-login",
"type_owner": "net-kingdom" "type_owner": "net-kingdom"
@ -164,6 +174,7 @@
"version": "warden.case.execution.v1" "version": "warden.case.execution.v1"
}, },
"findings": [], "findings": [],
"names_confirmed": null,
"owner_confirmation_required": null, "owner_confirmation_required": null,
"step": "register-client", "step": "register-client",
"type_lane": "key-cape-oidc-login", "type_lane": "key-cape-oidc-login",
@ -192,11 +203,14 @@
"version": "warden.case.execution.v1" "version": "warden.case.execution.v1"
}, },
"findings": [], "findings": [],
"owner_confirmation_required": { "names_confirmed": {
"by": "founder",
"lane": "consumer-owner-deployment", "lane": "consumer-owner-deployment",
"on": "2026-10-17",
"schema": "netkingdom.consumer-secret-delivery.v1", "schema": "netkingdom.consumer-secret-delivery.v1",
"task": "NK-WP-0048-T28" "task": "NK-WP-0048-T28"
}, },
"owner_confirmation_required": null,
"step": "deliver-consumer-secret", "step": "deliver-consumer-secret",
"type_lane": null, "type_lane": null,
"type_owner": "{consumer_owner_repo}" "type_owner": "{consumer_owner_repo}"
@ -222,11 +236,14 @@
"version": "warden.case.execution.v1" "version": "warden.case.execution.v1"
}, },
"findings": [], "findings": [],
"owner_confirmation_required": { "names_confirmed": {
"by": "founder",
"lane": "apps-consumer-handover", "lane": "apps-consumer-handover",
"on": "2026-10-17",
"schema": "netkingdom.apps-handover.attempt.v1", "schema": "netkingdom.apps-handover.attempt.v1",
"task": "NK-WP-0048-T29" "task": "NK-WP-0048-T29"
}, },
"owner_confirmation_required": null,
"step": "hand-over", "step": "hand-over",
"type_lane": null, "type_lane": null,
"type_owner": "{consumer_owner_repo}" "type_owner": "{consumer_owner_repo}"

View file

@ -109,10 +109,13 @@ class ComposeTests(unittest.TestCase):
self.assertEqual(mint['descriptor']['actor'], 'agent') self.assertEqual(mint['descriptor']['actor'], 'agent')
hand_over = next(r for r in doc['steps'] if r['step'] == 'hand-over') hand_over = next(r for r in doc['steps'] if r['step'] == 'hand-over')
self.assertEqual(hand_over['descriptor']['owner'], PARAMS['consumer_owner_repo']) self.assertEqual(hand_over['descriptor']['owner'], PARAMS['consumer_owner_repo'])
self.assertNotIn('owner', hand_over['owner_confirmation_required']) self.assertNotIn('owner', hand_over['names_confirmed'])
flagged = {r['step'] for r in doc['steps'] if r['owner_confirmation_required']} self.assertFalse(any(r['owner_confirmation_required'] for r in doc['steps']))
self.assertEqual(flagged, {'mint-secret', 'deliver-secret', 'bind-env', confirmed = {r['step'] for r in doc['steps'] if r['names_confirmed']}
'deliver-consumer-secret', 'hand-over'}) self.assertEqual(confirmed, {'mint-secret', 'deliver-secret', 'bind-env',
'deliver-consumer-secret', 'hand-over'})
self.assertTrue(all(r['names_confirmed']['by'] == 'founder'
for r in doc['steps'] if r['names_confirmed']))
def test_committed_artifact_matches_regeneration(self): def test_committed_artifact_matches_regeneration(self):
import json import json

View file

@ -1378,12 +1378,17 @@ stay separate gates and are not supplied by this task.
```task ```task
id: NK-WP-0048-T30 id: NK-WP-0048-T30
status: wait status: wait
blocking_reason: "Seven-step 1.2 candidate composes completely in source. Waiting on owner confirmation of the proposed lanes and schemas for T25-T29." blocking_reason: "Seven-step 1.2 candidate composes completely and its names are confirmed. Waiting on independent source review of the seven adapters; owner review and admission follow under T16."
depends_on: [NK-WP-0048-T24, NK-WP-0048-T25, NK-WP-0048-T26, NK-WP-0048-T27, NK-WP-0048-T28, NK-WP-0048-T29] depends_on: [NK-WP-0048-T24, NK-WP-0048-T25, NK-WP-0048-T26, NK-WP-0048-T27, NK-WP-0048-T28, NK-WP-0048-T29]
priority: high priority: high
state_hub_task_id: "6f6073ac-52dd-5b70-8874-6d76d4c072e4" state_hub_task_id: "6f6073ac-52dd-5b70-8874-6d76d4c072e4"
``` ```
2026-10-17 founder confirmed every proposed lane and schema name for T25-T29
as-is. The artifact records them as `names_confirmed` (by founder, 2026-10-17),
and no step is still `owner_confirmation_required`. Next: independent source
review of the seven adapters.
2026-10-17 founder decision: the mint-secret actor is `agent`, not `warden`. 2026-10-17 founder decision: the mint-secret actor is `agent`, not `warden`.
The kernel is unchanged. The adapter, its test and the composer were updated and The kernel is unchanged. The adapter, its test and the composer were updated and
the artifact regenerated; all seven steps pass `Descriptor.decode` and the artifact regenerated; all seven steps pass `Descriptor.decode` and