Request r5 source review, the 1.3 kernel review and the owner re-checks

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
codex 2026-10-17 12:19:03 +02:00
parent 4c04e40c26
commit 4097a0bfbc
3 changed files with 230 additions and 0 deletions

View file

@ -0,0 +1,56 @@
# Owner re-check: the re-frozen 1.3 candidate
Requested 2026-10-17 by the founder. **Start only after** both of these approve with
no open findings:
- the coordinator source review `../nk48-adapters-1.2-review/coordinator-review-r5.json`
(net-kingdom `001a38c`)
- the kernel review `../warden-1.3-kernel-review/kernel-review-r1.json`
(ops-warden `117fec9` and branch `warden-1.3-kernel` at `5abde81`)
Each owner already reviewed the candidate in `owner-review-<owner>.json` and required
changes. The re-check is short: did the re-freeze make your required changes the
way you wrote them, and do you now accept your descriptors?
New frozen targets:
- net-kingdom `001a38ca2aa85155ce4840c4da22aca6e2346171`
- 1.3 `type.yaml` sha256 `e75fe94110ef9fb7fb18072fe2856941b33507c99cb406d36576046481485d0a`
- ops-warden kernel and catalog: branch `warden-1.3-kernel` at `5abde81`. It is not
merged. Merging follows the kernel review.
New 1.3 descriptor digests (from the type's `execution_descriptors`):
| Step | Owner | Lane | Digest |
|---|---|---|---|
| register-client | net-kingdom | keycape-attended-case-change | sha256:4ecc769f75433b66c7161f13c0fe7e5599633cf466d46cb6d8031f0456f426e7 |
| ensure-groups | net-kingdom | keycape-attended-case-change | sha256:ebc9d5b9167d18e6015f4bbeb9699e8d396d64fbfaf195142781f84f4f47a70a |
| bind-env | net-kingdom | keycape-attended-case-change | sha256:d5fcb20cf15bf7454890d2529180c582218e3df12584a99162e4b664b899caa0 |
| mint-secret | railiance-platform | keycape-client-secret-generate | sha256:c92957227235db04953809d92b260d32c8b947472a8e8fd17a258ade3ae8da70 |
| deliver-secret | railiance-platform | platform-secret-delivery | sha256:75aaa7346aebdea2a0eb0ba993995515b5248ffefc34caf8e713525e9b58da85 |
| deliver-consumer-secret | railiance-apps | consumer-owner-deployment | sha256:36281df8139fb1ec64b226d94f80eb592de5addab7063ff54c691c641e275fc7 |
| hand-over | railiance-apps | apps-consumer-handover | sha256:1bce07a3229b7d0c7c730f35ce5b40fe471009a82de8dd53788ed970a9be1224 |
## Per owner
- **net-kingdom:** NK-1.3-C1 (step text) and NK-1.3-C2 (canon) as written? Accept
register-client, ensure-groups and bind-env at the new digests?
- **railiance-platform:** RPF-1.3-C1 (deliver-secret lane and auth) and RPF-1.3-C2
(mint wording) as written? Mint and deliver-secret digests are unchanged. Do you
confirm acceptance? Also confirm the draft catalog entry `platform-secret-delivery`:
native delegation, owner_repo railiance-platform, risk high.
- **railiance-apps:** RAPPS-1.3-C1, C2 and C3 as written? Accept both new digests?
**One new question:** the catalog lanes `consumer-owner-deployment` and
`apps-consumer-handover` are now kind `attended-change`, which must name the login
lane that establishes your operator session (`session_lane`). No existing login lane
fits, so both say `pending-owner-confirmation`, and planning refuses until you name
one. Name the lane, or say that a new login lane is needed and who owns it.
- **ops-warden:** do KERNEL-2, KERNEL-3, CATALOG-1 and the founder's attended-change
lane kind implement what you required? Will you promote the four draft lanes once
their owners confirm them, and on what evidence?
- **key-cape:** KC-1.3-C1 (the checker named by digest and revision) as written?
Confirm the draft catalog entry `keycape-attended-case-change` (owner_repo
key-cape/net-kingdom, interim delegation, session_lane key-cape-oidc-login).
Write `owner-recheck-<owner>.json` in this directory. Hard limits as in
[README.md](README.md).

View file

@ -0,0 +1,81 @@
# Review request: NK-WP-0048 1.3 candidate re-freeze (r5)
Requested 2026-10-17 by the founder. r4 approved net-kingdom `1920b13`. The five owner
reviews (`../nk48-1.3-owner-review/owner-review-*.json`) then required one combined
re-freeze. r5 reviews that re-freeze as source. The kernel and catalog side is
reviewed separately in `../warden-1.3-kernel-review/README.md`.
## Provenance
The authoring session made these changes: the adapter edits through a subagent, the
type text, canon text, map regeneration and test rewiring directly. Run r5 in a
**new session** with none of the context of the authoring session or any earlier
review session (r1–r4, owner reviews).
## Frozen review target
net-kingdom `001a38ca2aa85155ce4840c4da22aca6e2346171` (r4 target `1920b13` plus
`aba012e`, merge `407ee5e` of `cbadd35`, and `001a38c`).
| File | sha256 at 001a38c | Since r4 | Owner requirement |
|---|---|---|---|
| sso-mfa/k8s/keycape/keycape-registration-adapter.py | a53beea4dbbe373ce7a5b84d55e79be8407ab9688037c7ee057afcc7be576047 | changed | OW-1.3-C1 lane |
| sso-mfa/k8s/keycape/ensure-groups-adapter.py | 6cba5b07a9262a8e0bf445dc4095ba03b31ddc15e2efbfe374e93f4f78b6aed4 | changed | OW-1.3-C1 lane |
| sso-mfa/k8s/keycape/bind-env-adapter.py | fa17fae21776b5c620ee9782adf050649c3a28719a6687d2524ff67ca7ad1925 | changed | OW-1.3-C1 lane |
| sso-mfa/k8s/keycape/deliver-consumer-secret-adapter.py | 65db5386cdf08a1aa932886c046abed20330a36c96e63d4267adb8341b23da42 | changed | RAPPS-1.3-C1 actor human |
| sso-mfa/k8s/keycape/handover-adapter.py | bad7c1132258f2140b0d83548031ac86eecea4f4019f34adedc1e9e3774a3832 | changed | RAPPS-1.3-C2 four probes |
| security-case-type-revisions/1.3/oidc-browser-relying-party/type.yaml | e75fe94110ef9fb7fb18072fe2856941b33507c99cb406d36576046481485d0a | changed | NK-1.3-C1, RPF-1.3-C1/C2, RAPPS-1.3-C3, KC-1.3-C1, new map |
| canon/standards/security-case-types_v0.1.md | db2de5108c0f911648e223e6fdba4fb530471250c539b35865e1e0726e3240c4 | changed | NK-1.3-C2 |
| sso-mfa/k8s/keycape/descriptor-composition-1.3.candidate.json | 773daa1df72cc7cf6a6d8aa082208181ca2438cdecc9179b1bc5b1c3a09099c2 | regenerated | |
| sso-mfa/k8s/keycape/descriptor-composition-1.2.candidate.json | 5f68a101132eb3a7532c16535109f693c6a66a80817a8084a5464abde44990c6 | regenerated, now a refusal | |
| sso-mfa/k8s/keycape/test_admit_1_3_type.py (evidence) | f4f6a35cfbada462c939fe357e51fa5d03efc9d20c17a511f224c1359ca0faa5 | changed | |
| sso-mfa/k8s/keycape/test_compose_1_2_descriptors.py (evidence) | 9a4b9fb0141221d6e5bcb72b3656613afda54d16ede300bffa8f71956ae6fd2c | changed | |
| sso-mfa/k8s/keycape/test_admit_1_2_adapter_descriptors.py | — | **removed** | its unique checks moved into test_admit_1_3_type.py |
| mint-secret-adapter.py, deliver-secret-adapter.py, compose-1.2-descriptors.py | 246323c7…, cd1a515a…, 39021cac… | unchanged | |
## Reproduce
Extract into a directory named `net-kingdom` (r4 O1):
```bash
mkdir -p "$SCRATCH/net-kingdom" "$SCRATCH/ow"
git -C ~/net-kingdom archive 001a38c | tar -x -C "$SCRATCH/net-kingdom"
git -C ~/ops-warden archive 117fec9 src | tar -x -C "$SCRATCH/ow"
cd "$SCRATCH/net-kingdom"
python3 tools/security-case-types/security_case_validator.py validate-type security-case-type-revisions/1.3/oidc-browser-relying-party
NET_KINGDOM_ROOT="$SCRATCH/net-kingdom" python3 -m pytest -q -p no:cacheprovider security-case-type-revisions/1.3/oidc-browser-relying-party/tests
cd sso-mfa/k8s/keycape
PYTHONPATH="$SCRATCH/ow/src" ~/ops-warden/.venv/bin/python -m pytest -q -p no:cacheprovider \
test_*adapter*.py test_registration_original_intent_reconcile.py test_compose_1_2_descriptors.py \
test_admit_1_3_type.py test_adapter_source_closure.py
```
Authors report: validator OK; 22 package tests; 129 passed with 115 subtests, against
kernel `117fec9`. Don't use `python -I` together with `PYTHONPATH`. `-I` ignores
`PYTHONPATH`, and the run silently imports whatever `warden` is installed.
## What to check
1. Each owner requirement in the table is implemented as the owner wrote it. Read
the owner's own text in `owner-review-*.json`, not this summary.
2. The 1.3 type differs from 1.2 only in version, status, the map, the follow-through
step text and the hand-over rollback text, and the parameters are byte-identical:
its fingerprint still equals 1.2's. Diff it yourself.
3. Every follow-through step that has a descriptor declares a lane, and each
`warden_executes`/`attended` pair matches the mode the owners agreed: mint-secret
warden; deliver-secret owner path; the other five attended.
4. The map equals the composed 1.3 set, and both artifacts equal a fresh regeneration.
The 1.2 composition is refused on exactly the three moved lanes.
5. RAPPS-1.3-C2: hand-over refuses every malformed observations list, and the
observations are bound into the digest.
6. Removing `test_admit_1_2_adapter_descriptors.py` drops no coverage the 1.3 test
does not carry. Check one case in particular: an agent-actor *descriptor* is now
refused by the map before the kernel's "agent mint is forbidden" check can run.
7. Checks 1–8 from the r1 request, for the five changed adapters.
## Expected output
Write `coordinator-review-r5.json` here, shaped like r4. Review everything before
stopping, record every rejection and fix nothing. Hard limits as before: no live or
native action, no secret access, no edits to net-kingdom or ops-warden, and no
grant of any kind.

View file

@ -0,0 +1,93 @@
# Review request: ops-warden kernel and catalog for the 1.3 candidate
Requested 2026-10-17 by the founder. The ops-warden owner review
(`../nk48-1.3-owner-review/owner-review-ops-warden.json`) required KERNEL-1, KERNEL-2,
KERNEL-3 and CATALOG-1. The founder then made two decisions:
- a new catalog lane kind `attended-change`, with `session_lane` naming the login
lane that establishes it, so that an attended step may use a login lane or an
attended-change lane;
- `apps-consumer-handover` graded `risk: high`.
This request covers both kernel targets. Nothing here is merged to ops-warden `main`.
## Provenance
- `a45cf47` (the original-intent interface) was written by a subagent of the 1.3
authoring session.
- `117fec9` (fixes to it) was written by another session.
- The branch `warden-1.3-kernel` was written by subagents of the authoring session,
plus one test by the authoring session itself.
Run this review in a **new session started in `~/ops-warden`**, with none of those
sessions' context.
## Frozen targets
1. **KERNEL-1:** ops-warden `117fec9`, reviewed as the change from `a45cf47`. This is
the original-intent path the registration adapter's `reconcile_original` uses.
Nothing has independently reviewed either revision.
2. **Branch** `warden-1.3-kernel` at `5abde817775d6304e3cf5a46948717a1606981bf`,
reviewed as the change from `117fec9`:
- `a14376c` KERNEL-2/3 and CATALOG-1 draft lanes, and `69fdba2` regenerated paths
- `207d29e` attended-change lane kind and hand-over risk high, and `0a1e990`
regenerated paths
- `5abde81` integration test against the real net-kingdom 1.3 candidate
(net-kingdom `001a38c`)
## Reproduce
```bash
mkdir -p "$SCRATCH/ops-warden" "$SCRATCH/net-kingdom"
git -C ~/ops-warden archive 5abde81 | tar -x -C "$SCRATCH/ops-warden"
git -C ~/net-kingdom archive 001a38c | tar -x -C "$SCRATCH/net-kingdom"
cd "$SCRATCH/ops-warden"
WARDEN_TEST_NETKINGDOM_ROOT="$SCRATCH/net-kingdom" PHASE_MEMORY_REPO=~/phase-memory make test
make lint
```
Authors report 746 passed, 4 deselected, and a clean lint. For `117fec9`, run the same
suite at that revision.
## What to check
1. **KERNEL-1 (`a45cf47..117fec9`):** the original intent is recorded atomically with
the pre-dispatch journal row and looked up after a restart. Any mismatch (pins,
source, step, owner, target, principal, lane, tenant, realm) refuses before a
journal write. Reconcile gets the original separately from the new attempt. Name
the four defects `117fec9` says it fixed, and confirm that each fix holds.
2. **KERNEL-2:** a descriptor's lane must resolve in the parsed catalog and be active,
with a delegation record and a risk grade. The descriptor owner must fit
`owner_repo`, and `mint`/`change` need risk high. Check that
`catalog-routing-acceptance` still covers the whole catalog digest.
3. **KERNEL-3:** mode-aware admission, exactly as `owner-review-ops-warden.json`
question 3 specifies:
- **warden:** unchanged
- **attended:** actor human, `WARDEN_AGENT_ID` unset, step lane equals the session lane
- **owner:** native delegation, `owner_repo` exactly the owner, no Warden-executed
lane, no mint
The type step values must agree with the descriptor. Look for an ordering or
bypass gap, for example a step id that matches several steps, or a `{param}`
owner resolved from case input.
4. **Lane kind:** an attended step's lane is either kind `login` or kind
`attended-change` whose `session_lane` resolves to an active, reviewed login lane.
The two railiance-apps lanes carry `session_lane: pending-owner-confirmation` and
must keep planning refused.
5. **Catalog:** the four entries are `draft` and not promoted, with the grades and
delegations stated. The regenerated `high-risk-data-paths.yaml` is fresh.
`PARAMETER_PINS` is untouched (PIN-1 waits for the founder).
6. **Integration test:** check that it proves its docstring. The real type and
artifact are used, and the only simulations are promotion and the pin, both in
memory.
7. **Coverage:** the attended-change branch of `check_follow_through` has no
dedicated unit test. Only the integration test exercises it. Decide whether that
is a finding.
## Expected output
Write `kernel-review-r1.json` here with a verdict for `117fec9` and one for each
branch commit, findings, an independent reconstruction count and what remains.
Record every rejection and fix nothing. Hard limits: no live or native action, no
`warden sign` or route mutation against anything real, no secret access, and no
edits to ops-warden or net-kingdom.