{"$defs":{"CapabilityDescriptor":{"additionalProperties":false,"properties":{"capability_id":{"title":"Capability Id","type":"string"},"command_ids":{"items":{"type":"string"},"title":"Command Ids","type":"array"},"input_kinds":{"items":{"type":"string"},"title":"Input Kinds","type":"array"},"status":{"enum":["preview","beta","stable"],"title":"Status","type":"string"},"summary":{"title":"Summary","type":"string"},"title":{"title":"Title","type":"string"}},"required":["capability_id","title","summary","status","command_ids","input_kinds"],"title":"CapabilityDescriptor","type":"object"},"CategoryDescriptor":{"additionalProperties":false,"properties":{"category_id":{"title":"Category Id","type":"string"},"label":{"title":"Label","type":"string"},"order":{"title":"Order","type":"integer"},"topics":{"items":{"$ref":"#/$defs/TopicDescriptor"},"title":"Topics","type":"array"}},"required":["category_id","label","order","topics"],"title":"CategoryDescriptor","type":"object"},"CommandDescriptor":{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/ParameterDescriptor"},"title":"Arguments","type":"array"},"command_id":{"title":"Command Id","type":"string"},"options":{"items":{"$ref":"#/$defs/ParameterDescriptor"},"title":"Options","type":"array"},"path":{"items":{"type":"string"},"title":"Path","type":"array"},"summary":{"title":"Summary","type":"string"}},"required":["command_id","path","summary","options","arguments"],"title":"CommandDescriptor","type":"object"},"ExampleDescriptor":{"additionalProperties":false,"properties":{"after":{"minLength":1,"title":"After","type":"string"},"before":{"minLength":1,"title":"Before","type":"string"},"expected_severity":{"enum":["warning","error"],"title":"Expected Severity","type":"string"},"id":{"minLength":1,"title":"Id","type":"string"},"language":{"enum":["json","text","toml","yaml"],"title":"Language","type":"string"},"title":{"maxLength":56,"minLength":1,"title":"Title","type":"string"}},"required":["id","title","language","before","after","expected_severity"],"title":"ExampleDescriptor","type":"object"},"JSONScalar":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"JSONValue":{"anyOf":[{"$ref":"#/$defs/JSONScalar"},{"items":{"$ref":"#/$defs/JSONValue"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/JSONValue"},"type":"object"}]},"ParameterDescriptor":{"additionalProperties":false,"properties":{"choices":{"items":{"type":"string"},"title":"Choices","type":"array"},"default":{"$ref":"#/$defs/JSONValue"},"help":{"title":"Help","type":"string"},"names":{"items":{"type":"string"},"title":"Names","type":"array"},"repeatable":{"title":"Repeatable","type":"boolean"},"required":{"title":"Required","type":"boolean"},"value_type":{"title":"Value Type","type":"string"}},"required":["names","value_type","required","default","choices","help","repeatable"],"title":"ParameterDescriptor","type":"object"},"PolicyDescriptor":{"additionalProperties":false,"properties":{"bindings":{"items":{"$ref":"#/$defs/PolicyRuleBinding"},"title":"Bindings","type":"array"},"policy_id":{"title":"Policy Id","type":"string"},"policy_version":{"exclusiveMinimum":0,"title":"Policy Version","type":"integer"},"title":{"title":"Title","type":"string"}},"required":["policy_id","policy_version","title","bindings"],"title":"PolicyDescriptor","type":"object"},"PolicyRuleBinding":{"additionalProperties":false,"properties":{"classification":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Classification"},"default_activation":{"const":"disabled","default":"disabled","title":"Default Activation","type":"string"},"evidence_level":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Evidence Level"},"precedence":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Precedence"},"rule_id":{"title":"Rule Id","type":"string"},"rule_version":{"exclusiveMinimum":0,"title":"Rule Version","type":"integer"},"severity":{"enum":["warning","error"],"title":"Severity","type":"string"}},"required":["rule_id","rule_version","severity"],"title":"PolicyRuleBinding","type":"object"},"ProductDescriptor":{"additionalProperties":false,"properties":{"distribution":{"title":"Distribution","type":"string"},"executables":{"items":{"type":"string"},"title":"Executables","type":"array"},"name":{"title":"Name","type":"string"},"product_id":{"const":"repo-standards","title":"Product Id","type":"string"},"repository_url":{"title":"Repository Url","type":"string"},"summary":{"title":"Summary","type":"string"},"title":{"title":"Title","type":"string"},"website_url":{"title":"Website Url","type":"string"}},"required":["product_id","name","title","summary","distribution","executables","repository_url","website_url"],"title":"ProductDescriptor","type":"object"},"ProvenanceDescriptor":{"additionalProperties":false,"properties":{"content_digest":{"title":"Content Digest","type":"string"},"distribution":{"title":"Distribution","type":"string"},"package_version":{"title":"Package Version","type":"string"},"repository_url":{"title":"Repository Url","type":"string"}},"required":["distribution","package_version","repository_url","content_digest"],"title":"ProvenanceDescriptor","type":"object"},"RuleDescriptor":{"additionalProperties":false,"properties":{"category_id":{"title":"Category Id","type":"string"},"default_severity":{"enum":["warning","error"],"title":"Default Severity","type":"string"},"description":{"minLength":1,"title":"Description","type":"string"},"examples":{"items":{"$ref":"#/$defs/ExampleDescriptor"},"minItems":1,"title":"Examples","type":"array"},"fix":{"minLength":1,"title":"Fix","type":"string"},"kind":{"const":"rule","default":"rule","title":"Kind","type":"string"},"references":{"items":{"pattern":"^https://","type":"string"},"title":"References","type":"array"},"rule_id":{"pattern":"^[a-z0-9][a-z0-9-]*(/[a-z0-9][a-z0-9-]*){2,}$","title":"Rule Id","type":"string"},"rule_version":{"exclusiveMinimum":0,"title":"Rule Version","type":"integer"},"slug":{"maxLength":64,"minLength":3,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","title":"Slug","type":"string"},"source":{"$ref":"#/$defs/SourcePointer"},"title":{"maxLength":72,"minLength":1,"title":"Title","type":"string"},"topic_id":{"title":"Topic Id","type":"string"},"why":{"minLength":1,"title":"Why","type":"string"}},"required":["rule_id","slug","rule_version","title","category_id","topic_id","default_severity","description","why","fix","references","examples","source"],"title":"RuleDescriptor","type":"object"},"SafetyDescriptor":{"additionalProperties":false,"properties":{"inspection_input":{"title":"Inspection Input","type":"string"},"mutation":{"title":"Mutation","type":"boolean"},"network_default":{"title":"Network Default","type":"boolean"},"network_mode":{"title":"Network Mode","type":"string"},"repository_code_execution":{"title":"Repository Code Execution","type":"boolean"}},"required":["mutation","repository_code_execution","network_default","network_mode","inspection_input"],"title":"SafetyDescriptor","type":"object"},"SchemaDescriptor":{"additionalProperties":false,"properties":{"cli_selector":{"title":"Cli Selector","type":"string"},"document":{"$ref":"#/$defs/JSONValue"},"media_type":{"const":"application/schema+json","title":"Media Type","type":"string"},"schema_id":{"title":"Schema Id","type":"string"},"title":{"title":"Title","type":"string"}},"required":["schema_id","title","media_type","cli_selector","document"],"title":"SchemaDescriptor","type":"object"},"SourcePointer":{"additionalProperties":false,"properties":{"path":{"minLength":1,"pattern":"^(?!/|~)(?!.*(?:^|/)\\.\\.(?:/|$)).+$","title":"Path","type":"string"},"symbol":{"minLength":1,"title":"Symbol","type":"string"}},"required":["path","symbol"],"title":"SourcePointer","type":"object"},"TopicDescriptor":{"additionalProperties":false,"properties":{"label":{"title":"Label","type":"string"},"order":{"title":"Order","type":"integer"},"topic_id":{"title":"Topic Id","type":"string"}},"required":["topic_id","label","order"],"title":"TopicDescriptor","type":"object"}},"$id":"https://repo-standards.sarj.ai/schema/catalog.schema.json","additionalProperties":false,"properties":{"capabilities":{"items":{"$ref":"#/$defs/CapabilityDescriptor"},"title":"Capabilities","type":"array"},"catalog_version":{"title":"Catalog Version","type":"string"},"categories":{"items":{"$ref":"#/$defs/CategoryDescriptor"},"title":"Categories","type":"array"},"commands":{"items":{"$ref":"#/$defs/CommandDescriptor"},"title":"Commands","type":"array"},"kind":{"const":"repo-standards.catalog","default":"repo-standards.catalog","title":"Kind","type":"string"},"policies":{"items":{"$ref":"#/$defs/PolicyDescriptor"},"title":"Policies","type":"array"},"product":{"$ref":"#/$defs/ProductDescriptor"},"provenance":{"$ref":"#/$defs/ProvenanceDescriptor"},"rules":{"items":{"$ref":"#/$defs/RuleDescriptor"},"title":"Rules","type":"array"},"safety":{"$ref":"#/$defs/SafetyDescriptor"},"schemas":{"items":{"$ref":"#/$defs/SchemaDescriptor"},"title":"Schemas","type":"array"}},"required":["catalog_version","product","provenance","safety","capabilities","categories","policies","rules","commands","schemas"],"title":"Catalog","type":"object"}
