BEGIN; SET ROLE epistemics_role; CREATE TABLE IF NOT EXISTS epistemics.system_expectations ( expectation_id TEXT PRIMARY KEY, original_intent_id TEXT NOT NULL, source_utterance_id TEXT NOT NULL, expected_outcome TEXT NOT NULL, expected_effect TEXT NOT NULL, confidence_millis BIGINT NOT NULL, evidence_basis TEXT[] NOT NULL DEFAULT ARRAY[]::TEXT[], recorded_at_unix_millis BIGINT NOT NULL, recorded_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, CHECK (expectation_id <> ''), CHECK (original_intent_id <> ''), CHECK (source_utterance_id <> ''), CHECK (expected_outcome IN ('SUCCESS','PARTIAL_SUCCESS','FAILED','UNKNOWN','USER_CORRECTED','UNEXPECTED_OUTCOME','NOT_APPLICABLE','LOW_CONFIDENCE','OUT_OF_DISTRIBUTION','CONFLICT','STALE')), CHECK (expected_effect <> ''), CHECK (confidence_millis BETWEEN 0 AND 1000), CHECK (recorded_at_unix_millis > 0) ); CREATE TABLE IF NOT EXISTS epistemics.experience_records ( experience_id TEXT PRIMARY KEY, source_kind TEXT NOT NULL, original_intent_id TEXT NOT NULL, source_utterance_id TEXT NOT NULL, context_refs TEXT[] NOT NULL DEFAULT ARRAY[]::TEXT[], help_method TEXT NOT NULL, help_method_ref TEXT NOT NULL DEFAULT '', capability_implementation_ref TEXT NOT NULL DEFAULT '', capability_usage_observation_ref TEXT NOT NULL DEFAULT '', capability_gap_ref TEXT NOT NULL DEFAULT '', skill_ref TEXT NOT NULL DEFAULT '', expectation_id TEXT NOT NULL DEFAULT '', expected_outcome TEXT NOT NULL, actual_outcome TEXT NOT NULL, outcome_ref TEXT NOT NULL DEFAULT '', outcome_detail TEXT NOT NULL DEFAULT '', human_response_ref TEXT NOT NULL DEFAULT '', correction_utterance_id TEXT NOT NULL DEFAULT '', verification_evidence TEXT[] NOT NULL DEFAULT ARRAY[]::TEXT[], confidence_millis BIGINT NOT NULL, recorded_at_unix_millis BIGINT NOT NULL, recorded_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, CHECK (experience_id <> ''), CHECK (source_kind IN ('INTERACTION','CONTINUITY','CAPABILITY','COGNITIVE_ADVISORY')), CHECK (original_intent_id <> ''), CHECK (source_utterance_id <> ''), CHECK (help_method IN ('DETERMINISTIC_FAST_PATH','CAPABILITY_EXECUTION','COGNITIVE_ADVISORY','CLARIFICATION','FALLBACK')), CHECK (expected_outcome IN ('SUCCESS','PARTIAL_SUCCESS','FAILED','UNKNOWN','USER_CORRECTED','UNEXPECTED_OUTCOME','NOT_APPLICABLE','LOW_CONFIDENCE','OUT_OF_DISTRIBUTION','CONFLICT','STALE')), CHECK (actual_outcome IN ('SUCCESS','PARTIAL_SUCCESS','FAILED','UNKNOWN','USER_CORRECTED','UNEXPECTED_OUTCOME','NOT_APPLICABLE','LOW_CONFIDENCE','OUT_OF_DISTRIBUTION','CONFLICT','STALE')), CHECK (confidence_millis BETWEEN 0 AND 1000), CHECK (recorded_at_unix_millis > 0) ); CREATE TABLE IF NOT EXISTS epistemics.reflection_candidates ( reflection_candidate_id TEXT PRIMARY KEY, trigger TEXT NOT NULL, state TEXT NOT NULL, source_experience_id TEXT NOT NULL, original_intent_id TEXT NOT NULL, source_utterance_id TEXT NOT NULL, summary TEXT NOT NULL, evidence_refs TEXT[] NOT NULL DEFAULT ARRAY[]::TEXT[], requires_cognition BOOLEAN NOT NULL, recorded_at_unix_millis BIGINT NOT NULL, revision BIGINT NOT NULL, recorded_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, CHECK (reflection_candidate_id <> ''), CHECK (trigger IN ('UNEXPECTED_OUTCOME','FAILURE','USER_CORRECTION','CONTRADICTION','LOW_CONFIDENCE','REPEATED_DEGRADATION','ENVIRONMENT_CHANGE','IMPLEMENTATION_CHANGED','STALE_SKILL','SAMPLED_AUDIT')), CHECK (state IN ('OPEN','EVALUATING','SUPERSEDED','RESOLVED')), CHECK (source_experience_id <> ''), CHECK (original_intent_id <> ''), CHECK (source_utterance_id <> ''), CHECK (summary <> ''), CHECK (recorded_at_unix_millis > 0), CHECK (revision > 0) ); RESET ROLE; SET ROLE capability_role; CREATE TABLE IF NOT EXISTS capability.skill_profiles ( skill_profile_id TEXT NOT NULL, revision BIGINT NOT NULL, name TEXT NOT NULL, description TEXT NOT NULL, applicable_context TEXT[] NOT NULL DEFAULT ARRAY[]::TEXT[], implementation_ref TEXT NOT NULL DEFAULT '', implementation_version TEXT NOT NULL DEFAULT '', status TEXT NOT NULL, supporting_experience_refs TEXT[] NOT NULL DEFAULT ARRAY[]::TEXT[], known_failure_experience_refs TEXT[] NOT NULL DEFAULT ARRAY[]::TEXT[], confidence_millis BIGINT NOT NULL, last_validated_unix_millis BIGINT NOT NULL DEFAULT 0, observed_failure_count BIGINT NOT NULL DEFAULT 0, observed_correction_count BIGINT NOT NULL DEFAULT 0, recorded_at_unix_millis BIGINT NOT NULL, recorded_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (skill_profile_id, revision), CHECK (skill_profile_id <> ''), CHECK (revision > 0), CHECK (name <> ''), CHECK (description <> ''), CHECK (status IN ('CANDIDATE','EVALUATING','VALIDATED','DEGRADED','SUSPENDED','RETIRED')), CHECK (confidence_millis BETWEEN 0 AND 1000), CHECK (last_validated_unix_millis >= 0), CHECK (observed_failure_count >= 0), CHECK (observed_correction_count >= 0), CHECK (recorded_at_unix_millis > 0) ); CREATE TABLE IF NOT EXISTS capability.skill_profile_heads ( skill_profile_id TEXT PRIMARY KEY, revision BIGINT NOT NULL, status TEXT NOT NULL, updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, CHECK (revision > 0), CHECK (status IN ('CANDIDATE','EVALUATING','VALIDATED','DEGRADED','SUSPENDED','RETIRED')) ); INSERT INTO capability.skill_profiles( skill_profile_id, revision, name, description, applicable_context, implementation_ref, implementation_version, status, supporting_experience_refs, known_failure_experience_refs, confidence_millis, last_validated_unix_millis, observed_failure_count, observed_correction_count, recorded_at_unix_millis) VALUES ( 'skill-obvious-reminder-response-v1', 1, 'Resolve obvious reminder continuation', 'Use a recent unambiguous reminder/attention target for complete/snooze/cancel without cognition, while declining ambiguous or unsupported cases.', ARRAY['continuity:reminder-response'], 'continuity:human-response-target-resolver-v1', '1', 'VALIDATED', ARRAY['continuity:human-response-live-acceptance-dev-000066'], ARRAY[]::TEXT[], 850, 1, 0, 0, 1 ) ON CONFLICT DO NOTHING; INSERT INTO capability.skill_profile_heads(skill_profile_id, revision, status) VALUES ('skill-obvious-reminder-response-v1', 1, 'VALIDATED') ON CONFLICT (skill_profile_id) DO NOTHING; RESET ROLE; COMMIT;