diff --git a/credential-change-requests/CCR-2026-0047-rapp-qonto-audit-sender.yaml b/credential-change-requests/CCR-2026-0047-rapp-qonto-audit-sender.yaml index 13b53cd..9f5c8be 100644 --- a/credential-change-requests/CCR-2026-0047-rapp-qonto-audit-sender.yaml +++ b/credential-change-requests/CCR-2026-0047-rapp-qonto-audit-sender.yaml @@ -3,7 +3,7 @@ kind: credential-change-request schema_version: 1 request_type: workload-kv-read title: rapp-qonto collector exact audit sender custody and delivery -status: proposed +status: approved created: '2026-10-15' updated: '2026-10-15' requester: @@ -18,7 +18,15 @@ review: - audit-core-owner - rapp-qonto-owner - qonto-assistant-owner - comments: [] + comments: + - at: '2026-10-15T19:27:15.042944+00:00' + reviewer: user explicit session approval (platform-operator, audit-core-owner, rapp-qonto-owner, + qonto-assistant-owner) + decision: approved + comment: User selected "Approve packet and proceed" for the complete exact packet including CCR-2026-0047 + new bearer/ESO lane, compatible source/receiver upgrades and migrations, exact registry admission, + collector and one-hour observation. This approval applies to reviewed exact scopes; prerequisites, + attended custody and independent receipts remain required. target: domain: financials tenant: friendly:binky diff --git a/docs/cadence-receiver-custody.md b/docs/cadence-receiver-custody.md index 8450611..188c232 100644 --- a/docs/cadence-receiver-custody.md +++ b/docs/cadence-receiver-custody.md @@ -1,9 +1,9 @@ # Hourly cadence receiver admission and Qonto sender custody -NK-WP-0035 / RPF-WP-0059 / CCR-2026-0047. This is a proposed production -packet. The founder's timing-rollout approval did not approve this new bearer -or ESO reader. Obtain explicit platform operator, Audit Core, rapp-qonto and -qonto-assistant owner review of the exact complete packet first. +NK-WP-0035 / RPF-WP-0059 / CCR-2026-0047. User explicitly approved this complete production packet on 2026-10-15 +with "Approve packet and proceed", including the new sender grant. The founder's timing-rollout approval did not approve this new bearer +or ESO reader. The approved scope binds platform operator, Audit Core, rapp-qonto and +qonto-assistant owner roles; native prerequisites still apply. The prepared change preserves every existing sender credential, source/tenant scope and other registry field. It updates only Approval Engine's canonical diff --git a/manifests/rapp-qonto-audit-sender.yaml b/manifests/rapp-qonto-audit-sender.yaml index 70fbfeb..c69b5e1 100644 --- a/manifests/rapp-qonto-audit-sender.yaml +++ b/manifests/rapp-qonto-audit-sender.yaml @@ -1,11 +1,11 @@ -# Proposed CCR-2026-0047; explicit ESO defaults make exact resume checks stable. +# CCR-2026-0047 approved explicitly 2026-10-15; native gates still apply. apiVersion: external-secrets.io/v1 kind: ClusterSecretStore metadata: name: openbao-rapp-qonto-audit annotations: railiance.io/credential-change: CCR-2026-0047 - railiance.io/admission: proposed + railiance.io/admission: approved spec: provider: vault: @@ -30,7 +30,7 @@ metadata: namespace: rapp-qonto annotations: railiance.io/credential-change: CCR-2026-0047 - railiance.io/admission: proposed + railiance.io/admission: approved spec: refreshInterval: 5m secretStoreRef: @@ -41,7 +41,7 @@ spec: metadata: annotations: railiance.io/credential-change: CCR-2026-0047 - railiance.io/admission: proposed + railiance.io/admission: approved engineVersion: v2 mergePolicy: Replace name: rapp-qonto-audit-sender diff --git a/tests/test_cadence_receiver_custody.py b/tests/test_cadence_receiver_custody.py index 7037dc5..f38036a 100644 --- a/tests/test_cadence_receiver_custody.py +++ b/tests/test_cadence_receiver_custody.py @@ -15,7 +15,15 @@ import cadence_receiver_custody as lane # noqa: E402 class PacketContracts(unittest.TestCase): def test_proposed_refuses_before_native_calls(self): - with patch.object(lane, "bao", side_effect=AssertionError("no native call")): + module = lane.credential_module() + ccr, errors, warnings = module.validate_ccr(lane.CCR) + ccr = copy.deepcopy(ccr) + ccr["status"] = "proposed" + with ( + patch.object(lane, "credential_module", return_value=module), + patch.object(module, "validate_ccr", return_value=(ccr, errors, warnings)), + patch.object(lane, "bao", side_effect=AssertionError("no native call")), + ): with self.assertRaisesRegex(lane.LaneError, "approved_ccr_required"): lane.contracts(approved=True) diff --git a/workplans/RPF-WP-0059-hourly-cadence-receiver-custody.md b/workplans/RPF-WP-0059-hourly-cadence-receiver-custody.md index ff41666..51d67e0 100644 --- a/workplans/RPF-WP-0059-hourly-cadence-receiver-custody.md +++ b/workplans/RPF-WP-0059-hourly-cadence-receiver-custody.md @@ -4,7 +4,7 @@ type: workplan title: "Admit hourly receiver cadence and exact Qonto collector custody" domain: financials repo: railiance-platform -status: proposed +status: active owner: codex topic_slug: railiance-platform created: "2026-10-15" @@ -34,12 +34,12 @@ no-native proposed refusal. Details: docs/cadence-receiver-custody.md. ```task id: RPF-WP-0059-T02 -status: wait +status: done priority: high ``` Explicit approval required from platform operator, Audit Core, rapp-qonto and -qonto-assistant owners. CCR0047 remains proposed. Prior timing rollout approval +qonto-assistant owners. CCR0047 is approved by the explicit user response "Approve packet and proceed", recorded with all four owner roles on 2026-10-15. Prior timing rollout approval is not a new bearer grant. Review the post-approval exact packet SHA256 and immutable compatible receiver image before attended execution. @@ -47,7 +47,7 @@ immutable compatible receiver image before attended execution. ```task id: RPF-WP-0059-T03 -status: wait +status: progress priority: high ```