9. Events
This section is informative.
Implementations that exchange OIS records as events SHOULD use CloudEvents 1.0. This section is informative in v0.1 and is expected to become normative once design partners have tested it.
Each event carries one record as data, with datacontenttype application/vnd.ois+json. The subject attribute holds the record id, and source identifies the producer. Trace context MAY be propagated with the CloudEvents distributed tracing extension.
| Event type | Emitted when |
|---|---|
ois.intent.approved |
An intent version reaches status approved |
ois.intent.withdrawn |
An intent version with status withdrawn is recorded |
ois.artifact.recorded |
An artifact record is created |
ois.evidence.recorded |
An evidence record is created |
ois.decision.recorded |
A decision record is created |
ois.finding.recorded |
A finding record is created, including one that supersedes another |
ois.passport.issued |
A Quality Passport is issued |
The ois. prefix is a placeholder. CloudEvents recommends a reverse-DNS prefix, which will be set together with the project domain (Appendix C).
{ "specversion": "1.0", "type": "ois.evidence.recorded", "source": "https://ci.acme.example/pipelines/portal", "id": "b6f1c2e0-5a8d-4c1e-9a77-2f3e8d1c0b44", "subject": "https://ois.acme.example/evidence/EV-9021", "time": "2026-10-20T14:32:05Z", "datacontenttype": "application/vnd.ois+json", "data": { "ois": "0.1", "type": "evidence", "id": "https://ois.acme.example/evidence/EV-9021" }}The data member is shortened here. A real event carries the complete record.