# Task 005: Article Intake, Dashboard, And Detail Shell Development description: Build the first user-visible workflow slice where an Editor creates an article brief, sees it on the dashboard, and opens an article detail page with workflow history. ## Implementation Details - Backend endpoints: - `POST /api/articles` - `GET /api/articles` - `GET /api/articles/{article_id}` - Article creation requires: - `brief_description` - `target_site_id` - optional `content_type` - optional `primary_keyword` - Creation behavior: - Creates article with `ARTICLE_BRIEF_CREATED`. - Attaches target site. - Writes `ARTICLE_CREATED` workflow event. - Frontend screens: - Dashboard with article title/working title, target website, status, assigned editor, last updated, next required action, and publishing status. - New article form. - Article detail shell with status summary and timeline. ## Public Interface - Editor submits a brief in the UI. - Dashboard updates with the created article. - Article detail page shows the workflow event timeline. ## Acceptance Criteria - [ ] TDD pre-requirement: before implementation, write one failing API behavior test for creating an article and seeing `ARTICLE_BRIEF_CREATED`; add UI tests after API green and record evidence in `Result`. - [ ] Editor can create an article brief for a configured target site. - [ ] Created article appears in `GET /api/articles`. - [ ] Article detail includes target site summary and workflow history. - [ ] Article creation writes a workflow event with actor and timestamp. - [ ] Invalid target site returns a validation error. - [ ] Frontend form shows validation errors without losing typed brief text. ## Verification - Run backend article API tests. - Run frontend component/page tests for dashboard and form. - Run a Docker Compose smoke flow from UI brief creation to article detail. ## 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.