Files
content-factory/tasks/016-final-approval-gate.md
T

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-approval
    • POST /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.