27 lines
1.2 KiB
PL/PgSQL
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;
|