ai_run

-1 rows


Columns

Column Type Size Nulls Auto Default Children Parents Comments
ai_run_id uuid 2147483647 null
ai_attempt.ai_run_id fk_ai_attempt_run_company C
ai_candidate.ai_run_id fk_ai_candidate_run_company C
ai_candidate_decision.ai_run_id fk_ai_candidate_decision_run_company C
ai_candidate_decision_batch.ai_run_id fk_ai_candidate_decision_batch_run_company C
ai_question.ai_run_id fk_ai_question_run_company C
company_id uuid 2147483647 null
ai_attempt.company_id fk_ai_attempt_run_company C
ai_candidate.company_id fk_ai_candidate_run_company C
ai_candidate_decision.company_id fk_ai_candidate_decision_run_company C
ai_candidate_decision_batch.company_id fk_ai_candidate_decision_batch_run_company C
ai_question.company_id fk_ai_question_run_company C
company.company_id fk_ai_run_company R
user_account.company_id fk_ai_run_requester_company R
requested_by uuid 2147483647 null
user_account.user_id fk_ai_run_requester_company R
request_id uuid 2147483647 null
instruction text 2147483647 null
instruction_hash varchar 64 null
idempotency_key_hash varchar 64 null
status varchar 20 null
analysis_outcome varchar 30 null
detected_intent varchar 80 null
last_error_code varchar 80 null
attempt_count int4 10 0
created_at timestamptz 35,6 null
updated_at timestamptz 35,6 null
version int8 19 0
evidence text 2147483647 null

Indexes

Constraint Name Type Sort Column(s)
pk_ai_run Primary key Asc ai_run_id
idx_ai_run_company_created Performance Asc/Asc company_id + created_at
idx_ai_run_company_status Performance Asc/Asc/Asc company_id + status + updated_at
uq_ai_run_company_idempotency Must be unique Asc/Asc company_id + idempotency_key_hash
uq_ai_run_id_company Must be unique Asc/Asc ai_run_id + company_id
uq_ai_run_request Must be unique Asc request_id

Check Constraints

Constraint Name Constraint
ck_ai_run_version ((version >= 0))
ck_ai_run_status (((status)::text = ANY ((ARRAY['QUEUED'::character varying, 'RUNNING'::character varying, 'SUCCEEDED'::character varying, 'FAILED'::character varying])::text[])))
ck_ai_run_instruction_hash_length ((char_length((instruction_hash)::text) = 64))
ck_ai_run_instruction_not_blank ((char_length(TRIM(BOTH FROM instruction)) > 0))
ck_ai_run_attempt_count ((attempt_count >= 0))
ck_ai_run_idempotency_hash_length ((char_length((idempotency_key_hash)::text) = 64))
ck_ai_run_updated_at ((updated_at >= created_at))
ck_ai_run_outcome (((analysis_outcome IS NULL) OR ((analysis_outcome)::text = ANY ((ARRAY['OUT_OF_SCOPE'::character varying, 'CONTEXT_REQUIRED'::character varying, 'NEEDS_INFO'::character varying, 'REVIEW_REQUIRED'::character varying])::text[]))))

Relationships