2.4 KiB
2.4 KiB
Task 003: Postgres Schema And Seed Data
Development description: Create the initial relational schema, migrations, indexes, and seed data for articles, sites, workflow state, jobs, research manifests, publishing versions, and audit events.
Implementation Details
- Add migration tooling for the FastAPI backend, such as Alembic.
- Create tables:
userstarget_sitesscript_config_versionsarticlesboundary_questionsarticle_plansplan_sectionsevidence_itemsclaimsarticle_draftsassetsworkflow_eventsagent_jobsresearch_run_manifestspublish_commitsprompt_versions
- Store article/domain status in domain tables as authoritative state.
- Store LangGraph checkpoints separately from domain tables if checkpointing is implemented in this task.
- Seed:
- One Admin user.
- One Editor user.
- One Git-backed Next target site.
- One active publishing YAML/script config version.
- Add indexes for article dashboard queries, job queues, workflow timeline, and site lookup by slug.
Public Interface
alembic upgrade headcreates the schema.- Backend repository methods can create/read seeded target sites and users.
Acceptance Criteria
- TDD pre-requirement: before implementing migrations, write one failing integration test through repository/public backend interfaces for seeded site lookup; add further tests one behavior at a time and record red-green evidence in
Result. - Migrations run cleanly on an empty Postgres database.
- Seed data is idempotent.
- Article/domain tables hold authoritative article statuses.
- Script/config versions store author, timestamp, diff, rollback target, activation timestamp, YAML, and transform script.
- Research manifests store S3 prefixes, source URLs, object keys, content hashes, artifact types, and metadata references.
- Publish commits store repository URL, branch, commit SHA, content bundle manifest, and status.
Verification
- Run migration tests against a disposable Postgres database.
- Run seed command twice and verify no duplicates.
- Run repository integration tests.
Result
- Status: Pending execution.
- TDD plan: To be filled during execution.
- Red evidence: To be filled during execution.
- Green evidence: To be filled during execution.
- Refactor notes: To be filled during execution.
- Verification output: To be filled during execution.