{"$id":"https://wsmusings.com/data/architecture-v734/architecture-schema.v1.json","$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"architecture_id":{"pattern":"^architecture:v734:[a-z0-9-]+$","type":"string"},"architecture_principle":{"type":"string"},"component_count":{"minimum":1,"type":"integer"},"components":{"items":{"additionalProperties":false,"properties":{"canonical_name":{"type":"string"},"component_id":{"pattern":"^component:v734:[a-z0-9-]+$","type":"string"},"component_type":{"enum":["GOVERNED_INPUT","GOVERNED_REGISTRY","SCHEMA","GENERATOR","ANALYTICAL_TRANSFORM","CANONICAL_RESEARCH_OBJECT","PUBLIC_RESEARCH_SURFACE","PUBLIC_STATIC_API","LOCAL_PRIVATE_WORKSPACE","EXPORT_SURFACE","ARCHITECTURE_CONTROL"]},"consumer_component_ids":{"items":{"type":"string"},"type":"array"},"determinism":{"enum":["DETERMINISTIC","USER_LOCAL_STATEFUL"]},"implementation_paths":{"items":{"type":"string"},"type":"array"},"input_component_ids":{"items":{"type":"string"},"type":"array"},"integrity_rules":{"items":{"type":"string"},"minItems":1,"type":"array"},"output_paths":{"items":{"type":"string"},"type":"array"},"provenance_expectations":{"items":{"type":"string"},"minItems":1,"type":"array"},"schema_refs":{"items":{"type":"string"},"type":"array"},"semantic_role":{"enum":["SOURCED","CALCULATED","USER_LOCAL","MIXED_EXPLICIT_BOUNDARIES","BUILD_METADATA"]},"version":{"type":"string"},"visibility":{"enum":["PUBLIC","BUILD_ONLY","LOCAL_PRIVATE"]}},"required":["component_id","canonical_name","component_type","version","implementation_paths","schema_refs","input_component_ids","consumer_component_ids","output_paths","determinism","visibility","semantic_role","provenance_expectations","integrity_rules"],"type":"object"},"type":"array"},"content_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"edge_count":{"minimum":1,"type":"integer"},"edges":{"items":{"additionalProperties":false,"properties":{"consumer_component_id":{"type":"string"},"edge_id":{"pattern":"^architecture-edge:v734:[a-z0-9-]+$","type":"string"},"potential_impact_only":{"const":true},"producer_component_id":{"type":"string"},"relationship":{"const":"DECLARED_INPUT_DEPENDENCY"}},"required":["edge_id","producer_component_id","consumer_component_id","relationship","potential_impact_only"],"type":"object"},"type":"array"},"release_id":{"type":"string"},"schema_version":{"const":"wsmusings.architecture-manifest.v1"}},"required":["schema_version","release_id","architecture_id","architecture_principle","component_count","edge_count","components","edges","content_sha256"],"title":"WS Musings Architecture Manifest","type":"object"}
