Task 009 implement plan generation review gate
This commit is contained in:
@@ -132,15 +132,33 @@ POSTGRES_SCHEMA_STATEMENTS: tuple[str, ...] = (
|
||||
article_id UUID NOT NULL REFERENCES articles(id) ON DELETE CASCADE,
|
||||
version INTEGER NOT NULL,
|
||||
status TEXT NOT NULL CHECK (status IN ({PLAN_REVIEW_STATUS_VALUES})),
|
||||
title_options JSONB NOT NULL DEFAULT '[]'::jsonb,
|
||||
recommended_title TEXT,
|
||||
reader_persona TEXT,
|
||||
search_intent TEXT,
|
||||
thesis TEXT,
|
||||
claims_to_prove JSONB NOT NULL DEFAULT '[]'::jsonb,
|
||||
evidence_needs JSONB NOT NULL DEFAULT '[]'::jsonb,
|
||||
visual_needs JSONB NOT NULL DEFAULT '[]'::jsonb,
|
||||
seo_notes JSONB NOT NULL DEFAULT '[]'::jsonb,
|
||||
source_requirements JSONB NOT NULL DEFAULT '[]'::jsonb,
|
||||
excluded_sources JSONB NOT NULL DEFAULT '[]'::jsonb,
|
||||
tone TEXT,
|
||||
audience TEXT,
|
||||
risks JSONB NOT NULL DEFAULT '[]'::jsonb,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
||||
UNIQUE (article_id, version)
|
||||
)
|
||||
""",
|
||||
"ALTER TABLE article_plans ADD COLUMN IF NOT EXISTS title_options JSONB NOT NULL DEFAULT '[]'::jsonb",
|
||||
"ALTER TABLE article_plans ADD COLUMN IF NOT EXISTS reader_persona TEXT",
|
||||
"ALTER TABLE article_plans ADD COLUMN IF NOT EXISTS evidence_needs JSONB NOT NULL DEFAULT '[]'::jsonb",
|
||||
"ALTER TABLE article_plans ADD COLUMN IF NOT EXISTS visual_needs JSONB NOT NULL DEFAULT '[]'::jsonb",
|
||||
"ALTER TABLE article_plans ADD COLUMN IF NOT EXISTS seo_notes JSONB NOT NULL DEFAULT '[]'::jsonb",
|
||||
"ALTER TABLE article_plans ADD COLUMN IF NOT EXISTS source_requirements JSONB NOT NULL DEFAULT '[]'::jsonb",
|
||||
"ALTER TABLE article_plans ADD COLUMN IF NOT EXISTS excluded_sources JSONB NOT NULL DEFAULT '[]'::jsonb",
|
||||
"ALTER TABLE article_plans ADD COLUMN IF NOT EXISTS tone TEXT",
|
||||
"ALTER TABLE article_plans ADD COLUMN IF NOT EXISTS audience TEXT",
|
||||
"""
|
||||
CREATE TABLE IF NOT EXISTS plan_sections (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
@@ -148,11 +166,15 @@ POSTGRES_SCHEMA_STATEMENTS: tuple[str, ...] = (
|
||||
sort_order INTEGER NOT NULL,
|
||||
heading TEXT NOT NULL,
|
||||
purpose TEXT,
|
||||
key_points JSONB NOT NULL DEFAULT '[]'::jsonb,
|
||||
evidence_needs JSONB NOT NULL DEFAULT '[]'::jsonb,
|
||||
claims_to_support JSONB NOT NULL DEFAULT '[]'::jsonb,
|
||||
target_word_count INTEGER,
|
||||
UNIQUE (article_plan_id, sort_order)
|
||||
)
|
||||
""",
|
||||
"ALTER TABLE plan_sections ADD COLUMN IF NOT EXISTS key_points JSONB NOT NULL DEFAULT '[]'::jsonb",
|
||||
"ALTER TABLE plan_sections ADD COLUMN IF NOT EXISTS evidence_needs JSONB NOT NULL DEFAULT '[]'::jsonb",
|
||||
"""
|
||||
CREATE TABLE IF NOT EXISTS evidence_items (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
@@ -430,10 +452,19 @@ SQLITE_SCHEMA_STATEMENTS: tuple[str, ...] = (
|
||||
article_id TEXT NOT NULL,
|
||||
version INTEGER NOT NULL,
|
||||
status TEXT NOT NULL,
|
||||
title_options TEXT NOT NULL DEFAULT '[]',
|
||||
recommended_title TEXT,
|
||||
reader_persona TEXT,
|
||||
search_intent TEXT,
|
||||
thesis TEXT,
|
||||
claims_to_prove TEXT NOT NULL DEFAULT '[]',
|
||||
evidence_needs TEXT NOT NULL DEFAULT '[]',
|
||||
visual_needs TEXT NOT NULL DEFAULT '[]',
|
||||
seo_notes TEXT NOT NULL DEFAULT '[]',
|
||||
source_requirements TEXT NOT NULL DEFAULT '[]',
|
||||
excluded_sources TEXT NOT NULL DEFAULT '[]',
|
||||
tone TEXT,
|
||||
audience TEXT,
|
||||
risks TEXT NOT NULL DEFAULT '[]',
|
||||
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
UNIQUE (article_id, version)
|
||||
@@ -446,6 +477,8 @@ SQLITE_SCHEMA_STATEMENTS: tuple[str, ...] = (
|
||||
sort_order INTEGER NOT NULL,
|
||||
heading TEXT NOT NULL,
|
||||
purpose TEXT,
|
||||
key_points TEXT NOT NULL DEFAULT '[]',
|
||||
evidence_needs TEXT NOT NULL DEFAULT '[]',
|
||||
claims_to_support TEXT NOT NULL DEFAULT '[]',
|
||||
target_word_count INTEGER,
|
||||
UNIQUE (article_plan_id, sort_order)
|
||||
|
||||
Reference in New Issue
Block a user