From 33aed8a5c97386aa79f97d197c21b710f69d0dd8 Mon Sep 17 00:00:00 2001 From: codex Date: Sun, 11 Oct 2026 15:33:14 +0200 Subject: [PATCH] Publish reviewed KEY39 lifecycle source and preserve failed review history Assistant: codex Assistant-Model: gpt-6.1-sol Assistant-Session: 01a126e1-76f8-7643-8cf3-e93336539ade --- ...11-key39-lifecycle-v4-platform-review.json | 63 +++++++++++++++++++ ...11-key39-lifecycle-v5-platform-review.json | 52 +++++++++++++++ ...-WP-0035-credential-lane-implementation.md | 41 ++++++++++++ 3 files changed, 156 insertions(+) create mode 100644 docs/reviews/2026-10-11-key39-lifecycle-v4-platform-review.json create mode 100644 docs/reviews/2026-10-11-key39-lifecycle-v5-platform-review.json diff --git a/docs/reviews/2026-10-11-key39-lifecycle-v4-platform-review.json b/docs/reviews/2026-10-11-key39-lifecycle-v4-platform-review.json new file mode 100644 index 0000000..ac05bcc --- /dev/null +++ b/docs/reviews/2026-10-11-key39-lifecycle-v4-platform-review.json @@ -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" +} diff --git a/docs/reviews/2026-10-11-key39-lifecycle-v5-platform-review.json b/docs/reviews/2026-10-11-key39-lifecycle-v5-platform-review.json new file mode 100644 index 0000000..a2c5c7c --- /dev/null +++ b/docs/reviews/2026-10-11-key39-lifecycle-v5-platform-review.json @@ -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" +} diff --git a/workplans/RPF-WP-0035-credential-lane-implementation.md b/workplans/RPF-WP-0035-credential-lane-implementation.md index bdf23fa..bdfc6c5 100644 --- a/workplans/RPF-WP-0035-credential-lane-implementation.md +++ b/workplans/RPF-WP-0035-credential-lane-implementation.md @@ -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.