ai_attempt

-1 rows


Columns

Column Type Size Nulls Auto Default Children Parents Comments
ai_attempt_id uuid 2147483647 null
ai_candidate.ai_attempt_id fk_ai_candidate_attempt_company C
ai_question.ai_attempt_id fk_ai_question_attempt_company C
ai_run_id uuid 2147483647 null
ai_run.ai_run_id fk_ai_attempt_run_company C
company_id uuid 2147483647 null
ai_candidate.company_id fk_ai_candidate_attempt_company C
ai_question.company_id fk_ai_question_attempt_company C
ai_run.company_id fk_ai_attempt_run_company C
request_id uuid 2147483647 null
sequence_no int4 10 null
phase varchar 20 null
context_round int4 10 0
status varchar 20 null
analysis_input_json text 2147483647 null
agent_version varchar 100 null
model_provider varchar 80 null
model_name varchar 120 null
model_version varchar 120 null
prompt_version varchar 100 null
context_pack_version varchar 100 null
workflow_catalog_version varchar 100 null
contract_version varchar 100 null
knowledge_version varchar 100 null
provider_attempt_count int4 10 null
error_code varchar 80 null
latency_ms int8 19 null
started_at timestamptz 35,6 null
completed_at timestamptz 35,6 null

Indexes

Constraint Name Type Sort Column(s)
pk_ai_attempt Primary key Asc ai_attempt_id
idx_ai_attempt_run Performance Asc/Asc/Asc company_id + ai_run_id + sequence_no
uq_ai_attempt_id_company Must be unique Asc/Asc ai_attempt_id + company_id
uq_ai_attempt_run_sequence Must be unique Asc/Asc ai_run_id + sequence_no

Check Constraints

Constraint Name Constraint
ck_ai_attempt_context_round ((context_round >= 0))
ck_ai_attempt_input_not_blank ((char_length(TRIM(BOTH FROM analysis_input_json)) > 0))
ck_ai_attempt_phase (((phase)::text = ANY ((ARRAY['PLAN'::character varying, 'ANALYZE'::character varying])::text[])))
ck_ai_attempt_provider_count (((provider_attempt_count IS NULL) OR (provider_attempt_count >= 0)))
ck_ai_attempt_sequence ((sequence_no > 0))
ck_ai_attempt_completion (((((status)::text = 'RUNNING'::text) AND (completed_at IS NULL)) OR (((status)::text = ANY ((ARRAY['SUCCEEDED'::character varying, 'FAILED'::character varying])::text[])) AND (completed_at IS NOT NULL))))
ck_ai_attempt_status (((status)::text = ANY ((ARRAY['RUNNING'::character varying, 'SUCCEEDED'::character varying, 'FAILED'::character varying])::text[])))
ck_ai_attempt_latency (((latency_ms IS NULL) OR (latency_ms >= 0)))

Relationships