BEGIN; SET ROLE capability_role; CREATE TABLE IF NOT EXISTS capability.cognitive_provider_instances ( provider_instance_id TEXT NOT NULL, revision BIGINT NOT NULL, provider_kind TEXT NOT NULL, endpoint_ref TEXT NOT NULL, credential_ref TEXT NOT NULL, enabled BOOLEAN NOT NULL, qualification TEXT NOT NULL, health TEXT NOT NULL, observed_at_unix_millis BIGINT NOT NULL, recorded_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (provider_instance_id, revision), CHECK (revision > 0), CHECK (qualification IN ('DISCOVERED','PROBING','EVALUATING','VALIDATED','REJECTED')), CHECK (health IN ('UNKNOWN','AVAILABLE','DEGRADED','UNAVAILABLE')), CHECK (observed_at_unix_millis > 0) ); CREATE TABLE IF NOT EXISTS capability.cognitive_model_descriptors ( model_descriptor_id TEXT NOT NULL, revision BIGINT NOT NULL, provider_instance_id TEXT NOT NULL, provider_model_id TEXT NOT NULL, fingerprint TEXT NOT NULL, max_context_bytes BIGINT NOT NULL, modalities TEXT[] NOT NULL, capabilities TEXT[] NOT NULL, qualification TEXT NOT NULL, health TEXT NOT NULL, observed_at_unix_millis BIGINT NOT NULL, recorded_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (model_descriptor_id, revision), CHECK (revision > 0), CHECK (max_context_bytes > 0), CHECK (cardinality(modalities) > 0), CHECK (cardinality(capabilities) > 0), CHECK (qualification IN ('DISCOVERED','PROBING','EVALUATING','VALIDATED','REJECTED')), CHECK (health IN ('UNKNOWN','AVAILABLE','DEGRADED','UNAVAILABLE')), CHECK (observed_at_unix_millis > 0) ); CREATE TABLE IF NOT EXISTS capability.cognitive_bindings ( binding_id TEXT NOT NULL, revision BIGINT NOT NULL, capability_id TEXT NOT NULL, owner_principal_id TEXT NOT NULL, provider_instance_id TEXT NOT NULL, provider_revision BIGINT NOT NULL, model_descriptor_id TEXT NOT NULL, model_revision BIGINT NOT NULL, data_policy TEXT NOT NULL, qualification TEXT NOT NULL, activation TEXT NOT NULL, health TEXT NOT NULL, limit_policy_ref TEXT NOT NULL, recorded_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (binding_id, revision), CHECK (revision > 0), CHECK (provider_revision > 0), CHECK (model_revision > 0), CHECK (data_policy IN ('LOCAL_ONLY','EXTERNAL_MESSAGE_ONLY','EXTERNAL_MINIMIZED_CONTEXT')), CHECK (qualification IN ('DISCOVERED','PROBING','EVALUATING','VALIDATED','REJECTED')), CHECK (activation IN ('INACTIVE','CANARY','ACTIVE','DEPRECATED','RETIRED')), CHECK (health IN ('UNKNOWN','AVAILABLE','DEGRADED','UNAVAILABLE')) ); CREATE TABLE IF NOT EXISTS capability.cognitive_binding_heads ( capability_id TEXT NOT NULL, owner_principal_id TEXT NOT NULL, binding_id TEXT NOT NULL, revision BIGINT NOT NULL, PRIMARY KEY (capability_id, owner_principal_id), CHECK (revision > 0) ); CREATE TABLE IF NOT EXISTS capability.cognitive_usage_observations ( observation_id TEXT PRIMARY KEY, request_id TEXT NOT NULL, binding_id TEXT NOT NULL, binding_revision BIGINT NOT NULL, provider_instance_id TEXT NOT NULL, model_descriptor_id TEXT NOT NULL, observed_at_unix_millis BIGINT NOT NULL, latency_millis BIGINT NOT NULL, input_units BIGINT NOT NULL, output_units BIGINT NOT NULL, estimated_cost_micros BIGINT, actual_cost_micros BIGINT, result_class TEXT NOT NULL, recorded_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, CHECK (binding_revision > 0), CHECK (observed_at_unix_millis > 0), CHECK (latency_millis >= 0), CHECK (input_units >= 0), CHECK (output_units >= 0), CHECK (estimated_cost_micros IS NULL OR estimated_cost_micros >= 0), CHECK (actual_cost_micros IS NULL OR actual_cost_micros >= 0) ); RESET ROLE; COMMIT;