{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"SmellBook Public Data Schema Registry","version":"1.0","generatedAt":"2026-09-22","schemas":{"catalogRecord":{"type":"object","required":["id","slug","name","summary","type","category","descriptors","status","createdAt","updatedAt","revision","canonicalUrl","verifiedClaimIds"],"properties":{"id":{"type":"string","pattern":"^SB-[0-9]{4}$"},"slug":{"type":"string","pattern":"^[-a-z0-9]+$"},"name":{"type":"string","minLength":1},"aliases":{"type":"array","items":{"type":"string"}},"summary":{"type":"string","minLength":1},"type":{"type":"string","minLength":1},"category":{"type":"string","minLength":1},"descriptors":{"type":"array","items":{"type":"string"}},"status":{"type":"string","minLength":1},"createdAt":{"type":"string","format":"date"},"updatedAt":{"type":"string","format":"date"},"revision":{"type":"integer","minimum":1},"canonicalUrl":{"type":"string","format":"uri"},"verifiedClaimIds":{"type":"array","items":{"type":"string"}}}},"claimRecord":{"type":"object","required":["id","slug","title","smellSlugs","sourceIds","text","scope"],"properties":{"id":{"type":"string","pattern":"^CLM-"},"slug":{"type":"string","pattern":"^[-a-z0-9]+$"},"title":{"type":"string","minLength":1},"smellSlugs":{"type":"array","minItems":1,"items":{"type":"string"}},"sourceIds":{"type":"array","minItems":1,"items":{"type":"string"}},"text":{"type":"string","minLength":1},"scope":{"type":"string","minLength":1}}},"sourceRecord":{"type":"object","required":["id","slug","kind","tier","title","publisher","date","url","topics"],"properties":{"id":{"type":"string","pattern":"^SRC-"},"slug":{"type":"string","pattern":"^[-a-z0-9]+$"},"kind":{"type":"string"},"tier":{"type":"string"},"title":{"type":"string","minLength":1},"authors":{"type":["string","null"]},"publisher":{"type":"string","minLength":1},"date":{"type":"string","format":"date"},"doi":{"type":["string","null"]},"url":{"type":"string","format":"uri"},"topics":{"type":"array","items":{"type":"string"}}}},"changelogRecord":{"type":"object","required":["id","date","label","title","copy","href"],"properties":{"id":{"type":"string","pattern":"^[-a-z0-9]+$"},"date":{"type":"string","format":"date"},"label":{"type":"string"},"title":{"type":"string"},"copy":{"type":"string"},"href":{"type":"string"}}},"provenanceRecord":{"type":"object","description":"Explicit public evidence relationships only; no hidden similarity or recommendation weights."}},"compatibility":{"breakingChangeRule":"A breaking semantic or field-availability change requires a public schema-version change.","additiveChangeRule":"Additive fields may be introduced without changing existing field meaning."}}