154 lines
6.3 KiB
PL/PgSQL
154 lines
6.3 KiB
PL/PgSQL
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;
|