CRO PlatformAI-Native CRO OS
Toggle navigationMenu

Reference

Database schema — `cro.*` ERD

The canonical data model. Tables are color-coded by category: regulated tables carry provenance and require a Part 11 signature to promote staging → live. Click any table in the diagram to jump to its details card below, or open `/schema?table=study` to deep link.

Tables

15

Columns

174

Foreign keys

20

Regulated tables

9

Regulated9

Carries created_at / updated_at / created_by / provenance_id. Promotion requires a Part 11 signature.

Staging2

Where agents land their writes. State machine: proposed → reviewing → signed → promoted.

Audit2

Append-only provenance and ops logs. Not part of the regulated write path.

Reference2

External or read-only data we index but do not own.

Entity-relationship diagram of the `cro.*` schema — click a table for detailscroprovenance_eventAuditPKiduuidstudy_iduuid·actor_kindtext·actor_idtextmodel_providertextmodel_idtextFKmodel_version_iduuid·actiontext·subject_kindtext·subject_idtext·retrieved_contextjsonbreviewer_user_iduuidsignature_iduuid·occurred_attimestamptz·payloadjsonbcrostaging_recordStagingPKiduuid·entity_kindtextentity_iduuid·agent_idtextFKmodel_version_iduuidFKprovenance_iduuid·stateenum·proposed_statejsonb·created_attimestamptz·updated_attimestamptz·created_byuuidcrosignature_eventRegulatedPKiduuid·user_iduuid·user_display_nametext·intentenum·subject_kindtext·subject_idtext·re_auth_attimestamptz·meaning_of_signaturetext·signed_attimestamptz·created_attimestamptz·updated_attimestamptz·created_byuuidFKprovenance_iduuidcromodel_registry_versionRegulatedPKiduuid·providertext·model_idtext·prompt_hashtext·prompt_versiontext·registered_attimestamptzretired_attimestamptz·notestext·created_attimestamptz·updated_attimestamptz·created_byuuidFKprovenance_iduuidcrovalidation_evidence_runRegulatedPKiduuidpr_numberinteger·commit_shatext·evidence_pathsjsonbsigned_by_user_idtextsigned_attimestamptz·created_attimestamptz·updated_attimestamptz·created_byuuidFKprovenance_iduuidcrolive_essential_documentRegulatedPKiduuidFKpromoted_from_staging_iduuidFKsignature_iduuidstudy_iduuid·document_typetext·document_titletext·storage_uritext·metadatajsonb·created_attimestamptz·updated_attimestamptz·created_byuuidFKprovenance_iduuidcroapp_logAuditPKiduuid·leveltext·componenttext·messagetextFKprovenance_iduuid·payloadjsonb·logged_attimestamptzcrostudyRegulatedPKiduuid·codetext·sponsortext·phasetext·therapeutic_areatext·indicationtext·statustext·healthtext·executive_summarytext·goalsjsonb·start_datedate·planned_end_datedate·current_forecast_end_datedate·contracted_budgetnumeric·ebv_spentnumeric·eac_budgetnumeric·currencytext·created_attimestamptz·updated_attimestamptz·created_byuuidFKprovenance_iduuidcrostudy_kpiRegulatedPKiduuidFKstudy_iduuidlabeltextvaluetextdeltatextdelta_directiontextthresholdtext·positioninteger·created_attimestamptz·updated_attimestamptz·created_byuuidFKprovenance_iduuidcrostudy_milestoneRegulatedPKiduuidFKstudy_iduuidnametextplanned_datedateactual_or_forecast_datedatestatustextpositioninteger·created_attimestamptz·updated_attimestamptz·created_byuuidFKprovenance_iduuidcrostudy_riskRegulatedPKiduuidFKstudy_iduuidtitletextownertextseveritytextmitigationtextstatustext·created_attimestamptz·updated_attimestamptz·created_byuuidFKprovenance_iduuidcrostudy_resourceRegulatedPKiduuidFKstudy_iduuidroletextheadcountintegerftenumericrate_per_monthnumeric·created_attimestamptz·updated_attimestamptz·created_byuuidFKprovenance_iduuidcrovector_documentReferencePKiduuid·source_kindtext·source_uritext·chunk_indexinteger·contenttext·embeddingjsonb·metadatajsonb·created_attimestamptz·updated_attimestamptzcrosponsor_requestStagingPKiduuid·sponsor_idtextstudy_iduuid·subjecttext·bodytext·prioritytext·statustextFKprovenance_iduuid·created_attimestamptz·updated_attimestamptz·created_byuuidauthusersReferencePKiduuidemailtextencrypted_passwordtextemail_confirmed_attimestamptzraw_app_meta_datajsonbraw_user_meta_datajsonblast_sign_in_attimestamptz·created_attimestamptz·updated_attimestamptz
LegendRegulatedStagingAuditReferencePKprimary keyFKforeign key

Table reference

2 of 15 tables shown (Staging only)

cro

staging_record

The only legal write destination for agents. Proposed state lands here in `proposed`; humans review and sign to advance through `reviewing` → `signed` → `promoted`.

Staging
ColumnTypeKeyReferencesNotes
iduuidPK
entity_kindtextrequired
entity_iduuidnullable
agent_idtextrequired
model_version_iduuidFKcro.model_registry_version
provenance_iduuidFKcro.provenance_event
stateenumrequiredstaging_state enum
proposed_statejsonbrequired
created_attimestamptzrequired
updated_attimestamptzrequired
created_byuuidrequired

cro

sponsor_request

Sponsor portal intake. Every inbound request lands as a staging row first; promotion to an actionable item still requires the same A2 gate.

Staging
ColumnTypeKeyReferencesNotes
iduuidPK
sponsor_idtextrequired
study_iduuidnullable
subjecttextrequired
bodytextrequired
prioritytextrequired
statustextrequired
provenance_iduuidFKcro.provenance_event
created_attimestamptzrequired
updated_attimestamptzrequired
created_byuuidrequired