Task 001: dockerized monorepo foundation
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
# Task 014: Assets And Media Library
|
||||
|
||||
Development description: Implement asset specifications, generated or uploaded asset records, object-storage file handling, approval/rejection, replacement, and a media library view.
|
||||
|
||||
## Implementation Details
|
||||
|
||||
- Backend endpoints:
|
||||
- `POST /api/articles/{article_id}/assets/generate-specs`
|
||||
- `GET /api/articles/{article_id}/assets`
|
||||
- `PATCH /api/articles/{article_id}/assets/{asset_id}`
|
||||
- `POST /api/articles/{article_id}/assets/{asset_id}/approve`
|
||||
- Upload/replacement endpoint for asset files.
|
||||
- Asset types:
|
||||
- Hero image.
|
||||
- Inline diagram.
|
||||
- Table.
|
||||
- Flowchart.
|
||||
- Comparison matrix.
|
||||
- Architecture diagram.
|
||||
- Inline image.
|
||||
- Asset record fields:
|
||||
- Title.
|
||||
- Type.
|
||||
- Prompt or diagram/table code.
|
||||
- File URL/object key.
|
||||
- Alt text.
|
||||
- Caption.
|
||||
- Status.
|
||||
- Linked section/article.
|
||||
- Frontend:
|
||||
- Asset review page.
|
||||
- Media library.
|
||||
- Replacement upload.
|
||||
- Approval/rejection controls.
|
||||
|
||||
## Public Interface
|
||||
|
||||
- Editor reviews generated asset specs.
|
||||
- Editor approves, rejects, or replaces assets.
|
||||
- Approved assets are included in draft/publish bundle.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- [ ] TDD pre-requirement: before implementation, write one failing public API test for approving an asset and seeing it become available to the article; proceed one asset behavior at a time and record evidence in `Result`.
|
||||
- [ ] Asset specs are generated and linked to article or section.
|
||||
- [ ] File uploads store objects in object storage and persist object keys.
|
||||
- [ ] Asset approval writes workflow event.
|
||||
- [ ] Rejected assets are excluded from publish bundle.
|
||||
- [ ] Replacement preserves audit history.
|
||||
- [ ] Media library lists article assets with status, type, title, preview/file link, alt text, and caption.
|
||||
- [ ] Draft preview uses approved asset references where available.
|
||||
|
||||
## Verification
|
||||
|
||||
- Run asset API tests.
|
||||
- Run object-storage upload integration tests.
|
||||
- Run frontend media library tests.
|
||||
- Run smoke flow approving and replacing an asset.
|
||||
|
||||
## 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.
|
||||
Reference in New Issue
Block a user