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
This commit is contained in:
parent
46f5c956b5
commit
33aed8a5c9
3 changed files with 156 additions and 0 deletions
|
|
@ -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"
|
||||
}
|
||||
|
|
@ -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"
|
||||
}
|
||||
|
|
@ -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.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue