Contracts: NH/Slash → Semantic BI vertical slice v0.1#1
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ae906feedb
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| "type": "object", | ||
| "required": ["version","event_id","created_at","carrier_ref","slash_topics_pack_ref","membrane_decision_ref","topics","receipt"], | ||
| "properties": { |
There was a problem hiding this comment.
Disallow undeclared fields in contract payloads
These schemas define a stable integration boundary, but they never set additionalProperties: false, so JSON Schema will accept any extra keys by default; that lets producer-side field drift (or typoed aliases that downstream consumers don’t handle) pass validation unnoticed and weakens compatibility guarantees. Please make the root objects strict here (and in the sibling contract files and nested objects like receipt/inputs/outputs) so incompatible payload shapes fail fast.
Useful? React with 👍 / 👎.
| "properties": { | ||
| "version": { "const": "0.1" }, | ||
| "event_id": { "type": "string" }, | ||
| "created_at": { "type": "string" }, |
There was a problem hiding this comment.
Enforce RFC3339 timestamps for created_at
created_at is currently only typed as string, so non-time values like "now" or malformed dates still validate; for BI workflows that bucket or window events by event time, this allows bad records through the contract boundary and can corrupt downstream aggregations. Add a timestamp constraint (for example format: "date-time" and corresponding validator enforcement) in this and the other new contract files.
Useful? React with 👍 / 👎.
Add three platform contracts used by semantic BI: TopicAssigned, EmbeddingComputed, LensOutput. These define the stable boundary for New-Hope + Slash-Topics integration.