FIELD NOTES · ACCEPTANCE EXERCISES

A changed draft needs approval for its current revision

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 / caseCheck basisExpected decision
draft2; approved1approval stalehold for review
draft2; approved2; different reviewercurrent sign-offpublish candidate
author and approver sameseparation required by briefreview separation

Run the acceptance exercise

  1. Define which fields and attachments an approval covers, and record the revision identity.
  2. Approve a synthetic draft, edit it and verify that stale approval cannot silently publish the changed version.
  3. 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