RJ DowellPERSONAL PORTFOLIO
← All projects

PROFESSIONAL WORK · Publishing & platforms

Search & publishing workflow

Monitors published job pages and creates WordPress drafts through an approval-bound path, keeping publish and withdraw as separate steps.

BuiltLive monitoring · draft pilotDocumented October 16, 2026

My contribution

Built and hardened lifecycle monitoring and a controlled draft-creation path, including approval binding and uncertain-write recovery.

Tools
Python · WordPress · Durable workflow state · Content/source digests

How it works

  1. Check source jobs and existing page lifecycle state.
  2. Prepare a payload and bind approval to that exact content and source version.
  3. Create a draft only through the permitted capability.
  4. Reconcile the result and keep publication and withdrawal as separate operations.

Decisions that mattered

Approval belongs to a payload

Source and content digests prevent an approval from silently applying to a different draft. Expired approvals are rejected.

Create isn’t publish

Draft creation and native publishing sit behind separate capabilities. Proving one doesn’t prove the other.

Uncertain responses need reconciliation

Durable intent and idempotent receipts support checking whether an external write happened before retrying.

Lifecycle cleanup deserves isolation

Withdrawal behavior is separated from content generation so an old job can be handled without enabling a new publication path.

Results

The October 16, 2026 record documents one successful autonomous draft creation with an idempotent receipt, alongside separate monitoring of existing pages.

Scope & limits

Autonomous create-and-publish wasn’t proven at this checkpoint; a stale watchdog stopped that path.

Related projects

Next projectCommunications migration support