Publish reviewed KEY39 lifecycle source and preserve failed review history
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s

Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a126e1-76f8-7643-8cf3-e93336539ade
This commit is contained in:
codex 2026-10-11 15:33:14 +02:00
parent 46f5c956b5
commit 33aed8a5c9
3 changed files with 156 additions and 0 deletions

View file

@ -0,0 +1,63 @@
{
"accepted_preparation_facts": [
"Role/policy source and declared claims agree with CCR38: issuer/JWKS RS256, service subject and audience, tenant/roles/scope/principal_type; login-self has no native lane authority.",
"Six temporary registrations isolate audience/subject/tenant/role/scope and matching short-lived expiry; human and coding-agent tokens remain independently founder-held inputs, not newly authorized producers.",
"Finite exact-number expiry/observation checks reject booleans, strings, NaN/infinity and stale/future observations; approved session420..900s and positive remaining lifetime are bounded.",
"Source role omits expiration_leeway. Actual installed default/leeway must be freshly owner-observed; normalization -1=>0 and0=>150 is only a model, not native evidence.",
"Main-thread hard timers span HTTP connect/headers/body and normal close; protected Kubernetes patches/deletes use pre/post deadline checks and clipped timeouts; aggregate300s cleanup cannot reset. Late successful session is revoked privately or remains unconfirmed; partial login remains unknown.",
"UID/resourceVersion guards, baseline drift refusal, restoration readback and removed-client semantic refusal are appropriate source controls; malformed/transport or cleanup failures must remain unproved."
],
"authority": "No source native acknowledgment granted for this revision; no helper approval authentication, runtime permission, source status/binding changes, secret access or foreign owner review is claimed.",
"completed_preparation_record_established_before_formal_review": true,
"decision": "changes_requested",
"findings": [
{
"counterexample": "Synthetic response getcode200; read immediately raises Refused; close sleeps70ms. timeout10ms request returns after>60ms because alarm is disarmed before outer finally close. openbao_login_outcome_unknown is correctlytrue but elapsed bound is absent.",
"finding": "Exceptional response.close runs outside total_timeout, so a failed request can exceed its promised total elapsed cap.",
"id": "RPF-KEY39-V4-F01",
"location": "SessionTransport.request outer finally response.close",
"required_change": "Bound exceptional close/abort under the same remaining request budget or a separately admitted finite clipped cleanup budget; preserve/disarm/restore signal handling, suppress private failures and never turn unknown login into successful refusal. A blocking close after read failure/timeout must not escape finite authority/cleanup bounds.",
"severity": "blocking-source-review",
"tests_required": "Exceptional read, header/body timeout, oversized response, failing normal close followed by cleanup close; slow/raising close must remain finite, unknown/unproved and token cleanup truthfully distinguished."
}
],
"frozen_inputs_changed": false,
"intent_basis": "Platform INTENT Secure Custody, stable shared service interfaces, operability/recovery and declared Staff/PEP-shaped Tooling gaps; CCR38 remains login-only identity, and bounded native refusal/session cleanup are Platform obligations.",
"native_prerequisites": [
"Corrected exact source reviewed by deployment/issuer/Platform owners. Earlier v2/v3 failures and current v4 refusal retained.",
"Private founder token producer/handoff still unimplemented: no admitted human callback/client or coding-agent custody producer supplies this stdin contract. Do not reuse earlier native grants or create credential files to fill the gap.",
"Fresh owner-native installed role/config/effective-policy/current-leeway observation with exact receipt digest and age<=300s; envelope booleans alone prove nothing.",
"Authenticated scoped founder disposition for exact revision/target/window/cleanup obligation plus actual protected founder context; helper disposition/acknowledgment fields are procedural, not an authenticated approval system or runtime grant.",
"Actual native claim/permutation/expiry outcomes, refusal versus transport distinction, unexpected-acceptance revokes, baseline restoration/removed-client/temporary-object cleanup, and unknown-session owner resolution.",
"MASON reader/nonmember evidence and Secrets actual backend entitlement/adoption remain separate; this probe does not close them."
],
"platform_source_pins": {
"credential-change-requests/CCR-2026-0038-secrets-engine-service-jwt-login.yaml": "65b2cfb772623da59c351033ab4eb2ec7adfbd109778e787c7fe1b0e185a3bc0",
"openbao/auth/secrets-engine-jwt-role.json": "529dc23193be42cbe0d4440f902a64ca7c9158da158c9da13396aa0030480f40",
"openbao/policies/secrets-engine-login-self.hcl": "d1a2969dd2949c822972e9b32243650567ac123a669f3fc609e9bfea977bb4eb"
},
"reviewed_entries": {
"sso-mfa/k8s/keycape/openbao-negative-session.py": "b4687c2d07819c43b45d0cddcad0488b62eb49175b2a06a43f7806a0838d3a4d",
"sso-mfa/k8s/keycape/test_openbao_negative_session.py": "ea2b5f7466c1da016f528093daf168c274238d4803eb5424d7353c66adbecf43"
},
"reviewed_manifest": "/tmp/keycape-jwt-lifecycle-v4-stage/manifest.json",
"reviewed_manifest_sha256": "d079f85c47d5c2635e1ee633ea4d1346b1737ce2be9ca273f22a38e620f418d8",
"reviewed_runner_sha256": "bb9610babf44a959342bac700bb5712e97f400b44c4d0659d21df4426e616e19",
"reviewer": "railiance-platform-owner (agent railiance-platform, codex)",
"schema": "owner-source-review/v1",
"validation": {
"commands": [
"PYTHONDONTWRITEBYTECODE=1 python3 -m unittest discover -s /tmp/keycape-jwt-lifecycle-v4-stage/net-kingdom/sso-mfa/k8s/keycape -p test_openbao_negative_session.py -q",
"PYTHONDONTWRITEBYTECODE=1 python3 -m unittest discover -s /home/worsch/key-cape/scripts -p test_openbao_negative_probe.py -q",
"PYTHONDONTWRITEBYTECODE=1 /home/worsch/secrets-engine/.venv/bin/python -m pytest -q -p no:cacheprovider /tmp/platform-key39-lifecycle-owner-review-stage/tests/test_key39_platform_independent.py"
],
"independent_attachment": "/tmp/platform-key39-lifecycle-owner-review-stage/tests/test_key39_platform_independent.py",
"independent_checks": 5,
"initial_test_harness_outcome": "Independent test collection had a literal spacing syntax typo; corrected only that local test, then5passed. Reviewed lifecycle input unchanged.",
"lifecycle_tests": 41,
"result": "all passed; one deliberately asserts reproduced v4 elapsed-bound defect; no native/session values involved",
"total": 63,
"unchanged_runner_tests": 17
},
"work_item": "RPF-WP-0035-T13"
}

View file

@ -0,0 +1,52 @@
{
"completed_same_owner_preparation_record_precedes_review": true,
"correction_verified": "RPF-KEY39-V4-F01: all exceptional response close/abort paths now use one fixed20ms cap clipped to original time when remaining and to nonresettable aggregate300s cleanup. No repeated unbounded close. Aggregate expired produces zero close calls. Abort timeout/exception records unconfirmed; original unknown login remains sticky and cannot become successful refusal. Signal state is restored.",
"decision": "approved",
"frozen_source_unchanged": true,
"intent_basis": "Platform INTENT Secure Custody, Stable Interfaces and Operable/Observable recovery; CCR38 login-only identity requires truthful finite native refusal/session cleanup but grants no protected lane execution.",
"not_approved": [
"founder disposition, authenticated runtime approval, environment/grant widening or authority transfer",
"private token producer/client/callback/coding-agent custody admission",
"actual installed role/JWKS/policy/leeway observation",
"native claim/expiry/refusal/revoke/readback/cleanup acceptance",
"MASON reader/nonmember matrices, Secrets execution entitlement or full adoption",
"KEY39/RPF35T02/SecretsT06 completion"
],
"other_source_checks": [
"Finite typed expiry/observation/session bounds, per-request main-thread HTTP/Kubernetes total timers, business-window post-response checks, delayed-success private revoke and partial-response unknown classification retained.",
"Current CCR38 source claims/policy are unchanged: exact role/audience/service subject/tenant/roles/scope/principal, no default policy,5m8use loginself with client-custody denies. No native grant from earlier sessions is inherited.",
"Role source does not set expiration_leeway: model0=>150 and-1=>0 retained; fresh installed role/config/effective-policy/current-leeway owner observation remains mandatory before native proof.",
"Temporary six registration permutations and real removed-client/restoration/UID/resourceVersion guards retain their separate issuer/deployment/Platform scopes. Registry cleanup cannot clear unknown native login or failed revoke.",
"Private founder human/coding-agent stdin producer/client/callback/live custody handoff is still unimplemented; source cannot authorize fetching/reusing credentials or invent that path."
],
"prior_changes_requested_retained": true,
"prior_review": "docs/reviews/2026-10-11-key39-lifecycle-v4-platform-review.json",
"prior_review_sha256": "c0f9da4850d7b6ce8a41401bfb7cddc39a60cd7bc8767de89d76b5f93198a2d9",
"required_native_packet": "Fresh exact installed role/config/effective-policy/leeway receipt<=300s; independently admitted founder-private human and coding-agent producers; exact source/runtime/target/window pins and authenticated scoped founder go expressly including finite abort/revoke/restoration cleanup. Helper disposition/owner acknowledgment JSON fields alone authenticate none of this. Native receipts must preserve unexpected acceptance, unknown login, failed revoke and partial cleanup until actual owner resolution.",
"review_scope": "exact KEY39v5 lifecycle source acknowledgment only; no privileged runtime grant or native evidence",
"reviewed_entries": {
"sso-mfa/k8s/keycape/openbao-negative-session.py": "3bcceebc845b17492040c76223d77088257c547a2b890198e7b5c2b04a0cd360",
"sso-mfa/k8s/keycape/test_openbao_negative_session.py": "a428a4a5ea60bd6c4ad10481e133227ad696a4a08653bf39b554b47431fb9f8c"
},
"reviewed_manifest": "/tmp/keycape-jwt-lifecycle-v5-stage/manifest.json",
"reviewed_manifest_sha256": "d1f997624db46693a7126a6eb6435f6b3a353d5bd67dcc8a539683e4b7147285",
"reviewer": "railiance-platform-owner (agent railiance-platform, codex)",
"same_trial": true,
"schema": "owner-source-review/v1",
"unchanged_runner_sha256": "bb9610babf44a959342bac700bb5712e97f400b44c4d0659d21df4426e616e19",
"validation": {
"commands": [
"PYTHONDONTWRITEBYTECODE=1 python3 -m unittest discover -s /tmp/keycape-jwt-lifecycle-v5-stage/net-kingdom/sso-mfa/k8s/keycape -p test_openbao_negative_session.py -q",
"PYTHONDONTWRITEBYTECODE=1 /home/worsch/secrets-engine/.venv/bin/python -m pytest -q -p no:cacheprovider /tmp/platform-key39-lifecycle-owner-review-stage/revision-v5/tests/test_key39_platform_v5_independent.py"
],
"credential_access": false,
"independent_tests": 5,
"native_actions": false,
"owner_checkout_writes": false,
"result": "passing source/synthetic checks; actual corrected elapsed counterexample independently tested",
"supplied_lifecycle_tests": 46,
"total_verified_checks": 68,
"unchanged_runner_tests_previously_verified": 17
},
"work_item": "RPF-WP-0035-T13"
}

View file

@ -982,3 +982,44 @@ T11 trial. No runtime grant, native acceptance, new Access/Approval semantics,
backend entitlement or full Lifecycle adoption is approved. T02/T12/SecretsT06 and
WP13 implementation/native gates remain open; the metadata pilot substitutes for
none of the ordinary generic lifecycle outcomes.
## Complete independent KEY39 v4 lifecycle source review preparation
```task
id: RPF-WP-0035-T13
status: done
priority: high
```
2026-10-11: Platform agent loaded its owner instructions/INTENT and RPF35-T02,
actual applied CCR38, exact native role/policy source and frozen KEY39 lifecycle
v4 manifest `d079f85c47d5c2635e1ee633ea4d1346b1737ce2be9ca273f22a38e620f418d8`.
All staged entry hashes were verified without changing the reviewed inputs.
Source role omits expiration_leeway: its observed actual default must be confirmed
natively, with -1→0 and 0→150 normalization preserved as a bounded model. Source
claims and login-only policy are unchanged. The supplied 41 lifecycle tests pass;
five independent cases also pass, including a new exceptional-response-close
elapsed-bound counterexample and four current-leeway normalization checks.
A 10ms HTTP request can take over70ms because exceptional finally response.close
runs outside the hard elapsed timer. Unknown native login is correctly recorded,
but source total elapsed enforcement is incomplete. This completed owner
preparation record exists before the formal exact source review entry. No
credential was requested/read, native action run, owner checkout edited or native
session grant inherited. T02 retains native role/policy/leeway, negative claims,
cleanup acceptance and MASON gates; KEY39 producer handoff and founder attendance
remain prerequisites. Source correction/re-review is required, not a native success.
2026-10-11 T13 correction preparation (same trial): exact KEY39 v5 manifest
`d1f997624db46693a7126a6eb6435f6b3a353d5bd67dcc8a539683e4b7147285`
and all entry hashes verified. The v4 exceptional-close finding is addressed:
one 20ms abort is clipped to original remaining time and the nonresettable
aggregate cleanup budget; zero calls after aggregate expiry; failed abort stays
unconfirmed/unknown with signal state restored. 46 supplied lifecycle checks and
five independent regressions pass; the unchanged runner's earlier17 tests remain
valid against identical source SHA. Existing T13 preparation record is retained
before the formal v5 exact source review. V4 changes-requested review and earlier
failed history remain retained, with no native success, inherited grant or scope
promotion. Actual private producer admission, fresh installed role/leeway/policy
observation, authenticated founder window and native refusal/cleanup remain gates.