2.1 KiB
2.1 KiB
Task 016: Final Approval Gate
Development description: Implement the final review gate that prevents publishing until the editor has approved the exact draft version, assets, evidence state, metadata, and publishing settings.
Implementation Details
- Backend endpoints:
POST /api/articles/{article_id}/final-approvalPOST /api/articles/{article_id}/final-revision-request
- Final approval checklist:
- Plan followed.
- Evidence reviewed.
- No high-risk unsupported claims remain.
- SEO metadata approved.
- Images/assets approved.
- Tables and diagrams approved.
- Internal links approved.
- Frontmatter fields selected.
- Content path selected.
- Author selected.
- Publishing mode selected.
- Approval records:
- Actor.
- Timestamp.
- Exact draft version.
- Selected publishing settings.
- Revision request returns workflow to
FINAL_REVISION_REQUIRED.
Public Interface
- Editor sees final review checklist.
- Editor cannot approve while hard blockers remain.
- Approved article moves to
PUBLISH_DRY_RUN_REQUIRED.
Acceptance Criteria
- TDD pre-requirement: before implementation, write one failing behavior test proving high-risk unsupported claims block final approval; proceed one checklist behavior at a time and record evidence in
Result. - Final approval requires an exact draft version.
- High-risk unsupported claims block approval.
- Missing required publishing settings block approval.
- Unapproved required assets block approval.
- Approval writes a workflow event with actor, timestamp, draft version, and publishing settings.
- Revision request writes event and moves article to
FINAL_REVISION_REQUIRED. - UI shows blockers and completed checklist items.
Verification
- Run final approval API tests.
- Run frontend final review tests.
- Run smoke flow showing blocked and successful approval paths.
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.