Add bounded source reconciliation counts and clarify receiver dependencies
Assistant: codex Assistant-Model: gpt-6.1-sol Assistant-Session: 01a1046e-fdbf-7b93-a267-5f72b9b24526
This commit is contained in:
parent
1044a5f36d
commit
24a5ecd56b
8 changed files with 231 additions and 17 deletions
|
|
@ -29,7 +29,7 @@ object mutation.
|
|||
| `use` | public CAS accepts first `request_digest` and object becomes `consumed` | `approval.use` |
|
||||
| `supersession` | object becomes `superseded` | `approval.supersession` |
|
||||
| `revocation` | object becomes `revoked` | `approval.revocation` |
|
||||
| `heartbeat` | signed *nothing to report* plus counts | `approval.heartbeat` |
|
||||
| `heartbeat` | authenticated per-class *nothing to report* plus counts | `audit-core.heartbeat` |
|
||||
|
||||
Expiry is a clock crossing, persisted on observation, and is **not** an
|
||||
emitted class. The validity window is already on the object.
|
||||
|
|
@ -116,7 +116,7 @@ So `approval.issuance` and `approval.use` both carry a `threshold` object in
|
|||
| `required_count` | the threshold in force on the object at that moment |
|
||||
| `distinct_approver_count` | distinct subjects who had recorded an entry |
|
||||
| `threshold_met` | whether the evaluation passed |
|
||||
| `approvers` | `subject_id`, `approved_at`, and `assurance` / `evidence_ref` when recorded |
|
||||
| `approvers` | `subject_id`, `approved_at`, `principal_type`, nullable verified `tenant_source`, and `assurance` / `evidence_ref` when recorded |
|
||||
|
||||
An auditor holding only the `use` row can recompute the evaluation without
|
||||
reading live rows — which matters because those rows may since have been
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue