iconsulting/database/migrations/20260206_add_evaluation_rul...

27 lines
1.2 KiB
PL/PgSQL

-- Evaluation Rules: Admin-configurable quality gate rules per consulting stage
-- Zero rows = zero checks = current behavior preserved
BEGIN;
CREATE TABLE IF NOT EXISTS evaluation_rules (
id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
tenant_id uuid,
stage varchar(50) NOT NULL, -- consulting stage (greeting, info_collection, etc.) or '*' for all stages
rule_type varchar(50) NOT NULL, -- FIELD_COMPLETENESS, ASSESSMENT_QUALITY, RESPONSE_LENGTH, MUST_CONTAIN, STAGE_MIN_TURNS, CONVERSION_SIGNAL
name varchar(255) NOT NULL,
description text,
config jsonb NOT NULL DEFAULT '{}', -- rule-specific parameters
enabled boolean DEFAULT true,
priority integer DEFAULT 0, -- lower = run first
failure_action varchar(20) NOT NULL DEFAULT 'WARN_AND_PASS', -- RETRY, SUPPLEMENT, WARN_AND_PASS, ESCALATE
created_by uuid,
updated_by uuid,
created_at timestamptz DEFAULT now(),
updated_at timestamptz DEFAULT now()
);
CREATE INDEX idx_evaluation_rules_tenant ON evaluation_rules(tenant_id);
CREATE INDEX idx_evaluation_rules_tenant_stage ON evaluation_rules(tenant_id, stage, enabled);
COMMIT;