The content state machine covers the full lifecycle:
- Draft → pending review → published: generated content rests in a reviewable state by default; only human-confirmed content enters the publish queue.
- Unlisted / rejected / archived: published content can be unlisted, failing content rejected and old content archived — each step recorded.
- Review and publishing separated: approving content and executing the publish are independent; approval never means instant go-live, because the publishing schedule still governs timing.