Content system

The CRISP content system β€” intent-driven prompting, approval workflow, scheduling guards, retries, and failure states.

This page explains how CRISP is designed to produce reliable outcomes: clear intent, a human approval gate, and deterministic publishing behavior.

Who this page is for

  • Operators who need to understand β€œwhy it works this way”
  • Support/admins troubleshooting edge cases
  • Reviewers validating that publishing is safe and deterministic

Intent-driven prompting (philosophy)

CRISP content generation is built around intent and constraints:

  • We specify the β€œwhy” (goal, audience, offer)
  • We preserve brand voice rules and guardrails
  • We generate channel-specific drafts (LinkedIn vs 𝕏 vs Meta vs Blog)

Approval workflow

  • Drafts arrive in the approval queue.
  • A human can edit and approve.
  • Approval is the gate that allows a platform publish flow to start (where supported).

Scheduling logic and queue guards

CRISP uses queue guards to reduce platform risk and user surprise:

  • Minimum spacing rules can be enforced per destination (example: Meta Phase 1 uses per-destination spacing when creating jobs).
  • Some platforms are export-only and do not support scheduling yet (𝕏 threads, Blog).

Status model (publish jobs)

Native publishing uses job states that make failures explicit:

  • queued β†’ publishing β†’ published
  • queued/retrying β†’ failed (after max attempts)

Retries and failure states

  • Retries use backoff to avoid hammering platform APIs.
  • Permanent failures are surfaced clearly so a human can take action.