security: record guarded Playwright activation and collision verification
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Reject generated-only commits / generated-commit-guard (push) Successful in 8s

This commit is contained in:
codex 2026-10-13 23:47:30 +02:00
parent 71b99b3ff9
commit f5925c6282
3 changed files with 111 additions and 2 deletions

View file

@ -0,0 +1,86 @@
{
"observed_at": "2026-10-13",
"source_repo": "net-kingdom",
"source_base": "5dd74dfbdf3fd38adb1bfc1bdc1326181435f0e9",
"workplan_id": "NK-WP-0050",
"task_id": "NK-WP-0050-T02",
"custodian_task_id": "CUST-WP-0080-T05",
"result": "private_activation_patch_preparation_verified_not_live",
"files": {
"sso-mfa/k8s/keycape/playwright-activation.py": "5ac683b3324b00e6253f6040f4c73057027b1f98f7071160a6153794ba522757",
"sso-mfa/k8s/keycape/test_playwright_activation.py": "6fc22d091f27a76c32d2fb0a7fc3c6e18e54ff98d242699c518b2f9dc9fd4cbd",
"sso-mfa/k8s/keycape/playwright-registration.py": "bf2d6b83d93629df8ddaf6c31d6c7408ae3866969d63895714df0e08a570da99",
"sso-mfa/k8s/keycape/test_playwright_registration.py": "b97ea8619ac768f520e4058aeb50b0b1e8ef6d2e9a1a0fff932a151a3d4b61ae",
"docs/playwright-registration.md": "ebc7ce218965f548cfe21047d0de12aa529c3aa5f2537663eb74d43bba387f46",
"workplans/NK-WP-0050-playwright-consumer-registration.md": "0be0b643409d0731d4924c95566facdef58b1c65c5c1276f7f308ebfb2271fb7"
},
"verification": {
"focused_tests": {
"run": 90,
"failures": 0,
"errors": 0,
"skipped": 0
},
"focused_log_sha256": "cbd33f8bf5d692c783413fce6bc3968bc5d21a8892c95b505a2137df55281bcc",
"jsonpatch_version": "1.32",
"independent_patch_application": "jsonpatch RFC 6902 on synthetic API objects; controller status simulated",
"native_startup_check": {
"original_registry_valid": true,
"proposed_registry_valid": true,
"verifier_sha256": "046d7d4d621c287ff0097bb7cdade377fa5187432bad253a55f1932111c83c6a",
"synthetic_only": true,
"issuer_revision": "1344fc80e56315c5c99f58993f9ee02ce79e8a76"
},
"applied_files_match_frozen_manifest": true,
"secret_scan": {
"status": "clean",
"changed_blobs": 6,
"version": "8.30.1"
},
"initial_focused_tests": {
"run": 88,
"failures": 0,
"errors": 0,
"skipped": 0
},
"collision_regressions": {
"baseline_failures": 2,
"reasons": [
"unreviewed client-ID fallback audience accepted",
"second env name referencing proposed agent Secret/key accepted"
],
"baseline_log_sha256": "65821b8a1e9a1e55e54b80613896c7baf46b901cbc4a95b5a3769bc2d08ba321",
"after_repair_passed": 2
},
"evidence_scan_triage": {
"rule": "generic-api-key",
"classification": "false_positive_public_source_revision",
"blocked_blob_id": "d42c50f0824b2dcf3584915c3873ac7dffc52837",
"verification": "Flagged keycape_source value exactly equals local KeyCape git HEAD; no credential value. Renamed field to issuer_revision; scanner rules and hooks unchanged."
}
},
"behavior": [
"Source/data/spec/UID/resourceVersion-bound private proposal, single Recreate issuer and immutable owner image profile.",
"Explicit stop, observed zero replicas and no remaining registry consumers, registry update, env binding update, then resume.",
"Direct/projected volume and env consumers, including terminating/init/ephemeral pods, prevent registry writes.",
"Native verifier checksum pin, both original/proposed config checks, explicit env names, clean subprocess environment and contained diagnostics.",
"Rollback accepts only exact retained original/candidate states; preserves pre-existing registrations/bindings; unknown or unrelated drift requires reconciliation.",
"No-op proposals and rollback before any execution cause no issuer outage.",
"Dedicated inventory considers the issuer client-ID audience fallback; proposed agent delivery cannot alias another issuer environment binding."
],
"limits": [
"No live CLI, Kubernetes client, credential access, registry read or mutation was used.",
"The private library is not an authority boundary: protected executor must supply fresh complete observations and an independently approved exact digest, with custody/identity evidence and recovery-state custody.",
"Kubernetes has no cross-object transaction; an exclusive attended maintenance procedure and planned authentication interruption remain necessary.",
"The locally built verifier and synthetic startup checks are not deployed image admission or native Kubernetes server acceptance.",
"Current source/cluster/image pinning, owner custody returns, supervisor disposition, GitOps reconciliation and real readiness/issuance/login/consumer checks remain open.",
"Issued JWTs remain valid until expiry; active connections require transport-owner termination."
],
"knowledge_orientation": {
"version": "0.2.6",
"digest": "8d1d6a9d4d07fec7b619618de7dfe2be2254c1790f85f4198c7fe19db9751c02",
"status": "withheld/source-changed/orientation-only; current sources used"
},
"source_commit": "276b95f6bab983a06795c26d5592b895b9a55f27",
"preparation_commit": "eba6e1fdbb2d368093cb2effd4d798f393e0482e"
}

View file

@ -115,8 +115,8 @@
"message_id": "c6b4dfb0-44d5-4f12-8854-2c38ab6dc454",
"responsibility": "Supported loopback/custom-scope registration outside current browser-RP type; registration and governed per-agent custody with Platform.",
"accepted_task_id": "NK-WP-0050-T02",
"acceptance": "NetKingdom source ownership accepted in 5dd74df; NK-WP-0050-T01 compiler/preservation/native disposable preparation done. T02 custody integration and guarded activation todo; T03 live acceptance wait. No custody/live grant inferred.",
"source_commit": "5dd74dfbdf3fd38adb1bfc1bdc1326181435f0e9",
"acceptance": "NK-WP-0050-T01 registration preparation done. T02 progress: digest-bound private activation, conditional patch/readback and exact original-state rollback preparation verified in eba6e1f plus 276b95f collision repair; governed custody, protected executor integration and scoped live action remain open. T03 live acceptance waits.",
"source_commit": "276b95f6bab983a06795c26d5592b895b9a55f27",
"source_workplan": "workplans/NK-WP-0050-playwright-consumer-registration.md"
},
{
@ -187,6 +187,15 @@
"identity_acceptance": false,
"custody_admitted": false,
"live_activated": false
},
{
"repo": "net-kingdom",
"commit": "276b95f6bab983a06795c26d5592b895b9a55f27",
"implementation_task": "NK-WP-0050-T02",
"accepted_scope": "Private activation patch preparation and exact original-state recovery, including reproduced effective-audience/delivery-alias collision repair; 90 focused tests and native synthetic startup checks pass.",
"custody_admitted": false,
"live_activated": false,
"identity_acceptance": false
}
]
}

View file

@ -530,3 +530,17 @@ in the October 13 evidence directory. Case now links NK-WP-0050-T02 for governed
custody and guarded activation, with T03 awaiting actual issuer/consumer receipts.
No browser-case admission, custody grant, real identity trial or live rollout is
inferred. Other identity/authenticator/transport owner returns remain missing.
2026-10-13 registration activation preparation published in NetKingdom
`eba6e1f`: single-Recreate stop/configure/resume sequencing, native verifier pin,
private proposal digest and exact object/data/spec conditions, pod-quiescence
checks, readback and original-state rollback now have 90 passing focused tests
with no skips plus native synthetic KeyCape startup checks. Follow-up `276b95f`
refuses reproduced implicit-audience and aliased-Secret collisions; both new
regressions failed before repair and pass afterward. Pre-existing clients
and bindings survive rollback; intervening drift refuses stale replay.
NK-WP-0050-T02 is progress. The module has no live CLI or Kubernetes connection;
protected executor/recovery-state integration, admitted identity/custody, exact
current image/cluster and supervised live acceptance remain open. Receipt:
`playwright-activation-preparation.json` in the October 13 evidence directory.
No live credentials or deployments changed; this does not close consumer delivery.