the-custodian/docs/changes/netkingdom-target-2026-10-16/decision-native-preparation/r2/native-cli-admission-docs-r2.patch
codex a856698b03
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 10s
docs: preserve reviewed NetKingdom session artifacts
2026-11-01 22:58:57 +01:00

177 lines
12 KiB
Diff

diff --git a/docs/proposals/native-cli-admission/README.md b/docs/proposals/native-cli-admission/README.md
index 3729cf6..08a7e74 100644
--- a/docs/proposals/native-cli-admission/README.md
+++ b/docs/proposals/native-cli-admission/README.md
@@ -1,5 +1,52 @@
# Native CLI signer and consumer admission preparation
+## Current release preparation — 2026-10-16 R2
+
+Published canonical Secrets `4dd004a2250104ba56293b2d7b0d96f4e076ea99` was
+built twice from an isolated clean checkout. Artifacts and deterministic bundle
+manifest match exactly: manifest SHA256
+`105dcebe6f03e9799f91ea75175e20500df2aa7f08b5e32d39c1c367593ca47e`,
+fixed helper SHA256
+`ed922b62533e4d33ae2d5f11175111f6f28e684a19e63ac704d43b63f0e0e12e`.
+Disposable installation/help and empty native trust refusal pass; no native
+prefix, trust/key, caller credential, protected effect or rollout was admitted.
+Artifact integrity is not independent package admission. Full receipts and a
+concrete probe/placement proposal are in Custodian `decision-native-preparation/r2/`.
+
+Initial native scope remains the existing lifecycle pin and **0/11 protected
+sites across10 handlers**. Runtime UID/release/config/catalog/stance/trust/evidence
+and scoped caller/Approval delivery paths remain owner-unselected. A concrete
+workstation candidate uses a new release prefix ending
+`4dd004a22501-105dcebe6f03`; it is a proposal, not an installed/admitted path.
+Only its exact future `bin/secrets-engine` wrapper is the effect entrypoint.
+The current repo editable invocation and ambient demo/preflight fallbacks do not
+constitute release admission. A local CLI does not automatically hold the named
+ServiceAccount identity: existing docs describe separately authorized per-session
+TokenRequest delivery, not a standing credential or pod identity grant.
+
+Access's single offline signer-receipt tool is published at
+`2b064eee510640224274ccdc7cefceb1ae13162e`; verified API/sign source matches this
+consumer. Native producer rollout still awaits independent public kid/key/custody
+and immutable candidate image/log/storage returns, including the Access owner's
+separate durable-log hardening review. Published source alone is not that image.
+The lifecycle pin stays v2/bd11c5fe...; task v2 is a separate unadmitted pin.
+
+Source task correspondence is now implemented and cross-owner source-server
+proved: fixed typed service mapping before issue, retained-registry signed-DENY
+preapproval, original claim/context preservation, independent fresh source facts,
+precise Approval CAS and independent confirmation/journal/native disposable proof.
+This supersedes the historical source gaps below; it neither adds an execute-ccr
+CLI command nor selects a real CCR/catalogue/Plan/grant/backend/journal runtime.
+All native effect, caller/key/config and task-entitlement gates remain open under
+existing WP14/WP13/WP8 records. `service-jwt` still refuses protected CLI work.
+
+## Historical ff1a13d preparation (preserved)
+
+The following draft records the earlier source/admission observations. References
+to absent B2/B3/request/source-fact implementation are superseded by R2 above;
+missing native keys, runtime placement and actual task inputs remain unresolved.
+
+
This proposal covers the existing lifecycle CLI authentication path under
SECRETS-WP-0014. It grants no installation, key retrieval, caller mint, approval
consume, OpenBao effect or task-policy activation. All native acceptance counts
diff --git a/docs/proposals/native-cli-admission/proposal.json b/docs/proposals/native-cli-admission/proposal.json
index d5c50c2..d953ada 100644
--- a/docs/proposals/native-cli-admission/proposal.json
+++ b/docs/proposals/native-cli-admission/proposal.json
@@ -1,7 +1,7 @@
{
"proposal_id": "SECRETS-WP-0014-native-cli-20261016",
"status": "preparation only; not installable or executable authorization",
- "source_base": "ff1a13dabd44ba02ddd6bc26ad75568f6d2e6225",
+ "source_base": "4dd004a2250104ba56293b2d7b0d96f4e076ea99",
"workplans": [
"SECRETS-WP-0014-T02",
"SECRETS-WP-0014-T03",
@@ -33,8 +33,10 @@
"custody_receipt": null,
"candidate_producer_oci_digest": null,
"rule": "No responder keys endpoint, synthetic fixture key or deployment metadata substitutes for independent owner admission",
- "receipt_verifier_integrated_revision": null,
- "signer_purpose_pin_and_sharing_receipt": null
+ "receipt_verifier_integrated_revision": "2b064eee510640224274ccdc7cefceb1ae13162e",
+ "signer_purpose_pin_and_sharing_receipt": null,
+ "public_fingerprint_convention": "Platform proposal: sha256(canonical unpadded base64url43 public-key ASCII); independent owner receipt required",
+ "candidate_producer_prerequisite": "Access durable-log hardening source and immutable image/storage/custody awaiting separate root/Platform review; published2b064ee alone is not native candidate admission"
},
"placement": {
"owner": "Secrets consumer/deploying owner; exact runtime UID and paths not yet agreed",
@@ -52,7 +54,9 @@
"absolute independently reviewed config/catalog/policy/stance/trust paths; no working-directory defaults for native use",
"trust regular non-symlink, not group/world writable; key admission not file-presence inference",
"owner retains manifest/admission/installation receipts and same-UID control boundary"
- ]
+ ],
+ "candidate_cli_release_prefix": "/home/worsch/.local/share/secrets-engine/releases/4dd004a22501-105dcebe6f03",
+ "candidate_status": "proposal only; no path selected/created/admitted"
},
"configuration_contract": {
"SECRETS_ENGINE_PDP_URL": "literal loopback bare origin bound to independently verified cluster and named producer pod; exact native port awaiting owner placement",
@@ -81,27 +85,20 @@
},
"task_mapping_gap": {
"existing_cli_execute_ccr_command": false,
- "source_handoff": "secrets_engine.task_execution_handoff authorize_task_execution/consume_task_execution",
+ "source_handoff": "secrets_engine.task_execution_handoff prepare_task_approval/authorize_task_execution/consume_task_execution",
"platform_source_mediator": "railiance-platform/scripts/task_execution_mediator.py run_native_fixture_task; source proof only",
"unadmitted_inputs": [
- "real service caller-to-subject server mapping and request/service binding join",
- "actual task policy candidate and independently reviewed source/runtime admission; both false gates unchanged",
+ "native admission of the existing exact service-caller-to-subject request mapping and immutable original-claim/source join",
"owner-selected fresh approved CCR/catalog/execution-grant, compiled Plan/whole descriptor and operation UUID",
"independent expected-before/after bytes for exact two metadata targets and actual estate/backend origin",
"actual source/Plan/install/journal/cleanup placement and trusted provider endpoints/credentials/custody",
"load-bearing audit/outbox cadence and durable receipt correlation",
- "Approval/Access reviewed out-of-band fresh-fact versus original carried-claim correspondence and signed provenance; strict context equality remains unchanged"
+ "exact native task v2 policy/caller/source/config/placement/key/runtime admission; v1 hard DENY retained"
],
"approval_fact_interface_review": {
- "status": "review preference only; no implementation/admission",
- "preserve": "strict binding.context equality and original submitted/approval-free/native joins",
- "direction": "Access prefers out-of-band server-fetched authoritative fact checking while retaining original carried context, then reviewed producer-owned signed provenance/audit evidence",
- "required_review": [
- "Approval fact/freshness semantic correspondence",
- "Access source receipt/provenance binding and exact request digests"
- ],
- "b1": "signed-DENY caller join only; no context replacement",
- "b2_b3": "not enabled or implemented here"
+ "status": "implemented/source-proved; native source/config/identity/trust admission remains missing",
+ "preserve": "type-sensitive original context/native/request/descriptor correspondence; original and independently fresh fact deadlines; no numeric translation",
+ "receipt": "Custodian decision-trusted-successor/verification-final-r4.json"
},
"approval_fact_contract": {
"artifact": "the-custodian/docs/changes/netkingdom-target-2026-10-16/approval-fact-contract/consumer-contract.md",
@@ -110,7 +107,8 @@
"vectors_sha256": "dfb0a8810cd91847d7af6a7af6a51607a67a66fad7b86fc57365308c36bd9323",
"status": "owner source contract pending integration; no Go conformance or B2 behavior admitted",
"required": "preserve original fact/context/freshness, independently validate fresh fact window and exact nonfreshness authority; do not translate native numeric digests or invent target restrictions"
- }
+ },
+ "source_status": "implemented and cross-owner source-server proved, including retained registry and precise CAS; no native adoption"
},
"approval_state": "no owner assent, key admission, install, caller token, operation grant or live change requested/executed by this preparation",
"denominator": {
@@ -129,5 +127,15 @@
"platform_source_mediator_native_acceptance": false,
"generic_cli_consume_is_strict_task_handoff": false,
"effect_acceptance_required": "Review actual selected handler/generic consume response and caller scope separately; strict Platform fixture proof does not close existing CLI effects"
+ },
+ "historical_source_base": "ff1a13dabd44ba02ddd6bc26ad75568f6d2e6225",
+ "release_candidate": {
+ "bundle_manifest_sha256": "105dcebe6f03e9799f91ea75175e20500df2aa7f08b5e32d39c1c367593ca47e",
+ "helper_sha256": "ed922b62533e4d33ae2d5f11175111f6f28e684a19e63ac704d43b63f0e0e12e",
+ "two_clean_builds_equal": true,
+ "disposable_install_passed": true,
+ "native_install_admitted": false,
+ "artifact_integrity_is_not_package_admission": true,
+ "receipt": "Custodian decision-native-preparation/r2/canonical-build-install-receipt.json"
}
}
diff --git a/workplans/SECRETS-WP-0014-pdp-transport-and-responder-authentication.md b/workplans/SECRETS-WP-0014-pdp-transport-and-responder-authentication.md
index f65ac96..08e3e01 100644
--- a/workplans/SECRETS-WP-0014-pdp-transport-and-responder-authentication.md
+++ b/workplans/SECRETS-WP-0014-pdp-transport-and-responder-authentication.md
@@ -175,3 +175,18 @@ bool/int/float substitution while allowing extra authoritative registry facts.
Actual provider proof preparation is separately waiting on frozen Access source
and Approval's timestamp/transaction-clock repair; source native/trust/custody and
actual task admission remain open. T02 remains progress and T03 wait; no native adoption is claimed.
+
+2026-10-16 canonical native CLI release preparation: published4dd004a was built
+twice offline from a clean isolated checkout, with identical artifacts/manifest
+105dcebe6f03e9799f91ea75175e20500df2aa7f08b5e32d39c1c367593ca47e.
+Disposable installation uses its fixed helper and empty native trust refuses
+before caller access. Exact invocation/config/delivery candidates, public signer
+provenance requirements, native lifecycle allow/deny capture, rotation/removal and
+isolated-transport outage probes are reviewable in Custodian
+`decision-native-preparation/r2/`. Real public kid/key/custody, candidate signed
+producer/log/storage, native UID/prefix/config/caller/Approval delivery and each
+actual handler/backend entitlement remain missing. No seed/token read, mint,
+production installation/trust/policy change or effect occurred. Native effect
+coverage remains0/11 across10handlers; T02 progress/T03 wait and task-native
+WP13/WP8 gates remain open. Published Access receipt-tool2b064ee and verified
+source APIs do not substitute for the separately reviewed hardened native image.