COI Declaration v1¶
Source schema: doc/schemas/coi-declaration.v1.schema.json
Machine-readable schema for a signed conflict-of-interest declaration used by panel selection. The signed surface uses the same family as the rest of the protocol stack: orbiplex-coi-declaration-v1\x00 || deterministic_cbor(payload_without_signature).
Governing Basis¶
doc/normative/50-constitutional-ops/PANEL-SELECTION-PROTOCOL.mddoc/normative/50-constitutional-ops/PROCEDURAL-REPUTATION-SPEC.md
Fields¶
| Field | Required | Shape | Description |
|---|---|---|---|
schema/v |
yes |
const: 1 |
Schema version. |
case/hash |
yes |
string | Blinded or otherwise minimally disclosing challenge hash of the case for which the declaration is made. |
participant/id |
yes |
string | Stable participant identity serving in the governance pipeline. Nym identities are not valid here. |
declaration |
yes |
enum: no-conflict, conflict |
Conflict-of-interest declaration outcome. |
ts |
yes |
string | Timestamp of the declaration. |
nonce |
yes |
string | Fresh nonce preventing replay of the declaration artifact. |
conflict/category |
no |
string | Optional coarse category when declaration = conflict. |
signature |
yes |
ref: #/$defs/signature |
Participant signature over the declaration payload. |
Definitions¶
| Definition | Shape | Description |
|---|---|---|
signature |
object |
Conditional Rules¶
Rule 1¶
When:
{
"properties": {
"declaration": {
"const": "conflict"
}
},
"required": [
"declaration"
]
}
Then:
{
"required": [
"conflict/category"
]
}
Rule 2¶
When:
{
"properties": {
"declaration": {
"const": "no-conflict"
}
},
"required": [
"declaration"
]
}
Then:
{
"not": {
"required": [
"conflict/category"
]
}
}
Field Semantics¶
schema/v¶
- Required:
yes - Shape: const:
1
Schema version.
case/hash¶
- Required:
yes - Shape: string
Blinded or otherwise minimally disclosing challenge hash of the case for which the declaration is made.
participant/id¶
- Required:
yes - Shape: string
Stable participant identity serving in the governance pipeline. Nym identities are not valid here.
declaration¶
- Required:
yes - Shape: enum:
no-conflict,conflict
Conflict-of-interest declaration outcome.
ts¶
- Required:
yes - Shape: string
Timestamp of the declaration.
nonce¶
- Required:
yes - Shape: string
Fresh nonce preventing replay of the declaration artifact.
conflict/category¶
- Required:
no - Shape: string
Optional coarse category when declaration = conflict.
signature¶
- Required:
yes - Shape: ref:
#/$defs/signature
Participant signature over the declaration payload.
Definition Semantics¶
$defs.signature¶
- Shape: object