Task 001: dockerized monorepo foundation

This commit is contained in:
2026-05-21 16:57:58 +03:00
commit d42f0c4392
83 changed files with 4236 additions and 0 deletions
@@ -0,0 +1,54 @@
# 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.