Files
igny8/docs/40-WORKFLOWS/CONTENT-PIPELINE.md
IGNY8 VPS (Salman) c777e5ccb2 dos updates
2026-01-20 14:45:21 +00:00

9.1 KiB

Content Pipeline Workflow

Last Verified: January 20, 2026
Version: 1.8.4


Overview

The IGNY8 content pipeline transforms raw keywords into published WordPress articles through a multi-stage workflow. This can run manually (step-by-step) or automatically via the Automation module.


Pipeline Stages

┌─────────────────────────────────────────────────────────────────────────┐
│                         CONTENT PIPELINE                                 │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  ┌──────────┐    ┌──────────┐    ┌──────────┐    ┌──────────┐          │
│  │ KEYWORDS │───►│ CLUSTERS │───►│  IDEAS   │───►│  TASKS   │          │
│  │  Stage 1 │    │  Stage 2 │    │  Stage 3 │    │  Stage 4 │          │
│  └──────────┘    └──────────┘    └──────────┘    └──────────┘          │
│                                                                          │
│  ┌──────────┐    ┌──────────┐    ┌──────────┐    ┌──────────┐          │
│  │ CONTENT  │───►│  IMAGES  │───►│  REVIEW  │───►│ PUBLISH  │          │
│  │  Stage 5 │    │  Stage 6 │    │  Stage 7 │    │  Stage 8 │          │
│  └──────────┘    └──────────┘    └──────────┘    └──────────┘          │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘

Stage 1: Keywords

Module: Planner
Status Values: new, mapped

Input

  • Seed keywords (manually added or from SEO tools)
  • Optional: search volume, difficulty, CPC data

Process

  1. User adds keywords via UI or bulk import
  2. Keywords validated and deduplicated
  3. Assigned to site + sector

Output

  • Keyword records in Keyword model
  • Status: pending

Credit Usage

  • None (free operation)

Stage 2: Clustering

Module: Planner
AI Function: AutoClusterKeywords

Input

  • Selected pending keywords (2-100)

Process

  1. AI analyzes semantic relationships
  2. Groups keywords by topic/intent
  3. Creates cluster with name + description

Output

  • Cluster records created
  • Keywords linked to clusters
  • Keyword status → clustered

Credit Usage

  • Credits deducted based on AI tokens used (see AIModelConfig)

Stage 3: Ideas

Module: Planner
AI Function: GenerateContentIdeas

Input

  • Cluster with 2+ keywords

Process

  1. AI generates content idea titles
  2. Creates brief description for each
  3. Suggests primary + secondary keywords

Output

  • ContentIdea records created
  • Status: pending

Credit Usage

  • Credits deducted based on AI tokens used (see AIModelConfig)

Stage 4: Tasks

Module: Writer
Status Values: pending, in_progress, completed, cancelled

Input

  • Selected content ideas

Process

  1. Ideas converted to tasks
  2. Task gets content brief + keywords
  3. Optional: set due date, assign user

Output

  • Task records created
  • Status: pending
  • Ideas status → used

Credit Usage

  • None (free operation)

Stage 5: Content Generation

Module: Writer
AI Function: GenerateContent

Input

  • Task with title + keywords + brief

Process

  1. AI generates full article content
  2. Creates structured HTML output
  3. Adds meta title + description

Output

  • Content record created
  • Full HTML body
  • SEO metadata
  • Task status → completed

Credit Usage

  • Credits deducted based on AI tokens used (see AIModelConfig)

Stage 6: Image Generation

Module: Writer
AI Function: GenerateImages

Input

  • Content record
  • Number of images (default: 1-3)

Process

  1. AI analyzes content for image prompts
  2. Generates images via DALL-E/Runware
  3. Creates thumbnail + full versions

Output

  • ContentImage records created
  • Image URLs + alt text
  • Featured image assigned

Credit Usage

  • Credits deducted per image (see AIModelConfig.credits_per_image)

Stage 7: Review

Module: Writer
Status Values: draft, review, approved, published

Input

  • Generated content + images

Process

  1. Content displayed in rich editor
  2. User reviews + edits if needed
  3. User approves for publishing

Output

  • Content status → approved
  • Any manual edits saved

Credit Usage

  • None (free operation)
  • Regeneration deducts credits based on AI model used

Stage 8: Publishing

Module: Publisher
Integration: WordPress REST API

Input

  • Approved content
  • WordPress integration credentials

Process

  1. Content formatted for WordPress
  2. Images uploaded to WP media
  3. Post created with categories/tags
  4. Status set to draft/published

Output

  • PublishingRecord created
  • WordPress post ID stored
  • Content status → published

Credit Usage

  • None (free operation)

Automation Mode

When running via Automation module:

  1. Configuration - Set limits per stage
  2. Execution - Pipeline runs automatically
  3. Pacing - Configurable delays between operations
  4. Monitoring - Real-time status updates

Automation Config Options

Stage Limits:
- clustering_limit: Max keywords to cluster
- ideas_limit: Max ideas to generate
- content_limit: Max content to generate
- image_limit: Max images to generate
- publish_limit: Max content to publish

Timing:
- delay_between_operations: Seconds between API calls
- max_runtime: Maximum run duration

Behavior:
- auto_approve: Skip review stage
- auto_publish: Publish immediately
- stop_on_error: Halt pipeline on failure

Data Flow Diagram

Seed Keywords
     │
     ▼
┌─────────────────┐
│    Keyword      │ status: pending
│    Model        │ belongs_to: site, sector
└────────┬────────┘
         │ AI: AutoCluster
         ▼
┌─────────────────┐
│    Cluster      │ keywords: [...]
│    Model        │ belongs_to: site, sector
└────────┬────────┘
         │ AI: GenerateIdeas
         ▼
┌─────────────────┐
│  ContentIdea    │ primary_keyword, secondaries
│    Model        │ cluster_id, status
└────────┬────────┘
         │ Convert to Task
         ▼
┌─────────────────┐
│     Task        │ idea_id, brief
│    Model        │ assigned_to, status
└────────┬────────┘
         │ AI: GenerateContent
         ▼
┌─────────────────┐
│    Content      │ task_id, body, meta
│    Model        │ status: draft
└────────┬────────┘
         │ AI: GenerateImages
         ▼
┌─────────────────┐
│ ContentImage    │ content_id, url
│    Model        │ alt_text, is_featured
└────────┬────────┘
         │ User Review
         ▼
┌─────────────────┐
│    Content      │ status: approved
│    (updated)    │
└────────┬────────┘
         │ WordPress API
         ▼
┌─────────────────┐
│PublishingRecord │ content_id, wp_post_id
│    Model        │ status, published_at
└─────────────────┘

Error Handling

Stage Common Errors Recovery
Clustering API timeout Retry with smaller batch
Ideas API rate limit Wait and retry
Content Insufficient credits Add credits, retry
Images Image API failure Skip images, continue
Publish WordPress auth fail Reauth integration

Monitoring

Pipeline Stats (Dashboard)

  • Keywords pending clustering
  • Ideas pending task creation
  • Tasks pending generation
  • Content pending review
  • Content pending publish

Automation Logs

  • Run ID + timestamps
  • Stage + item processed
  • Success/failure status
  • Credit deductions
  • Error messages