feat: integrate AI candidate review and automatic publication
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
CREATE TABLE veyra_ai_review_policy (
|
||||
id varchar(36) PRIMARY KEY CHECK(id ~ '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$'),
|
||||
enabled boolean NOT NULL DEFAULT false,
|
||||
auto_publish boolean NOT NULL DEFAULT false,
|
||||
version bigint NOT NULL DEFAULT 1 CHECK(version>0),
|
||||
updated_by varchar(36) REFERENCES veyra_user(id),
|
||||
updated_at timestamptz NOT NULL DEFAULT now()
|
||||
);
|
||||
INSERT INTO veyra_ai_review_policy(id) VALUES('a945c2bf-9c77-4d4a-9f4f-a986b729776c');
|
||||
CREATE TABLE veyra_candidate_analysis (
|
||||
id varchar(36) PRIMARY KEY CHECK(id ~ '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$'),
|
||||
candidate_revision_id varchar(36) NOT NULL REFERENCES veyra_candidate_revision(id),
|
||||
input_version bigint NOT NULL CHECK(input_version>0),
|
||||
policy_version bigint NOT NULL CHECK(policy_version>0),
|
||||
status varchar(24) NOT NULL CHECK(status IN ('RUNNING','FAILED','APPROVED','REJECTED','PUBLISHED','STALE')),
|
||||
attempts integer NOT NULL DEFAULT 1 CHECK(attempts BETWEEN 1 AND 3),
|
||||
claim_token varchar(36) NOT NULL CHECK(claim_token ~ '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$'),
|
||||
lease_until timestamptz NOT NULL,
|
||||
primary_model varchar(120) NOT NULL DEFAULT '', review_model varchar(120) NOT NULL DEFAULT '',
|
||||
primary_version bigint NOT NULL DEFAULT 0, review_version bigint NOT NULL DEFAULT 0,
|
||||
analysis jsonb, review jsonb, message varchar(1000) NOT NULL DEFAULT '',
|
||||
created_at timestamptz NOT NULL DEFAULT now(),updated_at timestamptz NOT NULL DEFAULT now(),
|
||||
UNIQUE(candidate_revision_id,input_version,policy_version)
|
||||
);
|
||||
CREATE INDEX veyra_candidate_analysis_recent_idx ON veyra_candidate_analysis(updated_at DESC);
|
||||
Reference in New Issue
Block a user