Notification v1¶
Source schema: doc/schemas/notification.v1.schema.json
Durable local notification read model. It stores only redacted projections, body/ref, body/text, and digests; raw body/input is intentionally absent.
Governing Basis¶
Project Lineage¶
Fields¶
| Field | Required | Shape | Description |
|---|---|---|---|
schema |
yes |
const: notification.v1 |
|
notification/id |
yes |
string | |
idempotency/key |
no |
string | |
notification/kind |
yes |
string | |
correlation/id |
no |
string | |
collapse/key |
no |
string | |
supersedes |
no |
string | |
version |
yes |
integer | |
sender/id |
yes |
string | |
recipient/id |
yes |
string | |
recipient/class |
yes |
ref: #/$defs/recipientClass |
|
subject/ref |
no |
string | |
priority |
yes |
ref: #/$defs/priority |
|
reason/code |
yes |
string | |
delivered/at |
yes |
string | |
expires/at |
no |
string | |
snoozed/until |
no |
string | |
read/opened |
no |
boolean | |
handled |
no |
boolean | |
source/component |
no |
string | |
policy/ref |
no |
string | |
title |
yes |
string | |
body/text |
no |
string | |
body/ref |
no |
string | |
body/digest |
no |
string | |
actions |
no |
array |
Definitions¶
| Definition | Shape | Description |
|---|---|---|
priority |
enum: low, medium, high |
|
recipientClass |
enum: operator, user, pod-user, role |
|
action |
object | |
| ## Field Semantics |
schema¶
- Required:
yes - Shape: const:
notification.v1
notification/id¶
- Required:
yes - Shape: string
idempotency/key¶
- Required:
no - Shape: string
notification/kind¶
- Required:
yes - Shape: string
correlation/id¶
- Required:
no - Shape: string
collapse/key¶
- Required:
no - Shape: string
supersedes¶
- Required:
no - Shape: string
version¶
- Required:
yes - Shape: integer
sender/id¶
- Required:
yes - Shape: string
recipient/id¶
- Required:
yes - Shape: string
recipient/class¶
- Required:
yes - Shape: ref:
#/$defs/recipientClass
subject/ref¶
- Required:
no - Shape: string
priority¶
- Required:
yes - Shape: ref:
#/$defs/priority
reason/code¶
- Required:
yes - Shape: string
delivered/at¶
- Required:
yes - Shape: string
expires/at¶
- Required:
no - Shape: string
snoozed/until¶
- Required:
no - Shape: string
read/opened¶
- Required:
no - Shape: boolean
handled¶
- Required:
no - Shape: boolean
source/component¶
- Required:
no - Shape: string
policy/ref¶
- Required:
no - Shape: string
title¶
- Required:
yes - Shape: string
body/text¶
- Required:
no - Shape: string
body/ref¶
- Required:
no - Shape: string
body/digest¶
- Required:
no - Shape: string
actions¶
- Required:
no - Shape: array
Definition Semantics¶
$defs.priority¶
- Shape: enum:
low,medium,high
$defs.recipientClass¶
- Shape: enum:
operator,user,pod-user,role
$defs.action¶
- Shape: object