A reviewer can approve revision1 and still be unaware of the material added in revision2. Agree whether the publishing workflow binds approval to the exact content revision. This decision concerns editorial sign-off, not giving a website contractor wider permissions or resolving two simultaneous saves.
Who should use this acceptance brief
Teams commissioning a writer-to-reviewer publishing workflow. Use this as a scoped website handover task. Where real system evidence is required, teaching examples are not a substitute.
Source-bound platform fact
WordPress describes contributors who can prepare posts but cannot publish them by default. Revision-bound approval and separate-author review in this example are proposed project requirements, not automatic core guarantees. WordPress: roles and capabilities · Checked 16 October 2026.
Filled teaching example
Synthetic example, not a client case. Finite inputs, expected decisions and counterexamples follow; no live integration is claimed.
On narrow screens, scroll to read the complete table.
| Input / case | Check basis | Expected decision |
|---|---|---|
| draft2; approved1 | approval stale | hold for review |
| draft2; approved2; different reviewer | current sign-off | publish candidate |
| author and approver same | separation required by brief | review separation |
Run the acceptance exercise
- Define which fields and attachments an approval covers, and record the revision identity.
- Approve a synthetic draft, edit it and verify that stale approval cannot silently publish the changed version.
- Review the current revision with the permitted reviewer and preserve the sign-off record.
Interpret the result and retain evidence
The fixture compares supplied revision IDs and fictional author/reviewer labels. It performs no publication or permission change. A candidate result proves only the finite proposed rule; real field changes, media replacements and scheduled publication need implementation tests. Keep the reviewed content hash with approval rather than trusting a status label alone.
Limits before implementation
No accounts, roles or existing content are changed. The two-person rule is a synthetic requirement, not a universal publishing policy.
Replay the finite example
Save both files in one folder and run with Node22.13 or newer. The example sends no network requests and changes no account or site. Filled inputs and expected outputs · Inspectable functions
node decision-check.mjs cms-publishing-approval-revision.json