--
-- PostgreSQL database dump
--
\restrict THevuI5nL8va278qqO7jMSTP5LK8tqxqzRceXTedW4fR4pqR5ttaHEIfQb9Nuug
-- Dumped from database version 16.14 (Debian 16.14-1.pgdg12+1)
-- Dumped by pg_dump version 16.14 (Debian 16.14-1.pgdg12+1)
SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SELECT pg_catalog.set_config('search_path', '', false);
SET check_function_bodies = false;
SET xmloption = content;
SET client_min_messages = warning;
SET row_security = off;
--
-- Name: pg_trgm; Type: EXTENSION; Schema: -; Owner: -
--
CREATE EXTENSION IF NOT EXISTS pg_trgm WITH SCHEMA public;
--
-- Name: EXTENSION pg_trgm; Type: COMMENT; Schema: -; Owner: -
--
COMMENT ON EXTENSION pg_trgm IS 'text similarity measurement and index searching based on trigrams';
--
-- Name: vector; Type: EXTENSION; Schema: -; Owner: -
--
CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;
--
-- Name: EXTENSION vector; Type: COMMENT; Schema: -; Owner: -
--
COMMENT ON EXTENSION vector IS 'vector data type and ivfflat and hnsw access methods';
--
-- Name: capability_tag_t; Type: TYPE; Schema: public; Owner: -
--
CREATE TYPE public.capability_tag_t AS ENUM (
'concise',
'summarization',
'thinking_mode',
'tool_calling'
);
--
-- Name: pipeline_status_t; Type: TYPE; Schema: public; Owner: -
--
CREATE TYPE public.pipeline_status_t AS ENUM (
'INGESTED',
'DEDUPED',
'SCORED',
'PUBLISHABLE'
);
--
-- Name: review_dimension; Type: TYPE; Schema: public; Owner: -
--
CREATE TYPE public.review_dimension AS ENUM (
'overall',
'correctness',
'teaching_value',
'language_quality',
'completeness',
'cultural_accuracy'
);
--
-- Name: model_format_spec_touch_updated_at(); Type: FUNCTION; Schema: public; Owner: -
--
CREATE FUNCTION public.model_format_spec_touch_updated_at() RETURNS trigger
LANGUAGE plpgsql
AS $$
BEGIN
NEW.updated_at := now();
RETURN NEW;
END;
$$;
--
-- Name: set_pipeline_status(text, public.pipeline_status_t, text); Type: FUNCTION; Schema: public; Owner: -
--
CREATE FUNCTION public.set_pipeline_status(p_content_hash text, p_status public.pipeline_status_t, p_reason text DEFAULT NULL::text) RETURNS void
LANGUAGE sql
AS $$
UPDATE samples SET pipeline_status = p_status,
pipeline_status_reason = p_reason,
pipeline_status_updated_at = now()
WHERE content_hash = p_content_hash;
$$;
SET default_tablespace = '';
SET default_table_access_method = heap;
--
-- Name: backfill_progress; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.backfill_progress (
pass_name text NOT NULL,
blob_path text NOT NULL,
done boolean DEFAULT false NOT NULL,
rows_seen integer DEFAULT 0 NOT NULL,
updated_at timestamp with time zone DEFAULT now() NOT NULL
);
--
-- Name: chunks; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.chunks (
chunk_hash text NOT NULL,
parent_hash text NOT NULL,
"position" integer NOT NULL,
chunk_text text NOT NULL,
n_chars integer NOT NULL,
embedding public.vector(768),
lang text,
created_at timestamp with time zone DEFAULT now() NOT NULL,
kb_doc_id bigint
)
WITH (autovacuum_vacuum_insert_scale_factor='0.02');
--
-- Name: TABLE chunks; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON TABLE public.chunks IS 'RAG retrieval chunks split from rag_pool-eligible samples (encyclopedic/news/cultural kinds or known factual-crawl sources). ~1200-char chunks, 150-char overlap, sentence-boundary aware. embedding is NULL at write time — populated later by an extended bitdeer embed worker (see generation/embed_worker_bitdeer.py, owned by another task/agent).';
--
-- Name: COLUMN chunks.kb_doc_id; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON COLUMN public.chunks.kb_doc_id IS 'FK to kb_documents — makes this chunk citable with real source/version/license metadata. NULL for chunks ingested before the kb layer existed (e.g. legacy wiki/fineweb chunks); backfill separately, this column addition does not retroactively populate it.';
--
-- Name: coldstart_coding_rollouts; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.coldstart_coding_rollouts (
rollout_id bigint NOT NULL,
trajectory_id text NOT NULL,
content_hash text NOT NULL,
format text DEFAULT 'rowc.selfscaffold.v1'::text,
role_in_dataset text DEFAULT 'sft_coldstart'::text,
teacher_model text NOT NULL,
teacher_quant text,
teacher_provider text,
teacher_license text,
teacher_model_id smallint,
source text NOT NULL,
source_id smallint,
domain text,
language text,
task_kind text,
generated boolean DEFAULT true,
test_gated boolean DEFAULT false,
test_passed boolean,
gate_detail jsonb,
upstream_task_id text,
upstream_repo text,
upstream_commit text,
task_source text,
task_source_license text,
trajectory_blob_path text,
scaffold_text text,
stage1_token_count integer,
stage2_token_count integer,
obs_token_count integer,
trainable_token_count integer,
prompt_tokens integer,
completion_tokens integer,
gen_seconds real,
created_at timestamp with time zone DEFAULT now()
);
--
-- Name: coldstart_coding_rollouts_rollout_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
ALTER TABLE public.coldstart_coding_rollouts ALTER COLUMN rollout_id ADD GENERATED ALWAYS AS IDENTITY (
SEQUENCE NAME public.coldstart_coding_rollouts_rollout_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);
--
-- Name: samples; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.samples (
content_hash text NOT NULL,
kind text NOT NULL,
lang text,
source text NOT NULL,
minhash bigint[],
embedding public.vector(768),
sprapp_filter_score jsonb,
sprapp_filter_flagged text[],
quarantined boolean DEFAULT false,
verify_status text,
register text,
promoted boolean DEFAULT false,
blob_path text NOT NULL,
row_len_chars integer,
created_at timestamp with time zone DEFAULT now(),
near_dup_of text,
textbook_quality double precision,
cultural_nuance boolean DEFAULT false,
cultural_markers text[],
minhash_algo text DEFAULT 'datasketch_v1'::text,
license text,
review_score double precision,
generated_by_model smallint,
reviewed_by_model smallint,
generation_score double precision,
structural_quality double precision,
structural_signals jsonb,
split text,
perplexity double precision,
quality_tier text,
composite_score double precision,
composite_profile text,
contaminated boolean DEFAULT false,
translated_from text,
text_inline text,
model_quality_score double precision,
langid_pred text,
langid_conf double precision,
source_id smallint,
usage_tags text[] DEFAULT '{}'::text[],
fts tsvector GENERATED ALWAYS AS (to_tsvector('simple'::regconfig, COALESCE(text_inline, ''::text))) STORED,
minhash_packed bytea,
embedding_h public.halfvec(768),
shard_id integer,
kind_id smallint,
lang_id smallint,
license_id smallint,
register_id smallint,
quality_tier_id smallint,
split_id smallint,
gen_temperature double precision,
gen_max_tokens integer,
gen_repeat_penalty double precision,
gen_seed bigint,
gen_provider text,
gen_quantization text,
gen_prompt_variant text,
pipeline_status public.pipeline_status_t DEFAULT 'INGESTED'::public.pipeline_status_t NOT NULL,
pipeline_status_updated_at timestamp with time zone DEFAULT now() NOT NULL,
pipeline_status_reason text,
restricted_overlap boolean DEFAULT false,
restricted_overlap_source text,
capability_tags public.capability_tag_t[],
pii_detected boolean DEFAULT false,
pii_types text[],
input_tokens integer,
output_tokens integer,
token_count integer,
token_count_tokenizer text,
best_of_n_score double precision,
cpt_eligible boolean DEFAULT false,
sft_eligible boolean DEFAULT false,
ingest_origin text
)
WITH (fillfactor='90', autovacuum_vacuum_scale_factor='0.02', autovacuum_analyze_scale_factor='0.01');
ALTER TABLE ONLY public.samples ALTER COLUMN sprapp_filter_score SET COMPRESSION lz4;
ALTER TABLE ONLY public.samples ALTER COLUMN structural_signals SET COMPRESSION lz4;
ALTER TABLE ONLY public.samples ALTER COLUMN text_inline SET COMPRESSION lz4;
--
-- Name: COLUMN samples.gen_temperature; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON COLUMN public.samples.gen_temperature IS 'Sampling temperature used for this row''s generation call, e.g. 0.7-0.85 across the *_ms.py drivers (per-family default from generation/optimal_configs.json via cfg_for()), or gen_sea_data.py''s fixed 0.8 for API generators. NULL = not recorded (pre-2026-07-05 row) or not generated (real/relicensed text).';
--
-- Name: COLUMN samples.gen_max_tokens; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON COLUMN public.samples.gen_max_tokens IS 'max_tokens request cap sent to the generating backend for this row. NOT the actual completion length (row_len_chars is) — this is the ceiling; hitting it exactly is a truncation signal cross-checked by structural_quality.py separately.';
--
-- Name: COLUMN samples.gen_repeat_penalty; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON COLUMN public.samples.gen_repeat_penalty IS 'llama.cpp/vLLM repeat_penalty param (repeat_last_n=256 fixed across drivers, not itself stored — only the penalty value varies by family). NULL for API generators (MiniMax/GLM) that do not expose this knob via gen_sea_data.py''s call().';
--
-- Name: COLUMN samples.gen_seed; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON COLUMN public.samples.gen_seed IS 'Per-request sampling seed, when the backend accepts one. llama.cpp''s /v1/chat/completions takes an integer "seed" field — wired through from the *_ms.py drivers'' worker RNG (NOT reproducible-guaranteed; llama.cpp seed affects the initial RNG state only, not full determinism under batching). MiniMax/GLM APIs (gen_sea_data.py) expose no seed parameter at all as of 2026-07 — always NULL for those rows, by design, not an omission.';
--
-- Name: COLUMN samples.gen_provider; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON COLUMN public.samples.gen_provider IS 'Where generation actually ran: ''local-llamacpp'' (the 6 *_ms.py drivers, bitdeer CPU fleet ports 8091-8098/8191), ''minimax-api'' or ''glm-api'' (gen_sea_data.py / gen_concurrent.py), ''local-vllm'' (if/when a vLLM backend is used instead of llama.cpp — same OpenAI-compatible request shape). NULL means unrecorded (older row) or non-generated source — see samples.source/sources table for the latter case.';
--
-- Name: COLUMN samples.gen_quantization; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON COLUMN public.samples.gen_quantization IS 'Quantization level of the weights that generated this row, stated EXPLICITLY — never left blank/assumed-full-precision. Known values: ''q8_0'' (current local qwen3.6-35b-a3b-q8.gguf teacher, hardcoded at the driver since the binary itself does not report it back over the API). For API-served models (MiniMax, GLM): ''unknown'' — these providers do NOT disclose quant level in responses, and are known to silently serve quantized variants without saying so in the model name; ''unknown'' here is an honest gap, not a placeholder for ''none''. NULL (distinct from ''unknown'') means this column was not populated at all for the row (older ingest, pre-2026-07-05).';
--
-- Name: COLUMN samples.gen_prompt_variant; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON COLUMN public.samples.gen_prompt_variant IS 'template_bandit.py mutator variant_id applied to this row''s prompt before sending to the teacher (e.g. ''toggle_exemplar'', ''format_explicitness'', ''control'' = unmutated base prompt). Populated by gen_sft_ms.py''s apply_prompt_variant() via the driver''s gen_params dict, same wiring as gen_temperature etc above. NULL means EITHER the family has no prompt_variant entry in optimal_configs.json at gen time, OR the row predates this column (pre-2026-07-05 follow-up) — see the NULL-ambiguity note below, same caveat applies here.';
--
-- Name: COLUMN samples.best_of_n_score; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON COLUMN public.samples.best_of_n_score IS 'gen_params.best_of_n_score from generation/best_of_n.py''s select_best_of_n() (reward_selection_bestofN_v1 selection_algorithm), when the producing driver ran with --best-of-n N>1. NULL = either N=1 (no-op best-of-n) or row predates this column (pre-2026-07-07 ingest) — same NULL-ambiguity caveat as the other gen_* columns in generation_params_schema.sql.';
--
-- Name: composition_report; Type: VIEW; Schema: public; Owner: -
--
CREATE VIEW public.composition_report AS
SELECT kind,
lang,
source,
count(*) AS n,
count(*) FILTER (WHERE promoted) AS n_promoted,
count(*) FILTER (WHERE quarantined) AS n_quarantined
FROM public.samples
GROUP BY kind, lang, source
ORDER BY (count(*)) DESC;
--
-- Name: contamination_hashes; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.contamination_hashes (
content_hash text NOT NULL,
eval_set text NOT NULL,
added_at timestamp with time zone DEFAULT now()
);
--
-- Name: context_size_composition; Type: VIEW; Schema: public; Owner: -
--
CREATE VIEW public.context_size_composition AS
SELECT lang,
kind,
count(*) FILTER (WHERE (input_tokens IS NOT NULL)) AS n_split,
count(*) FILTER (WHERE (token_count IS NOT NULL)) AS n_bulk,
avg(input_tokens) AS avg_input_tokens,
avg(output_tokens) AS avg_output_tokens,
avg(token_count) AS avg_token_count
FROM public.samples
WHERE ((input_tokens IS NOT NULL) OR (token_count IS NOT NULL))
GROUP BY lang, kind
ORDER BY (count(*) FILTER (WHERE (input_tokens IS NOT NULL)) + count(*) FILTER (WHERE (token_count IS NOT NULL))) DESC;
--
-- Name: corpus_snapshot_members; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.corpus_snapshot_members (
snapshot text NOT NULL,
content_hash text NOT NULL
);
--
-- Name: corpus_snapshots; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.corpus_snapshots (
name text NOT NULL,
profile text,
filter_sql text,
n_rows bigint,
manifest_hash text,
created_at timestamp with time zone DEFAULT now(),
notes text,
parent_snapshot text,
as_of timestamp with time zone,
selection_algorithm text
);
--
-- Name: corpus_version; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.corpus_version (
version bigint NOT NULL,
pass_name text NOT NULL,
rows_affected bigint NOT NULL,
at timestamp with time zone DEFAULT now() NOT NULL
);
--
-- Name: TABLE corpus_version; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON TABLE public.corpus_version IS 'Monotonic version counter bumped by pipeline passes after they finish a run (one row per pass-run, not per-row). GET /version on the serving API exposes MAX(version) as the freshness contract for consumers pinning to a corpus state — see CURATION_DOCTRINE.md "Trust layer" section.';
--
-- Name: corpus_version_version_seq; Type: SEQUENCE; Schema: public; Owner: -
--
ALTER TABLE public.corpus_version ALTER COLUMN version ADD GENERATED ALWAYS AS IDENTITY (
SEQUENCE NAME public.corpus_version_version_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);
--
-- Name: cpt_pool; Type: VIEW; Schema: public; Owner: -
--
CREATE VIEW public.cpt_pool AS
SELECT content_hash,
kind,
lang,
source,
minhash,
embedding,
sprapp_filter_score,
sprapp_filter_flagged,
quarantined,
verify_status,
register,
promoted,
blob_path,
row_len_chars,
created_at,
near_dup_of,
textbook_quality,
cultural_nuance,
cultural_markers,
minhash_algo,
license,
review_score,
generated_by_model,
reviewed_by_model,
generation_score,
structural_quality,
structural_signals,
split,
perplexity,
quality_tier,
composite_score,
composite_profile,
contaminated,
translated_from,
text_inline,
model_quality_score,
langid_pred,
langid_conf,
source_id,
usage_tags,
fts
FROM public.samples
WHERE ((license = ANY (ARRAY['Apache-2.0'::text, 'MIT'::text, 'CC0-1.0'::text, 'CC-BY-4.0'::text, 'CC-BY-SA-4.0'::text, 'CC-BY-SA-3.0'::text, 'ODC-By-1.0'::text])) AND (split = 'train'::text) AND (COALESCE(contaminated, false) = false) AND (near_dup_of IS NULL) AND (COALESCE(quarantined, false) = false) AND ((quality_tier = ANY (ARRAY['head'::text, 'middle'::text])) OR ((quality_tier IS NULL) AND (composite_score >= (0.5)::double precision))));
--
-- Name: VIEW cpt_pool; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON VIEW public.cpt_pool IS 'Base CPT pool: license-safe (excludes ToS-unverified), split=train, not contaminated/near-dup/quarantined, head|middle quality tier (or un-tiered rows with composite_score>=0.5 as a fallback). Per DatologyAI: quality is the globally-beneficial signal — this pool is NOT per-language filtered beyond the shared quality bar. License whitelist per 2026-07-04 policy ruling: Apache-2.0, MIT, CC0-1.0, CC-BY-4.0, CC-BY-SA-4.0, CC-BY-SA-3.0, ODC-By-1.0 — attribution/ShareAlike obligations for the CC-BY*/ODC-By licenses are handled in the model card, not by exclusion here.';
--
-- Name: gold_candidates; Type: VIEW; Schema: public; Owner: -
--
CREATE VIEW public.gold_candidates AS
SELECT content_hash,
kind,
lang,
source,
minhash,
embedding,
sprapp_filter_score,
sprapp_filter_flagged,
quarantined,
verify_status,
register,
promoted,
blob_path,
row_len_chars,
created_at,
near_dup_of,
textbook_quality,
cultural_nuance,
cultural_markers,
minhash_algo,
license,
review_score,
generated_by_model,
reviewed_by_model,
generation_score,
structural_quality,
structural_signals,
split,
perplexity,
quality_tier,
composite_score,
composite_profile,
contaminated,
translated_from,
text_inline,
model_quality_score,
langid_pred,
langid_conf
FROM public.samples
WHERE ((NOT quarantined) AND (NOT contaminated) AND (near_dup_of IS NULL) AND (verify_status IS DISTINCT FROM 'fail'::text) AND ((textbook_quality IS NULL) OR (textbook_quality >= (0.4)::double precision)) AND ((structural_quality IS NULL) OR (structural_quality >= (0.5)::double precision)) AND (license = ANY (ARRAY['Apache-2.0'::text, 'MIT'::text, 'CC0'::text, 'CC-BY-4.0'::text])))
ORDER BY textbook_quality DESC NULLS LAST, cultural_nuance DESC;
--
-- Name: heal_pool; Type: VIEW; Schema: public; Owner: -
--
CREATE VIEW public.heal_pool AS
SELECT content_hash,
kind,
lang,
source,
minhash,
embedding,
sprapp_filter_score,
sprapp_filter_flagged,
quarantined,
verify_status,
register,
promoted,
blob_path,
row_len_chars,
created_at,
near_dup_of,
textbook_quality,
cultural_nuance,
cultural_markers,
minhash_algo,
license,
review_score,
generated_by_model,
reviewed_by_model,
generation_score,
structural_quality,
structural_signals,
split,
perplexity,
quality_tier,
composite_score,
composite_profile,
contaminated,
translated_from,
text_inline,
model_quality_score,
langid_pred,
langid_conf,
source_id,
usage_tags,
fts,
minhash_packed,
embedding_h,
shard_id,
kind_id,
lang_id,
license_id,
register_id,
quality_tier_id,
split_id
FROM public.samples
WHERE ((license = ANY (ARRAY['Apache-2.0'::text, 'MIT'::text, 'CC0-1.0'::text, 'CC-BY-4.0'::text, 'CC-BY-SA-4.0'::text, 'CC-BY-SA-3.0'::text, 'ODC-By-1.0'::text])) AND ((split IS NULL) OR (split = 'train'::text)) AND (COALESCE(contaminated, false) = false) AND (near_dup_of IS NULL) AND (COALESCE(quarantined, false) = false) AND ((structural_quality IS NULL) OR (structural_quality >= (0.5)::double precision)));
--
-- Name: VIEW heal_pool; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON VIEW public.heal_pool IS 'Ternary QAT-heal data pool: license-safe (CPT whitelist incl ODC-By/CC-BY-SA), split=train-or-unscored, not contaminated/near-dup/quarantined, structural_quality>=0.5-or-unscored. DOMAIN-FLOOR CONTRACT (enforced by the exporter, pipeline/heal_mix_export.py, not by this view): a heal mix drawn from this pool must be (a) >=40% general-web tokens (fineweb2/cc100-style sources), (b) the remaining <=60% floor-mixed across kind-groups (reasoning/sft/cultural/encyclopedic/news/dialogue/other) so no single domain dominates via repetition/cycling, and (c) globally shuffle-interleaved in final row order (measured: sequential domain files caused late-phase overfit twice, DATA_BUDGET_PROJECTION.md §4/§7). This view only answers "is this row heal-eligible at all" — it deliberately has no notion of proportion or order, since a SQL view result has no meaningful row order to depend on.';
--
-- Name: heal_pool_supply; Type: VIEW; Schema: public; Owner: -
--
CREATE VIEW public.heal_pool_supply AS
SELECT
CASE
WHEN ((kind = ANY (ARRAY['web'::text, 'webtext'::text, 'web-informal'::text])) OR (source ~~* '%fineweb%'::text) OR (source = 'cc100_ms'::text)) THEN 'general_web'::text
WHEN (kind = 'encyclopedic'::text) THEN 'encyclopedic'::text
WHEN (kind = ANY (ARRAY['d1-logic'::text, 'd1-plan'::text, 'd1-math'::text, 'd1-estimate'::text])) THEN 'reasoning'::text
WHEN (kind = ANY (ARRAY['d2-openbook'::text, 'd3-tool'::text, 'd5-code'::text, 'long-form'::text])) THEN 'sft'::text
WHEN (kind = 'cultural'::text) THEN 'cultural'::text
WHEN (kind = 'news'::text) THEN 'news'::text
WHEN (kind = ANY (ARRAY['factual-qa'::text, 'parallel-translation'::text])) THEN 'dialogue'::text
ELSE 'other'::text
END AS kind_group,
count(*) AS n_rows,
(sum(
CASE
WHEN (text_inline IS NOT NULL) THEN ((array_length(regexp_split_to_array(TRIM(BOTH FROM text_inline), '\s+'::text), 1))::numeric * 1.3)
ELSE (((COALESCE(row_len_chars, 0))::numeric / 7.04) * 1.3)
END))::bigint AS est_tokens
FROM public.heal_pool
GROUP BY
CASE
WHEN ((kind = ANY (ARRAY['web'::text, 'webtext'::text, 'web-informal'::text])) OR (source ~~* '%fineweb%'::text) OR (source = 'cc100_ms'::text)) THEN 'general_web'::text
WHEN (kind = 'encyclopedic'::text) THEN 'encyclopedic'::text
WHEN (kind = ANY (ARRAY['d1-logic'::text, 'd1-plan'::text, 'd1-math'::text, 'd1-estimate'::text])) THEN 'reasoning'::text
WHEN (kind = ANY (ARRAY['d2-openbook'::text, 'd3-tool'::text, 'd5-code'::text, 'long-form'::text])) THEN 'sft'::text
WHEN (kind = 'cultural'::text) THEN 'cultural'::text
WHEN (kind = 'news'::text) THEN 'news'::text
WHEN (kind = ANY (ARRAY['factual-qa'::text, 'parallel-translation'::text])) THEN 'dialogue'::text
ELSE 'other'::text
END
ORDER BY ((sum(
CASE
WHEN (text_inline IS NOT NULL) THEN ((array_length(regexp_split_to_array(TRIM(BOTH FROM text_inline), '\s+'::text), 1))::numeric * 1.3)
ELSE (((COALESCE(row_len_chars, 0))::numeric / 7.04) * 1.3)
END))::bigint) DESC;
--
-- Name: VIEW heal_pool_supply; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON VIEW public.heal_pool_supply IS 'Human-facing sanity check only — approximate token supply per kind-group in heal_pool, same estimator convention as heal_mix_export.py (words*1.3; CHARS_PER_WORD_BULK=7.04 for rows without text_inline, measured from /mnt/raid0/cpt_ms_bulk/filter_summary.json). Not read by the exporter itself.';
--
-- Name: kb_documents; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.kb_documents (
id bigint NOT NULL,
title text NOT NULL,
source_url text,
source_org text,
license text NOT NULL,
version_date date,
retrieval_date date DEFAULT CURRENT_DATE NOT NULL,
doc_type text NOT NULL,
content_hash text,
created_at timestamp with time zone DEFAULT now() NOT NULL,
CONSTRAINT kb_documents_doc_type_check CHECK ((doc_type = ANY (ARRAY['first-aid'::text, 'encyclopedic'::text, 'faq'::text, 'legal'::text])))
);
--
-- Name: TABLE kb_documents; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON TABLE public.kb_documents IS 'Knowledge-base document registry: real source/version/license metadata so a RAG answer can cite "per kb_documents.title (kb_documents.source_org), dated kb_documents.version_date, kb_documents.license" instead of just a free-text samples.source label. One row per distinct fetched document (article/guide/page), NOT per chunk — chunks.kb_doc_id (see below) links many chunks to one kb_documents row.';
--
-- Name: kb_documents_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
ALTER TABLE public.kb_documents ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
SEQUENCE NAME public.kb_documents_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);
--
-- Name: kinds; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.kinds (
id smallint NOT NULL,
name text NOT NULL
);
--
-- Name: kinds_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
ALTER TABLE public.kinds ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
SEQUENCE NAME public.kinds_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);
--
-- Name: label_audit; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.label_audit (
id bigint NOT NULL,
content_hash text NOT NULL,
column_name text NOT NULL,
old_value text,
new_value text,
pass_name text NOT NULL,
changed_at timestamp with time zone DEFAULT now() NOT NULL
);
--
-- Name: TABLE label_audit; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON TABLE public.label_audit IS 'Lineage trail for samples column changes. Populated BY CONVENTION (no trigger — avoids write-amplification on the hot `samples` table): each pipeline pass that mutates a column calls pipeline/audit_helper.py log_label_change()/bulk_log_label_changes() itself. Absence of rows for a given (content_hash, column) does not prove the value never changed — only that no pass has adopted the convention for that change yet.';
--
-- Name: label_audit_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
ALTER TABLE public.label_audit ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
SEQUENCE NAME public.label_audit_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);
--
-- Name: lang_quality_config; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.lang_quality_config (
lang text NOT NULL,
textbook_min double precision DEFAULT 0.40,
structural_min double precision DEFAULT 0.50,
composite_min double precision DEFAULT 0.55,
perplexity_head_max double precision,
perplexity_tail_min double precision,
set_by text,
notes text,
updated_at timestamp with time zone DEFAULT now()
);
--
-- Name: lang_token_budget; Type: VIEW; Schema: public; Owner: -
--
CREATE VIEW public.lang_token_budget AS
SELECT lang,
count(*) AS n_rows,
count(*) FILTER (WHERE (split = 'train'::text)) AS n_train,
sum(row_len_chars) AS total_chars,
round(((sum(row_len_chars))::numeric / 4.0)) AS approx_tokens,
round((avg(composite_score))::numeric, 3) AS avg_composite,
count(*) FILTER (WHERE (quality_tier = 'head'::text)) AS n_head
FROM public.samples
GROUP BY lang
ORDER BY (round(((sum(row_len_chars))::numeric / 4.0))) DESC NULLS LAST;
--
-- Name: langs; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.langs (
id smallint NOT NULL,
name text NOT NULL
);
--
-- Name: langs_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
ALTER TABLE public.langs ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
SEQUENCE NAME public.langs_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);
--
-- Name: licenses; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.licenses (
id smallint NOT NULL,
name text NOT NULL
);
--
-- Name: licenses_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
ALTER TABLE public.licenses ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
SEQUENCE NAME public.licenses_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);
--
-- Name: lora_pool_high; Type: VIEW; Schema: public; Owner: -
--
CREATE VIEW public.lora_pool_high AS
SELECT content_hash,
kind,
lang,
source,
minhash,
embedding,
sprapp_filter_score,
sprapp_filter_flagged,
quarantined,
verify_status,
register,
promoted,
blob_path,
row_len_chars,
created_at,
near_dup_of,
textbook_quality,
cultural_nuance,
cultural_markers,
minhash_algo,
license,
review_score,
generated_by_model,
reviewed_by_model,
generation_score,
structural_quality,
structural_signals,
split,
perplexity,
quality_tier,
composite_score,
composite_profile,
contaminated,
translated_from,
text_inline,
model_quality_score,
langid_pred,
langid_conf,
source_id,
usage_tags,
fts
FROM public.cpt_pool
WHERE (register = 'HIGH'::text);
--
-- Name: VIEW lora_pool_high; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON VIEW public.lora_pool_high IS 'Register-pure (HIGH) slice of cpt_pool — register-LoRA training only, never a CPT substitute.';
--
-- Name: lora_pool_low; Type: VIEW; Schema: public; Owner: -
--
CREATE VIEW public.lora_pool_low AS
SELECT content_hash,
kind,
lang,
source,
minhash,
embedding,
sprapp_filter_score,
sprapp_filter_flagged,
quarantined,
verify_status,
register,
promoted,
blob_path,
row_len_chars,
created_at,
near_dup_of,
textbook_quality,
cultural_nuance,
cultural_markers,
minhash_algo,
license,
review_score,
generated_by_model,
reviewed_by_model,
generation_score,
structural_quality,
structural_signals,
split,
perplexity,
quality_tier,
composite_score,
composite_profile,
contaminated,
translated_from,
text_inline,
model_quality_score,
langid_pred,
langid_conf,
source_id,
usage_tags,
fts
FROM public.cpt_pool
WHERE (register = 'LOW'::text);
--
-- Name: VIEW lora_pool_low; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON VIEW public.lora_pool_low IS 'Register-pure (LOW) slice of cpt_pool — register-LoRA training only, never a CPT substitute.';
--
-- Name: lora_pool_mid; Type: VIEW; Schema: public; Owner: -
--
CREATE VIEW public.lora_pool_mid AS
SELECT content_hash,
kind,
lang,
source,
minhash,
embedding,
sprapp_filter_score,
sprapp_filter_flagged,
quarantined,
verify_status,
register,
promoted,
blob_path,
row_len_chars,
created_at,
near_dup_of,
textbook_quality,
cultural_nuance,
cultural_markers,
minhash_algo,
license,
review_score,
generated_by_model,
reviewed_by_model,
generation_score,
structural_quality,
structural_signals,
split,
perplexity,
quality_tier,
composite_score,
composite_profile,
contaminated,
translated_from,
text_inline,
model_quality_score,
langid_pred,
langid_conf,
source_id,
usage_tags,
fts
FROM public.cpt_pool
WHERE (register = 'MID'::text);
--
-- Name: VIEW lora_pool_mid; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON VIEW public.lora_pool_mid IS 'Register-pure (MID) slice of cpt_pool — register-LoRA training only, never a CPT substitute.';
--
-- Name: model_format_spec; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.model_format_spec (
id bigint NOT NULL,
model_id text NOT NULL,
model_family text NOT NULL,
task_type text NOT NULL,
assistant_target_template text NOT NULL,
think_block_convention text,
eval_harness_ref text,
direction text,
example text,
notes text,
created_at timestamp with time zone DEFAULT now() NOT NULL,
updated_at timestamp with time zone DEFAULT now() NOT NULL,
CONSTRAINT model_format_spec_think_block_convention_check CHECK ((think_block_convention = ANY (ARRAY['none'::text, 'empty_marker_kept'::text, 'stripped_at_eval'::text, 'pending_verify'::text])))
);
--
-- Name: TABLE model_format_spec; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON TABLE public.model_format_spec IS 'Per-(model_id, task_type) assistant-target output-format registry. Generation + pretok pipelines look up the exact required output shape + eval-parse contract here so we never train the wrong assistant-target format. See header of pipeline/model_format_spec_schema.sql for the Nanbeige-3B SEA-HELM bug it encodes.';
--
-- Name: COLUMN model_format_spec.assistant_target_template; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON COLUMN public.model_format_spec.assistant_target_template IS 'Exact assistant-target output shape. {text} is the model-generated payload slot. Literal sentinels like ''clean-answer-no-think-prefix'' / ''rowc.selfscaffold.v1'' name a format contract rather than a fill template.';
--
-- Name: COLUMN model_format_spec.think_block_convention; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON COLUMN public.model_format_spec.think_block_convention IS 'How the ... block is handled in the assistant target: ''none'' = no think block at all (clean answer only); ''empty_marker_kept'' = the empty "\n\n\n\n" marker is intentionally retained but MUST be stripped by the parser and never leak into the parsed answer; ''stripped_at_eval'' = think block present in the SFT target but removed before the harness parses; ''pending_verify'' = convention not yet decided — the verify stream chooses ''none'' vs ''empty_marker_kept''; current live state is the leak BUG.';
--
-- Name: COLUMN model_format_spec.direction; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON COLUMN public.model_format_spec.direction IS 'Translation direction (source->target), e.g. ''ms->en''. NULL for non-directional axes.';
--
-- Name: model_format_spec_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
CREATE SEQUENCE public.model_format_spec_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
--
-- Name: model_format_spec_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--
ALTER SEQUENCE public.model_format_spec_id_seq OWNED BY public.model_format_spec.id;
--
-- Name: models; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.models (
id smallint NOT NULL,
name text NOT NULL
);
--
-- Name: models_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
ALTER TABLE public.models ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
SEQUENCE NAME public.models_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);
--
-- Name: ms_train_gold; Type: VIEW; Schema: public; Owner: -
--
CREATE VIEW public.ms_train_gold AS
SELECT content_hash,
kind,
lang,
source,
minhash,
embedding,
sprapp_filter_score,
sprapp_filter_flagged,
quarantined,
verify_status,
register,
promoted,
blob_path,
row_len_chars,
created_at,
near_dup_of,
textbook_quality,
cultural_nuance,
cultural_markers,
minhash_algo,
license,
review_score,
generated_by_model,
reviewed_by_model,
generation_score,
structural_quality,
structural_signals,
split,
perplexity,
quality_tier,
composite_score,
composite_profile,
contaminated,
translated_from,
text_inline,
model_quality_score,
langid_pred,
langid_conf
FROM public.samples
WHERE ((lang = 'ms'::text) AND (split = 'train'::text) AND (NOT contaminated) AND (NOT quarantined) AND (near_dup_of IS NULL) AND (verify_status IS DISTINCT FROM 'fail'::text) AND ((structural_quality IS NULL) OR (structural_quality >= (0.5)::double precision)) AND (license = ANY (ARRAY['Apache-2.0'::text, 'MIT'::text, 'CC0'::text, 'CC-BY-4.0'::text, 'ODC-By-1.0'::text])));
--
-- Name: near_dup_scan_progress; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.near_dup_scan_progress (
id integer NOT NULL,
table_name text NOT NULL,
kind text,
lang text,
source text,
label_provenance text,
minhash_algo text NOT NULL,
threshold double precision NOT NULL,
row_count integer,
dup_marked integer,
started_at timestamp with time zone DEFAULT now(),
finished_at timestamp with time zone,
status text DEFAULT 'running'::text
);
--
-- Name: near_dup_scan_progress_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
CREATE SEQUENCE public.near_dup_scan_progress_id_seq
AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
--
-- Name: near_dup_scan_progress_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--
ALTER SEQUENCE public.near_dup_scan_progress_id_seq OWNED BY public.near_dup_scan_progress.id;
--
-- Name: parked_datasets; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.parked_datasets (
id smallint NOT NULL,
hf_repo text NOT NULL,
name text NOT NULL,
decline_reason text,
decline_category text,
cleanroom_viable boolean,
cleanroom_notes text,
cleanroom_output_source text,
discovered_date date,
reviewed_by text DEFAULT 'agent-review'::text,
CONSTRAINT parked_datasets_decline_category_check CHECK ((decline_category = ANY (ARRAY['license-unclear'::text, 'language-mismatch'::text, 'synthetic-competing-weights'::text, 'other'::text])))
);
--
-- Name: parked_datasets_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
ALTER TABLE public.parked_datasets ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
SEQUENCE NAME public.parked_datasets_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);
--
-- Name: pii_composition; Type: VIEW; Schema: public; Owner: -
--
CREATE VIEW public.pii_composition AS
SELECT lang,
unnest(pii_types) AS pii_type,
count(*) AS n
FROM public.samples
WHERE (pii_detected = true)
GROUP BY lang, (unnest(pii_types))
ORDER BY (count(*)) DESC;
--
-- Name: processing_state; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.processing_state (
content_hash text NOT NULL,
tbl text NOT NULL,
pass_name text NOT NULL,
pass_version text NOT NULL,
status text DEFAULT 'done'::text NOT NULL,
detail text,
updated_at timestamp with time zone DEFAULT now()
);
--
-- Name: quality_profiles; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.quality_profiles (
name text NOT NULL,
weights jsonb NOT NULL,
description text,
is_active boolean DEFAULT false,
created_at timestamp with time zone DEFAULT now()
);
--
-- Name: quality_tiers; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.quality_tiers (
id smallint NOT NULL,
name text NOT NULL
);
--
-- Name: quality_tiers_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
ALTER TABLE public.quality_tiers ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
SEQUENCE NAME public.quality_tiers_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);
--
-- Name: rag_pool; Type: VIEW; Schema: public; Owner: -
--
CREATE VIEW public.rag_pool AS
SELECT content_hash,
kind,
lang,
source,
minhash,
embedding,
sprapp_filter_score,
sprapp_filter_flagged,
quarantined,
verify_status,
register,
promoted,
blob_path,
row_len_chars,
created_at,
near_dup_of,
textbook_quality,
cultural_nuance,
cultural_markers,
minhash_algo,
license,
review_score,
generated_by_model,
reviewed_by_model,
generation_score,
structural_quality,
structural_signals,
split,
perplexity,
quality_tier,
composite_score,
composite_profile,
contaminated,
translated_from,
text_inline,
model_quality_score,
langid_pred,
langid_conf,
source_id,
usage_tags,
fts
FROM public.samples
WHERE (((kind = ANY (ARRAY['encyclopedic'::text, 'news'::text, 'cultural'::text])) OR (source ~~* '%wiki%'::text) OR (source ~~* '%fineweb%'::text) OR (source ~~* '%news%'::text)) AND (embedding IS NOT NULL) AND (COALESCE(quarantined, false) = false) AND (COALESCE(contaminated, false) = false));
--
-- Name: VIEW rag_pool; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON VIEW public.rag_pool IS 'RAG retrieval pool: kind in (encyclopedic,news,cultural) OR source matches known factual-crawl patterns (wiki/fineweb/news), requires embedding NOT NULL. NOTE: as of 2026-07-04 no rows carry kind=encyclopedic/news yet (legacy ingests labelled webtext/unknown) — the source-pattern clause is the effective filter today; re-tag `kind` upstream to tighten.';
--
-- Name: reg_backfill_staging; Type: TABLE; Schema: public; Owner: -
--
CREATE UNLOGGED TABLE public.reg_backfill_staging (
content_hash text NOT NULL,
register text NOT NULL
);
--
-- Name: registers; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.registers (
id smallint NOT NULL,
name text NOT NULL
);
--
-- Name: registers_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
ALTER TABLE public.registers ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
SEQUENCE NAME public.registers_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);
--
-- Name: restricted_corpus_hashes; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.restricted_corpus_hashes (
shingle_hash text NOT NULL,
source_name text NOT NULL,
source_kind text DEFAULT 'parked_dataset'::text NOT NULL,
added_at timestamp with time zone DEFAULT now(),
notes text
);
--
-- Name: review_batch_rows; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.review_batch_rows (
batch_id text NOT NULL,
content_hash text NOT NULL,
"position" integer NOT NULL,
reviewed boolean DEFAULT false NOT NULL
);
--
-- Name: TABLE review_batch_rows; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON TABLE public.review_batch_rows IS 'The (up to 165) content_hash rows assigned to one batch, in sampled order (position). reviewed flips to TRUE once the reviewer submits a score for that row via POST /survey/submit, which also writes the real score into the existing `reviews` table (pipeline/reviews_schema.sql) — this table is purely batch/progress bookkeeping, never the score of record.';
--
-- Name: review_batches; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.review_batches (
batch_id text NOT NULL,
created_at timestamp with time zone DEFAULT now() NOT NULL,
created_by text NOT NULL,
dimension text DEFAULT 'overall'::text NOT NULL,
rubric_version text DEFAULT 'r1'::text NOT NULL
);
--
-- Name: TABLE review_batches; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON TABLE public.review_batches IS 'One row per calibration-survey session a human reviewer starts. A reviewer with an incomplete batch (unreviewed rows remain) resumes it rather than getting a fresh 165-row sample — see serving/perahu_survey.py get_or_create_batch().';
--
-- Name: reviews; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.reviews (
id bigint NOT NULL,
content_hash text NOT NULL,
judge smallint NOT NULL,
dimension public.review_dimension DEFAULT 'overall'::public.review_dimension NOT NULL,
score double precision NOT NULL,
reason text,
rubric_version text DEFAULT 'r1'::text NOT NULL,
created_at timestamp with time zone DEFAULT now() NOT NULL,
CONSTRAINT reviews_score_check CHECK (((score >= (0)::double precision) AND (score <= (1)::double precision)))
);
--
-- Name: TABLE reviews; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON TABLE public.reviews IS 'Multi-judge, multi-dimension review layer. Many rows per content_hash (one per judge x dimension x rubric_version). samples.review_score / samples.reviewed_by_model are a CACHED AGGREGATE of the overall-dimension consensus (see review_consensus view + reviews_helper.refresh_review_score_cache) - kept for backward compat, THIS TABLE is the source of truth going forward.';
--
-- Name: review_consensus; Type: VIEW; Schema: public; Owner: -
--
CREATE VIEW public.review_consensus AS
SELECT content_hash,
dimension,
rubric_version,
count(*) AS n_judges,
avg(score) AS avg_score,
percentile_cont((0.5)::double precision) WITHIN GROUP (ORDER BY score) AS median_score,
stddev_samp(score) AS score_stddev
FROM public.reviews
GROUP BY content_hash, dimension, rubric_version;
--
-- Name: VIEW review_consensus; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON VIEW public.review_consensus IS 'Per (content_hash, dimension, rubric_version) aggregate across all judges: n_judges, avg/median score, stddev as a disagreement measure (NULL with a single judge). samples.review_score is refreshed FROM this view''s dimension=''overall'' rows — see reviews_helper.refresh_review_score_cache().';
--
-- Name: review_disagreement; Type: VIEW; Schema: public; Owner: -
--
CREATE VIEW public.review_disagreement AS
SELECT content_hash,
dimension,
rubric_version,
n_judges,
avg_score,
median_score,
score_stddev
FROM public.review_consensus
WHERE ((n_judges >= 2) AND (score_stddev > (0.15)::double precision));
--
-- Name: VIEW review_disagreement; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON VIEW public.review_disagreement IS 'Ambiguity queue: (content_hash, dimension, rubric_version) cells where >=2 judges scored the same row and disagree by stddev > 0.15. Feeds active_learning_sample.py as a review-priority signal (judges disagreeing is itself informative — these rows are the ones worth a tie-breaking human/LLM pass or extra scrutiny before promotion).';
--
-- Name: reviews_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
ALTER TABLE public.reviews ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
SEQUENCE NAME public.reviews_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);
--
-- Name: rl_coding_rollouts; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.rl_coding_rollouts (
rollout_id bigint NOT NULL,
task_id text NOT NULL,
trajectory_id text,
format text DEFAULT 'rowc.selfscaffold.v1'::text,
role_in_dataset text,
model_checkpoint text,
training_step bigint,
behavior_step bigint,
staleness integer,
staleness_weight real,
trajectory_blob_path text,
scaffold_text text,
rollout_trace text,
stage1_token_count integer,
stage2_token_count integer,
obs_token_count integer,
trainable_token_count integer,
milestone_reached smallint,
milestone_bitmap smallint,
milestone_after_last smallint,
reward_dense real,
reward_milestones jsonb,
reward_verifier real,
reward_judge real,
reward_total real,
grpo_group_id text,
advantage real,
stage1_credit_weight real DEFAULT 1.0,
stage2_credit_weight real DEFAULT 1.0,
flagged_cheating text,
cheating_layer smallint,
excluded_from_advantage boolean DEFAULT false,
env_run_id text,
created_at timestamp with time zone DEFAULT now(),
ingest_origin text
);
--
-- Name: rl_coding_rollouts_rollout_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
ALTER TABLE public.rl_coding_rollouts ALTER COLUMN rollout_id ADD GENERATED ALWAYS AS IDENTITY (
SEQUENCE NAME public.rl_coding_rollouts_rollout_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);
--
-- Name: rl_coding_tasks; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.rl_coding_tasks (
task_id text NOT NULL,
source_id smallint,
repo_url text NOT NULL,
repo_license text,
base_commit text NOT NULL,
generator_method text,
task_description text NOT NULL,
category text,
difficulty text,
language text,
test_command text NOT NULL,
failing_test_ids text[],
passing_test_ids text[],
gold_patch text,
gold_patch_source_model smallint,
harness_type text,
harness_ref text,
env_verified boolean DEFAULT false,
license_ok boolean,
build_command text,
lint_command text,
typecheck_command text,
k_of_n_threshold smallint,
milestone_weights jsonb,
test_report_format text,
withheld_paths text[],
trust_boundary_ref text,
allowed_tool_surface jsonb,
scaffold_seed text,
ingested_at timestamp with time zone DEFAULT now(),
notes text,
seed_key text
);
--
-- Name: safety_checks; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.safety_checks (
check_id bigint NOT NULL,
content_hash text NOT NULL,
arm text NOT NULL,
classifier text NOT NULL,
classifier_version text,
verdict text NOT NULL,
categories text[],
score double precision,
input_text_sha text,
translator text DEFAULT 'none'::text NOT NULL,
translator_version text,
check_method text NOT NULL,
run_id text NOT NULL,
checked_by text NOT NULL,
ingest_origin text NOT NULL,
checked_at timestamp with time zone DEFAULT now() NOT NULL,
notes text
);
--
-- Name: TABLE safety_checks; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON TABLE public.safety_checks IS 'Standardized external + internal safety-classifier verdicts over the Malay corpus. Signal-only (never a gate); LICENSE-SAFE: Aegis/Nemotron verdicts are eval/filter signals, NOT trained into model weights (Llama2/Gemma ToS non-compete). One row = (sample, arm, classifier, run). arm=raw_ms vs translated_en is the bias probe; eval_gold_en = Aegis own test split for calibration F1. checked_by/check_method/classifier_version/translator standardize the "checked/by-who/how" provenance. See docs/SAFETY_CROSSCHECK_PIPELINE.md.';
--
-- Name: safety_check_by_register; Type: VIEW; Schema: public; Owner: -
--
CREATE VIEW public.safety_check_by_register AS
SELECT s.register,
sc.classifier,
sc.arm,
count(*) AS n,
count(*) FILTER (WHERE (sc.verdict = 'unsafe'::text)) AS n_unsafe,
COALESCE(avg(
CASE
WHEN (sc.verdict = 'unsafe'::text) THEN 1.0
ELSE 0.0
END), 0.0) AS unsafe_rate
FROM (public.safety_checks sc
JOIN public.samples s ON ((s.content_hash = sc.content_hash)))
WHERE (sc.arm = ANY (ARRAY['raw_ms'::text, 'translated_en'::text]))
GROUP BY s.register, sc.classifier, sc.arm
ORDER BY s.register, sc.classifier, sc.arm;
--
-- Name: safety_check_composition; Type: VIEW; Schema: public; Owner: -
--
CREATE VIEW public.safety_check_composition AS
SELECT classifier,
arm,
verdict,
count(*) AS n
FROM public.safety_checks
GROUP BY classifier, arm, verdict
ORDER BY classifier, arm, verdict;
--
-- Name: safety_check_disagreement; Type: VIEW; Schema: public; Owner: -
--
CREATE VIEW public.safety_check_disagreement AS
SELECT a.content_hash,
a.arm,
a.run_id,
a.classifier AS clf_a,
a.verdict AS verdict_a,
b.classifier AS clf_b,
b.verdict AS verdict_b,
s.register,
s.source,
s.lang
FROM ((public.safety_checks a
JOIN public.safety_checks b ON (((a.content_hash = b.content_hash) AND (a.arm = b.arm) AND (a.run_id = b.run_id) AND (a.classifier < b.classifier))))
JOIN public.samples s ON ((s.content_hash = a.content_hash)))
WHERE ((a.verdict = 'unsafe'::text) <> (b.verdict = 'unsafe'::text))
ORDER BY a.content_hash;
--
-- Name: safety_check_raw_vs_translated; Type: VIEW; Schema: public; Owner: -
--
CREATE VIEW public.safety_check_raw_vs_translated AS
SELECT sc.classifier,
sc.run_id,
count(*) AS n,
count(*) FILTER (WHERE ((raw.verdict = 'unsafe'::text) AND (tr.verdict = 'unsafe'::text))) AS both_unsafe,
count(*) FILTER (WHERE ((raw.verdict <> 'unsafe'::text) AND (tr.verdict <> 'unsafe'::text))) AS both_other,
count(*) FILTER (WHERE ((raw.verdict = 'unsafe'::text) AND (tr.verdict <> 'unsafe'::text))) AS raw_only_unsafe,
count(*) FILTER (WHERE ((raw.verdict <> 'unsafe'::text) AND (tr.verdict = 'unsafe'::text))) AS trans_only_unsafe
FROM ((public.safety_checks sc
JOIN public.safety_checks raw ON (((raw.content_hash = sc.content_hash) AND (raw.classifier = sc.classifier) AND (raw.run_id = sc.run_id) AND (raw.arm = 'raw_ms'::text))))
JOIN public.safety_checks tr ON (((tr.content_hash = sc.content_hash) AND (tr.classifier = sc.classifier) AND (tr.run_id = sc.run_id) AND (tr.arm = 'translated_en'::text))))
GROUP BY sc.classifier, sc.run_id
ORDER BY sc.classifier, sc.run_id;
--
-- Name: safety_checks_check_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
CREATE SEQUENCE public.safety_checks_check_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
--
-- Name: safety_checks_check_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--
ALTER SEQUENCE public.safety_checks_check_id_seq OWNED BY public.safety_checks.check_id;
--
-- Name: sample_edits_staging; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.sample_edits_staging (
id bigint NOT NULL,
content_hash text NOT NULL,
field_name text NOT NULL,
old_value text,
new_value text NOT NULL,
edited_by text NOT NULL,
status text DEFAULT 'pending'::text NOT NULL,
created_at timestamp with time zone DEFAULT now() NOT NULL,
reviewed_at timestamp with time zone,
reviewed_by text,
CONSTRAINT sample_edits_staging_status_check CHECK ((status = ANY (ARRAY['pending'::text, 'approved'::text, 'rejected'::text, 'applied'::text])))
);
--
-- Name: TABLE sample_edits_staging; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON TABLE public.sample_edits_staging IS 'Google-Sign-In-gated manual field-edit staging queue. pending -> approved|rejected -> applied (applied performs the actual `UPDATE samples`). Distinct from the older username/password review_edits table (pipeline/review_edits_schema.sql) — see this file''s header for why they are kept separate.';
--
-- Name: sample_edits_staging_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
ALTER TABLE public.sample_edits_staging ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
SEQUENCE NAME public.sample_edits_staging_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);
--
-- Name: sample_feedback; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.sample_feedback (
id bigint NOT NULL,
content_hash text NOT NULL,
reporter text,
issue text NOT NULL,
detail text,
created_at timestamp with time zone DEFAULT now() NOT NULL,
resolved boolean DEFAULT false NOT NULL,
CONSTRAINT sample_feedback_issue_check CHECK ((issue = ANY (ARRAY['garbage'::text, 'wrong_lang'::text, 'license_concern'::text, 'factual_error'::text, 'quality'::text, 'other'::text])))
);
--
-- Name: TABLE sample_feedback; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON TABLE public.sample_feedback IS 'Consumer-reported issues against a content_hash. Fed by serving API POST /feedback (open) and drained via GET /feedback?unresolved=1 (auth). Wiring TODO: unresolved rows should feed pipeline/active_learning_sample.pyas a review-priority queue — not yet wired, see CURATION_DOCTRINE.md "Trust layer" section.';
--
-- Name: sample_feedback_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
ALTER TABLE public.sample_feedback ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
SEQUENCE NAME public.sample_feedback_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);
--
-- Name: search_pool; Type: VIEW; Schema: public; Owner: -
--
CREATE VIEW public.search_pool AS
SELECT content_hash,
kind,
lang,
source,
minhash,
embedding,
sprapp_filter_score,
sprapp_filter_flagged,
quarantined,
verify_status,
register,
promoted,
blob_path,
row_len_chars,
created_at,
near_dup_of,
textbook_quality,
cultural_nuance,
cultural_markers,
minhash_algo,
license,
review_score,
generated_by_model,
reviewed_by_model,
generation_score,
structural_quality,
structural_signals,
split,
perplexity,
quality_tier,
composite_score,
composite_profile,
contaminated,
translated_from,
text_inline,
model_quality_score,
langid_pred,
langid_conf,
source_id,
usage_tags,
fts
FROM public.samples
WHERE (embedding IS NOT NULL);
--
-- Name: VIEW search_pool; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON VIEW public.search_pool IS 'Offline semantic search index pool: embedding NOT NULL, ANY license — internal search/browse use only, must never be exported as a training or redistribution artifact regardless of license.';
--
-- Name: selection_algorithms; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.selection_algorithms (
name text NOT NULL,
description text NOT NULL,
target_use_case text NOT NULL,
script_reference text,
params_schema jsonb DEFAULT '{}'::jsonb NOT NULL,
created_at timestamp with time zone DEFAULT now() NOT NULL,
CONSTRAINT selection_algorithms_target_use_case_check CHECK ((target_use_case = ANY (ARRAY['CPT'::text, 'SFT'::text, 'quant-calibration'::text, 'eval-heldout'::text, 'RAG'::text, 'other'::text])))
);
--
-- Name: sft_pool; Type: VIEW; Schema: public; Owner: -
--
CREATE VIEW public.sft_pool AS
SELECT content_hash,
kind,
lang,
source,
minhash,
embedding,
sprapp_filter_score,
sprapp_filter_flagged,
quarantined,
verify_status,
register,
promoted,
blob_path,
row_len_chars,
created_at,
near_dup_of,
textbook_quality,
cultural_nuance,
cultural_markers,
minhash_algo,
license,
review_score,
generated_by_model,
reviewed_by_model,
generation_score,
structural_quality,
structural_signals,
split,
perplexity,
quality_tier,
composite_score,
composite_profile,
contaminated,
translated_from,
text_inline,
model_quality_score,
langid_pred,
langid_conf,
source_id,
usage_tags,
fts
FROM public.samples
WHERE ((kind = ANY (ARRAY['d1-logic'::text, 'd1-plan'::text, 'd1-math'::text, 'd1-estimate'::text, 'd2-openbook'::text, 'd3-tool'::text, 'd5-code'::text, 'long-form'::text])) AND ((verify_status = 'pass'::text) OR (verify_status IS NULL)) AND (COALESCE(review_score, model_quality_score, (0)::double precision) >= (0.6)::double precision) AND (license = ANY (ARRAY['Apache-2.0'::text, 'MIT'::text, 'CC0-1.0'::text])) AND (COALESCE(quarantined, false) = false) AND (COALESCE(contaminated, false) = false));
--
-- Name: VIEW sft_pool; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON VIEW public.sft_pool IS 'SFT pool: reasoning/code/tool/plan/estimate/long-form kinds, verify pass-or-null (verify_filter has not run on every kind), review_score (human) else model_quality_score >= 0.6, not quarantined/contaminated. License whitelist per 2026-07-04 policy ruling is STRICT (narrower than cpt_pool): Apache-2.0, MIT, CC0-1.0 only — no attribution/ShareAlike-encumbered licenses (ODC-By/CC-BY*) in SFT data, since instruction-tuned responses ship closer to end users and are harder to trace attribution obligations through.';
--
-- Name: shards; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.shards (
id integer NOT NULL,
path text NOT NULL
);
--
-- Name: shards_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
ALTER TABLE public.shards ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
SEQUENCE NAME public.shards_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);
--
-- Name: sources; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.sources (
id smallint NOT NULL,
name text NOT NULL,
origin_url text,
hf_repo text,
upstream_version text,
license text,
license_url text,
retrieval_date date,
method text,
notes text
);
--
-- Name: sources_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
ALTER TABLE public.sources ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
SEQUENCE NAME public.sources_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);
--
-- Name: splits; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.splits (
id smallint NOT NULL,
name text NOT NULL
);
--
-- Name: splits_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
ALTER TABLE public.splits ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
SEQUENCE NAME public.splits_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);
--
-- Name: sprapp_filter_categories; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.sprapp_filter_categories (
idx smallint NOT NULL,
name text NOT NULL
);
--
-- Name: sprapp_filter_corpus; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.sprapp_filter_corpus (
content_hash text NOT NULL,
text text NOT NULL,
expected_decision text,
expected_categories smallint[],
lineage text,
source text NOT NULL,
split text,
label_provenance text,
minhash bigint[],
embedding public.vector(768),
created_at timestamp with time zone DEFAULT now(),
id bigint NOT NULL,
near_dup_of bigint,
minhash_algo text DEFAULT 'datasketch_v1'::text,
license text DEFAULT 'proprietary-internal'::text,
lang text,
review_score double precision,
generated_by_model smallint,
reviewed_by_model smallint,
generation_score double precision,
ingest_origin text
);
--
-- Name: sprapp_filter_composition; Type: VIEW; Schema: public; Owner: -
--
CREATE VIEW public.sprapp_filter_composition AS
SELECT source,
split,
expected_decision,
count(*) AS n,
count(*) FILTER (WHERE (near_dup_of IS NOT NULL)) AS n_near_dup
FROM public.sprapp_filter_corpus
GROUP BY source, split, expected_decision
ORDER BY (count(*)) DESC;
--
-- Name: sprapp_filter_corpus_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
CREATE SEQUENCE public.sprapp_filter_corpus_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
--
-- Name: sprapp_filter_corpus_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--
ALTER SEQUENCE public.sprapp_filter_corpus_id_seq OWNED BY public.sprapp_filter_corpus.id;
--
-- Name: sprapp_filter_corpus_named; Type: VIEW; Schema: public; Owner: -
--
CREATE VIEW public.sprapp_filter_corpus_named AS
SELECT content_hash,
text,
expected_decision,
expected_categories,
lineage,
source,
split,
label_provenance,
minhash,
embedding,
created_at,
id,
near_dup_of,
ARRAY( SELECT c.name
FROM (unnest(f.expected_categories) cat_idx(cat_idx)
JOIN public.sprapp_filter_categories c ON ((c.idx = cat_idx.cat_idx)))) AS category_names
FROM public.sprapp_filter_corpus f;
--
-- Name: tb_st_backfill_checkpoint; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.tb_st_backfill_checkpoint (
shard text NOT NULL,
rows_seen integer NOT NULL,
rows_updated integer NOT NULL,
elapsed_s real NOT NULL,
done_at timestamp with time zone DEFAULT now() NOT NULL
);
--
-- Name: training_run_datasets; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.training_run_datasets (
id bigint NOT NULL,
run_id uuid NOT NULL,
snapshot_name text NOT NULL,
row_count_used bigint,
percent_of_total_mix numeric(6,3),
role text
);
--
-- Name: training_run_datasets_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
CREATE SEQUENCE public.training_run_datasets_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
--
-- Name: training_run_datasets_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--
ALTER SEQUENCE public.training_run_datasets_id_seq OWNED BY public.training_run_datasets.id;
--
-- Name: training_run_results; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.training_run_results (
id bigint NOT NULL,
run_id uuid NOT NULL,
benchmark_name text NOT NULL,
metric_name text NOT NULL,
metric_value double precision NOT NULL,
eval_date date,
eval_methodology_notes text
);
--
-- Name: training_run_results_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
CREATE SEQUENCE public.training_run_results_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
--
-- Name: training_run_results_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--
ALTER SEQUENCE public.training_run_results_id_seq OWNED BY public.training_run_results.id;
--
-- Name: training_run_unverified_datasets; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.training_run_unverified_datasets (
id bigint NOT NULL,
run_id uuid NOT NULL,
claimed_snapshot_name text NOT NULL,
row_count_used bigint,
percent_of_total_mix numeric(6,3),
role text
);
--
-- Name: training_run_unverified_datasets_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
CREATE SEQUENCE public.training_run_unverified_datasets_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
--
-- Name: training_run_unverified_datasets_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--
ALTER SEQUENCE public.training_run_unverified_datasets_id_seq OWNED BY public.training_run_unverified_datasets.id;
--
-- Name: training_runs; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.training_runs (
run_id uuid DEFAULT gen_random_uuid() NOT NULL,
submitted_at timestamp with time zone DEFAULT now() NOT NULL,
submitter_org text,
submitter_contact text,
model_name text NOT NULL,
architecture text,
base_model text,
training_type text NOT NULL,
framework text,
hardware text,
seeds jsonb DEFAULT '{}'::jsonb NOT NULL,
hyperparameters jsonb DEFAULT '{}'::jsonb NOT NULL,
status text DEFAULT 'pending_verification'::text NOT NULL,
verification_notes text,
notes text,
CONSTRAINT training_runs_status_check CHECK ((status = ANY (ARRAY['pending_verification'::text, 'verified'::text, 'rejected'::text]))),
CONSTRAINT training_runs_training_type_check CHECK ((training_type = ANY (ARRAY['CPT'::text, 'SFT'::text, 'RLHF'::text, 'DPO'::text, 'continued-pretrain'::text, 'other'::text])))
);
--
-- Name: zero_attrib_clean; Type: VIEW; Schema: public; Owner: -
--
CREATE VIEW public.zero_attrib_clean AS
SELECT content_hash,
kind,
lang,
source,
minhash,
embedding,
sprapp_filter_score,
sprapp_filter_flagged,
quarantined,
verify_status,
register,
promoted,
blob_path,
row_len_chars,
created_at,
near_dup_of,
textbook_quality,
cultural_nuance,
cultural_markers,
minhash_algo,
license,
review_score,
generated_by_model,
reviewed_by_model,
generation_score,
structural_quality,
structural_signals,
split,
perplexity,
quality_tier,
composite_score,
composite_profile,
contaminated,
translated_from,
text_inline,
model_quality_score,
langid_pred,
langid_conf,
source_id,
usage_tags,
fts,
minhash_packed,
embedding_h,
shard_id,
kind_id,
lang_id,
license_id,
register_id,
quality_tier_id,
split_id,
gen_temperature,
gen_max_tokens,
gen_repeat_penalty,
gen_seed,
gen_provider,
gen_quantization,
gen_prompt_variant,
pipeline_status,
pipeline_status_updated_at,
pipeline_status_reason,
restricted_overlap,
restricted_overlap_source,
capability_tags,
pii_detected,
pii_types,
input_tokens,
output_tokens,
token_count,
token_count_tokenizer,
best_of_n_score,
cpt_eligible,
sft_eligible,
ingest_origin
FROM public.samples
WHERE ((license = ANY (ARRAY['Apache-2.0'::text, 'MIT'::text, 'CC0'::text, 'BSD-3-Clause'::text])) AND (source !~~* '%minimax%'::text));
--
-- Name: model_format_spec id; Type: DEFAULT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.model_format_spec ALTER COLUMN id SET DEFAULT nextval('public.model_format_spec_id_seq'::regclass);
--
-- Name: near_dup_scan_progress id; Type: DEFAULT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.near_dup_scan_progress ALTER COLUMN id SET DEFAULT nextval('public.near_dup_scan_progress_id_seq'::regclass);
--
-- Name: safety_checks check_id; Type: DEFAULT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.safety_checks ALTER COLUMN check_id SET DEFAULT nextval('public.safety_checks_check_id_seq'::regclass);
--
-- Name: sprapp_filter_corpus id; Type: DEFAULT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.sprapp_filter_corpus ALTER COLUMN id SET DEFAULT nextval('public.sprapp_filter_corpus_id_seq'::regclass);
--
-- Name: training_run_datasets id; Type: DEFAULT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.training_run_datasets ALTER COLUMN id SET DEFAULT nextval('public.training_run_datasets_id_seq'::regclass);
--
-- Name: training_run_results id; Type: DEFAULT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.training_run_results ALTER COLUMN id SET DEFAULT nextval('public.training_run_results_id_seq'::regclass);
--
-- Name: training_run_unverified_datasets id; Type: DEFAULT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.training_run_unverified_datasets ALTER COLUMN id SET DEFAULT nextval('public.training_run_unverified_datasets_id_seq'::regclass);
--
-- Name: backfill_progress backfill_progress_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.backfill_progress
ADD CONSTRAINT backfill_progress_pkey PRIMARY KEY (pass_name, blob_path);
--
-- Name: chunks chunks_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.chunks
ADD CONSTRAINT chunks_pkey PRIMARY KEY (chunk_hash);
--
-- Name: coldstart_coding_rollouts coldstart_coding_rollouts_content_hash_key; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.coldstart_coding_rollouts
ADD CONSTRAINT coldstart_coding_rollouts_content_hash_key UNIQUE (content_hash);
--
-- Name: coldstart_coding_rollouts coldstart_coding_rollouts_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.coldstart_coding_rollouts
ADD CONSTRAINT coldstart_coding_rollouts_pkey PRIMARY KEY (rollout_id);
--
-- Name: coldstart_coding_rollouts coldstart_coding_rollouts_trajectory_id_key; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.coldstart_coding_rollouts
ADD CONSTRAINT coldstart_coding_rollouts_trajectory_id_key UNIQUE (trajectory_id);
--
-- Name: contamination_hashes contamination_hashes_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.contamination_hashes
ADD CONSTRAINT contamination_hashes_pkey PRIMARY KEY (content_hash);
--
-- Name: corpus_snapshot_members corpus_snapshot_members_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.corpus_snapshot_members
ADD CONSTRAINT corpus_snapshot_members_pkey PRIMARY KEY (snapshot, content_hash);
--
-- Name: corpus_snapshots corpus_snapshots_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.corpus_snapshots
ADD CONSTRAINT corpus_snapshots_pkey PRIMARY KEY (name);
--
-- Name: corpus_version corpus_version_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.corpus_version
ADD CONSTRAINT corpus_version_pkey PRIMARY KEY (version);
--
-- Name: kb_documents kb_documents_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.kb_documents
ADD CONSTRAINT kb_documents_pkey PRIMARY KEY (id);
--
-- Name: kinds kinds_name_key; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.kinds
ADD CONSTRAINT kinds_name_key UNIQUE (name);
--
-- Name: kinds kinds_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.kinds
ADD CONSTRAINT kinds_pkey PRIMARY KEY (id);
--
-- Name: label_audit label_audit_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.label_audit
ADD CONSTRAINT label_audit_pkey PRIMARY KEY (id);
--
-- Name: lang_quality_config lang_quality_config_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.lang_quality_config
ADD CONSTRAINT lang_quality_config_pkey PRIMARY KEY (lang);
--
-- Name: langs langs_name_key; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.langs
ADD CONSTRAINT langs_name_key UNIQUE (name);
--
-- Name: langs langs_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.langs
ADD CONSTRAINT langs_pkey PRIMARY KEY (id);
--
-- Name: licenses licenses_name_key; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.licenses
ADD CONSTRAINT licenses_name_key UNIQUE (name);
--
-- Name: licenses licenses_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.licenses
ADD CONSTRAINT licenses_pkey PRIMARY KEY (id);
--
-- Name: model_format_spec model_format_spec_model_id_task_type_key; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.model_format_spec
ADD CONSTRAINT model_format_spec_model_id_task_type_key UNIQUE (model_id, task_type);
--
-- Name: model_format_spec model_format_spec_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.model_format_spec
ADD CONSTRAINT model_format_spec_pkey PRIMARY KEY (id);
--
-- Name: models models_name_key; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.models
ADD CONSTRAINT models_name_key UNIQUE (name);
--
-- Name: models models_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.models
ADD CONSTRAINT models_pkey PRIMARY KEY (id);
--
-- Name: near_dup_scan_progress near_dup_scan_progress_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.near_dup_scan_progress
ADD CONSTRAINT near_dup_scan_progress_pkey PRIMARY KEY (id);
--
-- Name: near_dup_scan_progress near_dup_scan_progress_table_name_kind_lang_source_label_pr_key; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.near_dup_scan_progress
ADD CONSTRAINT near_dup_scan_progress_table_name_kind_lang_source_label_pr_key UNIQUE (table_name, kind, lang, source, label_provenance, minhash_algo, threshold);
--
-- Name: parked_datasets parked_datasets_hf_repo_key; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.parked_datasets
ADD CONSTRAINT parked_datasets_hf_repo_key UNIQUE (hf_repo);
--
-- Name: parked_datasets parked_datasets_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.parked_datasets
ADD CONSTRAINT parked_datasets_pkey PRIMARY KEY (id);
--
-- Name: processing_state processing_state_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.processing_state
ADD CONSTRAINT processing_state_pkey PRIMARY KEY (content_hash, tbl, pass_name);
--
-- Name: quality_profiles quality_profiles_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.quality_profiles
ADD CONSTRAINT quality_profiles_pkey PRIMARY KEY (name);
--
-- Name: quality_tiers quality_tiers_name_key; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.quality_tiers
ADD CONSTRAINT quality_tiers_name_key UNIQUE (name);
--
-- Name: quality_tiers quality_tiers_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.quality_tiers
ADD CONSTRAINT quality_tiers_pkey PRIMARY KEY (id);
--
-- Name: reg_backfill_staging reg_backfill_staging_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.reg_backfill_staging
ADD CONSTRAINT reg_backfill_staging_pkey PRIMARY KEY (content_hash);
--
-- Name: registers registers_name_key; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.registers
ADD CONSTRAINT registers_name_key UNIQUE (name);
--
-- Name: registers registers_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.registers
ADD CONSTRAINT registers_pkey PRIMARY KEY (id);
--
-- Name: restricted_corpus_hashes restricted_corpus_hashes_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.restricted_corpus_hashes
ADD CONSTRAINT restricted_corpus_hashes_pkey PRIMARY KEY (shingle_hash, source_name);
--
-- Name: review_batch_rows review_batch_rows_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.review_batch_rows
ADD CONSTRAINT review_batch_rows_pkey PRIMARY KEY (batch_id, content_hash);
--
-- Name: review_batches review_batches_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.review_batches
ADD CONSTRAINT review_batches_pkey PRIMARY KEY (batch_id);
--
-- Name: reviews reviews_content_hash_judge_dimension_rubric_version_key; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.reviews
ADD CONSTRAINT reviews_content_hash_judge_dimension_rubric_version_key UNIQUE (content_hash, judge, dimension, rubric_version);
--
-- Name: reviews reviews_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.reviews
ADD CONSTRAINT reviews_pkey PRIMARY KEY (id);
--
-- Name: rl_coding_rollouts rl_coding_rollouts_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.rl_coding_rollouts
ADD CONSTRAINT rl_coding_rollouts_pkey PRIMARY KEY (rollout_id);
--
-- Name: rl_coding_rollouts rl_coding_rollouts_trajectory_id_key; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.rl_coding_rollouts
ADD CONSTRAINT rl_coding_rollouts_trajectory_id_key UNIQUE (trajectory_id);
--
-- Name: rl_coding_tasks rl_coding_tasks_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.rl_coding_tasks
ADD CONSTRAINT rl_coding_tasks_pkey PRIMARY KEY (task_id);
--
-- Name: safety_checks safety_checks_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.safety_checks
ADD CONSTRAINT safety_checks_pkey PRIMARY KEY (check_id);
--
-- Name: sample_edits_staging sample_edits_staging_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.sample_edits_staging
ADD CONSTRAINT sample_edits_staging_pkey PRIMARY KEY (id);
--
-- Name: sample_feedback sample_feedback_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.sample_feedback
ADD CONSTRAINT sample_feedback_pkey PRIMARY KEY (id);
--
-- Name: samples samples_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.samples
ADD CONSTRAINT samples_pkey PRIMARY KEY (content_hash);
--
-- Name: selection_algorithms selection_algorithms_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.selection_algorithms
ADD CONSTRAINT selection_algorithms_pkey PRIMARY KEY (name);
--
-- Name: shards shards_path_key; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.shards
ADD CONSTRAINT shards_path_key UNIQUE (path);
--
-- Name: shards shards_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.shards
ADD CONSTRAINT shards_pkey PRIMARY KEY (id);
--
-- Name: sources sources_name_key; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.sources
ADD CONSTRAINT sources_name_key UNIQUE (name);
--
-- Name: sources sources_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.sources
ADD CONSTRAINT sources_pkey PRIMARY KEY (id);
--
-- Name: splits splits_name_key; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.splits
ADD CONSTRAINT splits_name_key UNIQUE (name);
--
-- Name: splits splits_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.splits
ADD CONSTRAINT splits_pkey PRIMARY KEY (id);
--
-- Name: sprapp_filter_categories sprapp_filter_categories_name_key; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.sprapp_filter_categories
ADD CONSTRAINT sprapp_filter_categories_name_key UNIQUE (name);
--
-- Name: sprapp_filter_categories sprapp_filter_categories_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.sprapp_filter_categories
ADD CONSTRAINT sprapp_filter_categories_pkey PRIMARY KEY (idx);
--
-- Name: sprapp_filter_corpus sprapp_filter_corpus_hash_provenance_uniq; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.sprapp_filter_corpus
ADD CONSTRAINT sprapp_filter_corpus_hash_provenance_uniq UNIQUE (content_hash, label_provenance);
--
-- Name: sprapp_filter_corpus sprapp_filter_corpus_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.sprapp_filter_corpus
ADD CONSTRAINT sprapp_filter_corpus_pkey PRIMARY KEY (id);
--
-- Name: tb_st_backfill_checkpoint tb_st_backfill_checkpoint_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.tb_st_backfill_checkpoint
ADD CONSTRAINT tb_st_backfill_checkpoint_pkey PRIMARY KEY (shard);
--
-- Name: training_run_datasets training_run_datasets_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.training_run_datasets
ADD CONSTRAINT training_run_datasets_pkey PRIMARY KEY (id);
--
-- Name: training_run_results training_run_results_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.training_run_results
ADD CONSTRAINT training_run_results_pkey PRIMARY KEY (id);
--
-- Name: training_run_unverified_datasets training_run_unverified_datasets_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.training_run_unverified_datasets
ADD CONSTRAINT training_run_unverified_datasets_pkey PRIMARY KEY (id);
--
-- Name: training_runs training_runs_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.training_runs
ADD CONSTRAINT training_runs_pkey PRIMARY KEY (run_id);
--
-- Name: idx_ccr_domain; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_ccr_domain ON public.coldstart_coding_rollouts USING btree (domain, test_passed);
--
-- Name: idx_ccr_gated; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_ccr_gated ON public.coldstart_coding_rollouts USING btree (test_gated) WHERE test_gated;
--
-- Name: idx_ccr_source; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_ccr_source ON public.coldstart_coding_rollouts USING btree (source);
--
-- Name: idx_ccr_teacher; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_ccr_teacher ON public.coldstart_coding_rollouts USING btree (teacher_model);
--
-- Name: idx_chunks_kb_doc_id; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_chunks_kb_doc_id ON public.chunks USING btree (kb_doc_id);
--
-- Name: idx_chunks_lang; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_chunks_lang ON public.chunks USING btree (lang);
--
-- Name: idx_chunks_parent_hash; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_chunks_parent_hash ON public.chunks USING btree (parent_hash);
--
-- Name: idx_contam_evalset; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_contam_evalset ON public.contamination_hashes USING btree (eval_set);
--
-- Name: idx_corpus_snapshots_selection_algorithm; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_corpus_snapshots_selection_algorithm ON public.corpus_snapshots USING btree (selection_algorithm);
--
-- Name: idx_kb_documents_content_hash; Type: INDEX; Schema: public; Owner: -
--
CREATE UNIQUE INDEX idx_kb_documents_content_hash ON public.kb_documents USING btree (content_hash) WHERE (content_hash IS NOT NULL);
--
-- Name: idx_kb_documents_org; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_kb_documents_org ON public.kb_documents USING btree (source_org);
--
-- Name: idx_kb_documents_type; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_kb_documents_type ON public.kb_documents USING btree (doc_type);
--
-- Name: idx_label_audit_hash_time; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_label_audit_hash_time ON public.label_audit USING btree (content_hash, changed_at);
--
-- Name: idx_parked_datasets_category; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_parked_datasets_category ON public.parked_datasets USING btree (decline_category);
--
-- Name: idx_parked_datasets_cleanroom_viable; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_parked_datasets_cleanroom_viable ON public.parked_datasets USING btree (cleanroom_viable);
--
-- Name: idx_procstate_pass; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_procstate_pass ON public.processing_state USING btree (tbl, pass_name, pass_version);
--
-- Name: idx_restricted_hashes_kind; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_restricted_hashes_kind ON public.restricted_corpus_hashes USING btree (source_kind);
--
-- Name: idx_restricted_hashes_source; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_restricted_hashes_source ON public.restricted_corpus_hashes USING btree (source_name);
--
-- Name: idx_review_batch_rows_unreviewed; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_review_batch_rows_unreviewed ON public.review_batch_rows USING btree (batch_id) WHERE (NOT reviewed);
--
-- Name: idx_review_batches_created_by; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_review_batches_created_by ON public.review_batches USING btree (created_by);
--
-- Name: idx_reviews_content_hash; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_reviews_content_hash ON public.reviews USING btree (content_hash);
--
-- Name: idx_reviews_judge_created; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_reviews_judge_created ON public.reviews USING btree (judge, created_at);
--
-- Name: idx_rl_coding_rollouts_clean; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_rl_coding_rollouts_clean ON public.rl_coding_rollouts USING btree (grpo_group_id) WHERE (NOT excluded_from_advantage);
--
-- Name: idx_rl_coding_rollouts_group; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_rl_coding_rollouts_group ON public.rl_coding_rollouts USING btree (grpo_group_id);
--
-- Name: idx_rl_coding_rollouts_milestone; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_rl_coding_rollouts_milestone ON public.rl_coding_rollouts USING btree (milestone_reached);
--
-- Name: idx_rl_coding_rollouts_step; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_rl_coding_rollouts_step ON public.rl_coding_rollouts USING btree (training_step);
--
-- Name: idx_rl_coding_rollouts_task; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_rl_coding_rollouts_task ON public.rl_coding_rollouts USING btree (task_id);
--
-- Name: idx_rl_coding_tasks_category; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_rl_coding_tasks_category ON public.rl_coding_tasks USING btree (category, difficulty);
--
-- Name: idx_rl_coding_tasks_env_verified; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_rl_coding_tasks_env_verified ON public.rl_coding_tasks USING btree (env_verified) WHERE env_verified;
--
-- Name: idx_rl_coding_tasks_license_ok; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_rl_coding_tasks_license_ok ON public.rl_coding_tasks USING btree (license_ok) WHERE license_ok;
--
-- Name: idx_rl_coding_tasks_rl_ready; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_rl_coding_tasks_rl_ready ON public.rl_coding_tasks USING btree (env_verified, license_ok) WHERE (env_verified AND license_ok);
--
-- Name: idx_rl_coding_tasks_source; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_rl_coding_tasks_source ON public.rl_coding_tasks USING btree (source_id);
--
-- Name: idx_safety_checks_arm; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_safety_checks_arm ON public.safety_checks USING btree (arm);
--
-- Name: idx_safety_checks_cats; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_safety_checks_cats ON public.safety_checks USING gin (categories);
--
-- Name: idx_safety_checks_checked_by; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_safety_checks_checked_by ON public.safety_checks USING btree (checked_by);
--
-- Name: idx_safety_checks_classifier; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_safety_checks_classifier ON public.safety_checks USING btree (classifier);
--
-- Name: idx_safety_checks_run; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_safety_checks_run ON public.safety_checks USING btree (run_id);
--
-- Name: idx_safety_checks_translator; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_safety_checks_translator ON public.safety_checks USING btree (translator);
--
-- Name: idx_safety_checks_verdict; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_safety_checks_verdict ON public.safety_checks USING btree (verdict);
--
-- Name: idx_sample_edits_staging_content_hash; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_sample_edits_staging_content_hash ON public.sample_edits_staging USING btree (content_hash);
--
-- Name: idx_sample_edits_staging_status; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_sample_edits_staging_status ON public.sample_edits_staging USING btree (status);
--
-- Name: idx_sample_feedback_hash; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_sample_feedback_hash ON public.sample_feedback USING btree (content_hash);
--
-- Name: idx_sample_feedback_unresolved; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_sample_feedback_unresolved ON public.sample_feedback USING btree (resolved, created_at) WHERE (NOT resolved);
--
-- Name: idx_samples_analytics_source_cover; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_analytics_source_cover ON public.samples USING btree (source) INCLUDE (composite_score, textbook_quality, structural_quality, cultural_nuance);
--
-- Name: idx_samples_capability_tags; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_capability_tags ON public.samples USING gin (capability_tags);
--
-- Name: idx_samples_capability_tags_notnull; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_capability_tags_notnull ON public.samples USING btree (content_hash) WHERE (capability_tags IS NOT NULL);
--
-- Name: idx_samples_composite; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_composite ON public.samples USING btree (composite_score);
--
-- Name: idx_samples_composition_cover; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_composition_cover ON public.samples USING btree (kind, lang, source) INCLUDE (promoted, quarantined);
--
-- Name: idx_samples_contaminated; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_contaminated ON public.samples USING btree (contaminated) WHERE contaminated;
--
-- Name: idx_samples_cpt_eligible; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_cpt_eligible ON public.samples USING btree (cpt_eligible) WHERE cpt_eligible;
--
-- Name: idx_samples_cultural_nuance; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_cultural_nuance ON public.samples USING btree (cultural_nuance) WHERE cultural_nuance;
--
-- Name: idx_samples_fts; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_fts ON public.samples USING gin (fts);
--
-- Name: idx_samples_gen_prompt_variant; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_gen_prompt_variant ON public.samples USING btree (gen_prompt_variant);
--
-- Name: idx_samples_gen_provider; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_gen_provider ON public.samples USING btree (gen_provider);
--
-- Name: idx_samples_gen_quantization; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_gen_quantization ON public.samples USING btree (gen_quantization);
--
-- Name: idx_samples_generated_by; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_generated_by ON public.samples USING btree (generated_by_model);
--
-- Name: idx_samples_input_tokens; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_input_tokens ON public.samples USING btree (input_tokens) WHERE (input_tokens IS NOT NULL);
--
-- Name: idx_samples_kind_id; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_kind_id ON public.samples USING btree (kind_id);
--
-- Name: idx_samples_kind_lang; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_kind_lang ON public.samples USING btree (kind, lang);
--
-- Name: idx_samples_lang_id; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_lang_id ON public.samples USING btree (lang_id);
--
-- Name: idx_samples_license; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_license ON public.samples USING btree (license);
--
-- Name: idx_samples_license_id; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_license_id ON public.samples USING btree (license_id);
--
-- Name: idx_samples_model_quality_score; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_model_quality_score ON public.samples USING btree (model_quality_score);
--
-- Name: idx_samples_near_dup; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_near_dup ON public.samples USING btree (near_dup_of) WHERE (near_dup_of IS NOT NULL);
--
-- Name: idx_samples_output_tokens; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_output_tokens ON public.samples USING btree (output_tokens) WHERE (output_tokens IS NOT NULL);
--
-- Name: idx_samples_pii_detected; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_pii_detected ON public.samples USING btree (pii_detected) WHERE (pii_detected = true);
--
-- Name: idx_samples_pii_detected_full; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_pii_detected_full ON public.samples USING btree (pii_detected);
--
-- Name: idx_samples_pii_types; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_pii_types ON public.samples USING gin (pii_types);
--
-- Name: idx_samples_pipeline_status; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_pipeline_status ON public.samples USING btree (pipeline_status);
--
-- Name: idx_samples_promoted; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_promoted ON public.samples USING btree (promoted);
--
-- Name: idx_samples_quality_tier; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_quality_tier ON public.samples USING btree (quality_tier);
--
-- Name: idx_samples_quality_tier_id; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_quality_tier_id ON public.samples USING btree (quality_tier_id);
--
-- Name: idx_samples_quarantined; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_quarantined ON public.samples USING btree (quarantined) WHERE quarantined;
--
-- Name: idx_samples_register; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_register ON public.samples USING btree (register);
--
-- Name: idx_samples_register_id; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_register_id ON public.samples USING btree (register_id);
--
-- Name: idx_samples_restricted_overlap; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_restricted_overlap ON public.samples USING btree (restricted_overlap) WHERE restricted_overlap;
--
-- Name: idx_samples_review_score; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_review_score ON public.samples USING btree (review_score);
--
-- Name: idx_samples_reviewed_by; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_reviewed_by ON public.samples USING btree (reviewed_by_model);
--
-- Name: idx_samples_sft_eligible; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_sft_eligible ON public.samples USING btree (sft_eligible) WHERE sft_eligible;
--
-- Name: idx_samples_shard_id; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_shard_id ON public.samples USING btree (shard_id);
--
-- Name: idx_samples_source; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_source ON public.samples USING btree (source);
--
-- Name: idx_samples_split; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_split ON public.samples USING btree (split);
--
-- Name: idx_samples_split_id; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_split_id ON public.samples USING btree (split_id);
--
-- Name: idx_samples_sprapp_filter_flagged; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_sprapp_filter_flagged ON public.samples USING gin (sprapp_filter_flagged);
--
-- Name: idx_samples_structural_quality; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_structural_quality ON public.samples USING btree (structural_quality);
--
-- Name: idx_samples_textbook_quality; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_textbook_quality ON public.samples USING btree (textbook_quality);
--
-- Name: idx_samples_token_count; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_token_count ON public.samples USING btree (token_count) WHERE (token_count IS NOT NULL);
--
-- Name: idx_samples_translated_from; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_translated_from ON public.samples USING btree (translated_from) WHERE (translated_from IS NOT NULL);
--
-- Name: idx_samples_usage_tags; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_samples_usage_tags ON public.samples USING gin (usage_tags);
--
-- Name: idx_sfc_categories; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_sfc_categories ON public.sprapp_filter_corpus USING gin (expected_categories);
--
-- Name: idx_sfc_content_hash; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_sfc_content_hash ON public.sprapp_filter_corpus USING btree (content_hash);
--
-- Name: idx_sfc_generated_by; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_sfc_generated_by ON public.sprapp_filter_corpus USING btree (generated_by_model);
--
-- Name: idx_sfc_lang; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_sfc_lang ON public.sprapp_filter_corpus USING btree (lang);
--
-- Name: idx_sfc_license; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_sfc_license ON public.sprapp_filter_corpus USING btree (license);
--
-- Name: idx_sfc_lineage; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_sfc_lineage ON public.sprapp_filter_corpus USING btree (lineage);
--
-- Name: idx_sfc_near_dup; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_sfc_near_dup ON public.sprapp_filter_corpus USING btree (near_dup_of) WHERE (near_dup_of IS NOT NULL);
--
-- Name: idx_sfc_review_score; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_sfc_review_score ON public.sprapp_filter_corpus USING btree (review_score);
--
-- Name: idx_sfc_reviewed_by; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_sfc_reviewed_by ON public.sprapp_filter_corpus USING btree (reviewed_by_model);
--
-- Name: idx_sfc_source_split; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_sfc_source_split ON public.sprapp_filter_corpus USING btree (source, split);
--
-- Name: rl_coding_rollouts_ingest_origin_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX rl_coding_rollouts_ingest_origin_idx ON public.rl_coding_rollouts USING btree (ingest_origin);
--
-- Name: safety_checks_uniq; Type: INDEX; Schema: public; Owner: -
--
CREATE UNIQUE INDEX safety_checks_uniq ON public.safety_checks USING btree (content_hash, arm, classifier, run_id);
--
-- Name: samples_ingest_origin_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX samples_ingest_origin_idx ON public.samples USING btree (ingest_origin);
--
-- Name: samples_source_id_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX samples_source_id_idx ON public.samples USING btree (source_id);
--
-- Name: sprapp_filter_corpus_ingest_origin_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX sprapp_filter_corpus_ingest_origin_idx ON public.sprapp_filter_corpus USING btree (ingest_origin);
--
-- Name: training_runs_model_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX training_runs_model_idx ON public.training_runs USING btree (model_name);
--
-- Name: training_runs_status_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX training_runs_status_idx ON public.training_runs USING btree (status);
--
-- Name: training_runs_submitted_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX training_runs_submitted_idx ON public.training_runs USING btree (submitted_at DESC);
--
-- Name: trd_run_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX trd_run_idx ON public.training_run_datasets USING btree (run_id);
--
-- Name: trd_snapshot_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX trd_snapshot_idx ON public.training_run_datasets USING btree (snapshot_name);
--
-- Name: trr_benchmark_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX trr_benchmark_idx ON public.training_run_results USING btree (benchmark_name);
--
-- Name: trr_run_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX trr_run_idx ON public.training_run_results USING btree (run_id);
--
-- Name: trud_run_idx; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX trud_run_idx ON public.training_run_unverified_datasets USING btree (run_id);
--
-- Name: model_format_spec trg_model_format_spec_touch; Type: TRIGGER; Schema: public; Owner: -
--
CREATE TRIGGER trg_model_format_spec_touch BEFORE UPDATE ON public.model_format_spec FOR EACH ROW EXECUTE FUNCTION public.model_format_spec_touch_updated_at();
--
-- Name: chunks chunks_kb_doc_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.chunks
ADD CONSTRAINT chunks_kb_doc_id_fkey FOREIGN KEY (kb_doc_id) REFERENCES public.kb_documents(id);
--
-- Name: chunks chunks_parent_hash_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.chunks
ADD CONSTRAINT chunks_parent_hash_fkey FOREIGN KEY (parent_hash) REFERENCES public.samples(content_hash);
--
-- Name: coldstart_coding_rollouts coldstart_coding_rollouts_source_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.coldstart_coding_rollouts
ADD CONSTRAINT coldstart_coding_rollouts_source_id_fkey FOREIGN KEY (source_id) REFERENCES public.sources(id);
--
-- Name: coldstart_coding_rollouts coldstart_coding_rollouts_teacher_model_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.coldstart_coding_rollouts
ADD CONSTRAINT coldstart_coding_rollouts_teacher_model_id_fkey FOREIGN KEY (teacher_model_id) REFERENCES public.models(id);
--
-- Name: corpus_snapshot_members corpus_snapshot_members_snapshot_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.corpus_snapshot_members
ADD CONSTRAINT corpus_snapshot_members_snapshot_fkey FOREIGN KEY (snapshot) REFERENCES public.corpus_snapshots(name) ON DELETE CASCADE;
--
-- Name: corpus_snapshots corpus_snapshots_parent_snapshot_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.corpus_snapshots
ADD CONSTRAINT corpus_snapshots_parent_snapshot_fkey FOREIGN KEY (parent_snapshot) REFERENCES public.corpus_snapshots(name);
--
-- Name: corpus_snapshots corpus_snapshots_profile_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.corpus_snapshots
ADD CONSTRAINT corpus_snapshots_profile_fkey FOREIGN KEY (profile) REFERENCES public.quality_profiles(name);
--
-- Name: corpus_snapshots corpus_snapshots_selection_algorithm_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.corpus_snapshots
ADD CONSTRAINT corpus_snapshots_selection_algorithm_fkey FOREIGN KEY (selection_algorithm) REFERENCES public.selection_algorithms(name);
--
-- Name: review_batch_rows review_batch_rows_batch_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.review_batch_rows
ADD CONSTRAINT review_batch_rows_batch_id_fkey FOREIGN KEY (batch_id) REFERENCES public.review_batches(batch_id);
--
-- Name: review_batch_rows review_batch_rows_content_hash_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.review_batch_rows
ADD CONSTRAINT review_batch_rows_content_hash_fkey FOREIGN KEY (content_hash) REFERENCES public.samples(content_hash);
--
-- Name: reviews reviews_content_hash_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.reviews
ADD CONSTRAINT reviews_content_hash_fkey FOREIGN KEY (content_hash) REFERENCES public.samples(content_hash);
--
-- Name: reviews reviews_judge_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.reviews
ADD CONSTRAINT reviews_judge_fkey FOREIGN KEY (judge) REFERENCES public.models(id);
--
-- Name: rl_coding_rollouts rl_coding_rollouts_task_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.rl_coding_rollouts
ADD CONSTRAINT rl_coding_rollouts_task_id_fkey FOREIGN KEY (task_id) REFERENCES public.rl_coding_tasks(task_id);
--
-- Name: rl_coding_tasks rl_coding_tasks_gold_patch_source_model_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.rl_coding_tasks
ADD CONSTRAINT rl_coding_tasks_gold_patch_source_model_fkey FOREIGN KEY (gold_patch_source_model) REFERENCES public.models(id);
--
-- Name: rl_coding_tasks rl_coding_tasks_source_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.rl_coding_tasks
ADD CONSTRAINT rl_coding_tasks_source_id_fkey FOREIGN KEY (source_id) REFERENCES public.sources(id);
--
-- Name: sample_edits_staging sample_edits_staging_content_hash_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.sample_edits_staging
ADD CONSTRAINT sample_edits_staging_content_hash_fkey FOREIGN KEY (content_hash) REFERENCES public.samples(content_hash);
--
-- Name: samples samples_generated_by_model_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.samples
ADD CONSTRAINT samples_generated_by_model_fkey FOREIGN KEY (generated_by_model) REFERENCES public.models(id);
--
-- Name: samples samples_kind_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.samples
ADD CONSTRAINT samples_kind_id_fkey FOREIGN KEY (kind_id) REFERENCES public.kinds(id);
--
-- Name: samples samples_lang_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.samples
ADD CONSTRAINT samples_lang_id_fkey FOREIGN KEY (lang_id) REFERENCES public.langs(id);
--
-- Name: samples samples_license_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.samples
ADD CONSTRAINT samples_license_id_fkey FOREIGN KEY (license_id) REFERENCES public.licenses(id);
--
-- Name: samples samples_near_dup_of_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.samples
ADD CONSTRAINT samples_near_dup_of_fkey FOREIGN KEY (near_dup_of) REFERENCES public.samples(content_hash);
--
-- Name: samples samples_quality_tier_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.samples
ADD CONSTRAINT samples_quality_tier_id_fkey FOREIGN KEY (quality_tier_id) REFERENCES public.quality_tiers(id);
--
-- Name: samples samples_register_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.samples
ADD CONSTRAINT samples_register_id_fkey FOREIGN KEY (register_id) REFERENCES public.registers(id);
--
-- Name: samples samples_reviewed_by_model_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.samples
ADD CONSTRAINT samples_reviewed_by_model_fkey FOREIGN KEY (reviewed_by_model) REFERENCES public.models(id);
--
-- Name: samples samples_shard_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.samples
ADD CONSTRAINT samples_shard_id_fkey FOREIGN KEY (shard_id) REFERENCES public.shards(id);
--
-- Name: samples samples_source_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.samples
ADD CONSTRAINT samples_source_id_fkey FOREIGN KEY (source_id) REFERENCES public.sources(id);
--
-- Name: samples samples_split_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.samples
ADD CONSTRAINT samples_split_id_fkey FOREIGN KEY (split_id) REFERENCES public.splits(id);
--
-- Name: sprapp_filter_corpus sprapp_filter_corpus_generated_by_model_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.sprapp_filter_corpus
ADD CONSTRAINT sprapp_filter_corpus_generated_by_model_fkey FOREIGN KEY (generated_by_model) REFERENCES public.models(id);
--
-- Name: sprapp_filter_corpus sprapp_filter_corpus_near_dup_of_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.sprapp_filter_corpus
ADD CONSTRAINT sprapp_filter_corpus_near_dup_of_fkey FOREIGN KEY (near_dup_of) REFERENCES public.sprapp_filter_corpus(id);
--
-- Name: sprapp_filter_corpus sprapp_filter_corpus_reviewed_by_model_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.sprapp_filter_corpus
ADD CONSTRAINT sprapp_filter_corpus_reviewed_by_model_fkey FOREIGN KEY (reviewed_by_model) REFERENCES public.models(id);
--
-- Name: training_run_datasets training_run_datasets_run_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.training_run_datasets
ADD CONSTRAINT training_run_datasets_run_id_fkey FOREIGN KEY (run_id) REFERENCES public.training_runs(run_id) ON DELETE CASCADE;
--
-- Name: training_run_datasets training_run_datasets_snapshot_name_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.training_run_datasets
ADD CONSTRAINT training_run_datasets_snapshot_name_fkey FOREIGN KEY (snapshot_name) REFERENCES public.corpus_snapshots(name);
--
-- Name: training_run_results training_run_results_run_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.training_run_results
ADD CONSTRAINT training_run_results_run_id_fkey FOREIGN KEY (run_id) REFERENCES public.training_runs(run_id) ON DELETE CASCADE;
--
-- Name: training_run_unverified_datasets training_run_unverified_datasets_run_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.training_run_unverified_datasets
ADD CONSTRAINT training_run_unverified_datasets_run_id_fkey FOREIGN KEY (run_id) REFERENCES public.training_runs(run_id) ON DELETE CASCADE;
--
-- PostgreSQL database dump complete
--
\unrestrict THevuI5nL8va278qqO7jMSTP5LK8tqxqzRceXTedW4fR4pqR5ttaHEIfQb9Nuug