NK-WP-0035-T04: attended receiver readback; presence 3/3, counts refused by reconciliation source scope
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 4101@bnt-lap001 Assistant-Session: bc7d2ce5-6f32-45f1-83e5-0dcbb8e610a7
This commit is contained in:
parent
7e1c073c72
commit
5a8958bf08
2 changed files with 46 additions and 1 deletions
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"captured_counts": {
|
||||
"audit.deny": 1,
|
||||
"audit.heartbeat": 2
|
||||
},
|
||||
"event_presence": {
|
||||
"28dad6de11fb25fe6e0e145351f047360d6898afb53afd4cd677e560ec69132a": true,
|
||||
"6a9f34445e13062e38ab309a6fc800dc9a2fa24cb8a46ecd919ae18fe9409874": true,
|
||||
"dfa71caeddb9633af2719fb9596a8ffb308f722cd12b385f18473116e6c4dc39": true
|
||||
},
|
||||
"findings": [
|
||||
"reconciliation returned 403: source_not_allowed"
|
||||
],
|
||||
"means": "agreement proves neither completeness nor King's Guard acceptance",
|
||||
"payloads_retained": false,
|
||||
"receiver_counts": {},
|
||||
"request": {
|
||||
"event_ids": [
|
||||
"28dad6de11fb25fe6e0e145351f047360d6898afb53afd4cd677e560ec69132a",
|
||||
"6a9f34445e13062e38ab309a6fc800dc9a2fa24cb8a46ecd919ae18fe9409874",
|
||||
"dfa71caeddb9633af2719fb9596a8ffb308f722cd12b385f18473116e6c4dc39"
|
||||
],
|
||||
"since": "2026-10-15T19:36:16+00:00",
|
||||
"source": "qonto-assistant",
|
||||
"stream_instance_id": "b351fa6b-e0d6-4f88-b7c9-6bacb1a112b7",
|
||||
"tenant": "tenant:friendly:binky",
|
||||
"until": "2026-10-15T20:37:23+00:00"
|
||||
},
|
||||
"schema": "nk-wp-0035-receiver-readback/v1",
|
||||
"token_retained": false,
|
||||
"verdict": "diverge"
|
||||
}
|
||||
|
|
@ -90,7 +90,7 @@ Python compilation and `git diff --check` pass.
|
|||
id: NK-WP-0035-T04
|
||||
status: wait
|
||||
priority: high
|
||||
blocking_reason: "Elapsed-hour capture done 2026-10-15 (3 events, receiver readback captured). Waiting on an independent receiver readback under a fresh attended operator OIDC login, then King's Guard acceptance (KG-WP-0005-T03, wait) and QONTO-WP-0006-T03."
|
||||
blocking_reason: "Elapsed-hour capture done 2026-10-15 (3 events, receiver readback captured). Readback run 2026-10-23: presence 3/3, counts refused 403 source_not_allowed (operator reader scoped to user-engine); waiting on audit-core's cross-source count path and a rerun, then King's Guard acceptance (KG-WP-0005-T03, wait) and QONTO-WP-0006-T03."
|
||||
state_hub_task_id: "e3fbc8b8-00d5-57ce-ba0c-19b58044c950"
|
||||
```
|
||||
|
||||
|
|
@ -442,6 +442,19 @@ token. A class-name mapping difference between source and receiver shows up as
|
|||
port-forward. The receipt then goes to King's Guard (KG-WP-0005-T03) and
|
||||
qonto-assistant (QONTO-WP-0006-T03).
|
||||
|
||||
2026-10-23: the readback was run attended by the founder (fresh KeyCape OIDC/MFA login to OpenBao,
|
||||
role platform-admin, through port-forward; token in a 0600 temp file, deleted afterwards, OpenBao
|
||||
session revoked). [Receipt](../docs/evidence/2026-10-15-cadence-adoption/receiver-readback-20261023.json):
|
||||
verdict `diverge` with one finding, `reconciliation returned 403: source_not_allowed`.
|
||||
Event presence is 3/3, with source and tenant matching. Counts were not obtained: audit-core
|
||||
`/v1/reconciliation` admits only an identity's own sources (`permits_source`), and the
|
||||
operator reader is registered for `user-engine`. This is an authorization-scope result, not a
|
||||
data mismatch. audit-core's own routing comment ("cross-source counts stay behind
|
||||
may_read") reads the other way, so the question went to audit-core: either permit cross-source
|
||||
counts for a full-scope may_read reader, or name the sanctioned independent counting path.
|
||||
Rerun the same helper once that is answered. The receipt still goes to King's Guard as
|
||||
presence-only evidence. T04 stays wait.
|
||||
|
||||
## Automate staged receiver derivation without sibling mutations
|
||||
|
||||
```task
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue