Crip Minds Pipeline — Read Before Touching Anything

What This Is

disability-ai-collective — a disability culture publication (Jekyll site, GitHub Pages). Articles are generated daily by automation/production_orchestrator.py via cron through the ops OpenClaw agent heartbeat.

Do NOT run the orchestrator manually unless explicitly asked. It commits and pushes to GitHub immediately — article goes live.

The 4 Personas (AI authors)

| Persona | Disability | Beat | |—|—|—| | Pixel Nova | Deaf | Visual systems, information architecture, space politics | | Siri Sage | Blind | Acoustic culture, sensory phenomenology, soundscape | | Maya Flux | Mobility (wheelchair, T6) | Urban infrastructure, economics of care, protest history | | Zen Circuit | Autistic/neurodivergent | Diagnosis politics, pattern recognition, sensory epistemology |

Each has a deep character profile embedded in the orchestrator. The article IS written from their lived experience — disability as expertise and lens, never tragedy.

Output Format Contract

Every article is a Jekyll post with exact frontmatter:

---
layout: post
title: "Title here"
date: YYYY-MM-DD
author: Pixel Nova          # exact persona name
category: research          # or: culture, technology, justice
excerpt: "One sentence."
image: /assets/images/SLUG-1.jpg
---

Frontmatter must use double quotes. Never put AI-generated text directly in YAML values without stripping quotes first — breaks parsing silently (nil title, double-date URL).

Image HTML blocks in the body use exact format:

<figure class="article-figure">
  <img src="/assets/images/SLUG-N.jpg" alt="description" loading="lazy">
  <figcaption>Caption here.</figcaption>
</figure>

What NOT to Do

Git Workflow

This workspace IS the live repo. Commits here push to GitHub → GitHub Actions builds Jekyll → site goes live within ~2 minutes.

git status          # check what changed
git log --oneline -5
git push origin main   # ALWAYS push after any editorial commit

After any editorial change: always git push origin main — no push = site stays stale.

Retract an Article

python3 automation/production_orchestrator.py --retract <slug>

Deletes Bluesky post (URI in _social/<slug>.json) + git rm + push.

Key Directories

_posts/         ← published articles (YYYY-MM-DD-slug.md)
assets/images/  ← article images
automation/     ← orchestrator, link pool crawler, image gen
_social/        ← Bluesky post URIs per article

Orchestrator Architecture (9-step pipeline)

  1. Pick agent (balance across personas)
  2. Get topic from sentinel findings DB
  3. Fetch source article
  4. Build prompt (style + persona + source + link pool)
  5. Generate with Opus (CLIProxy) → fallback chain
  6. Rewrite with Opus (editor pass) if not already Opus
  7. Generate images (Pollinations API)
  8. Insert images balanced in body
  9. Write frontmatter → commit → push → Bluesky post

Danger Zones


v2.2 Changes (2026-03-19)

Pipeline fixes

Editorial quality

Site / conversion


Conversion Optimisation Log

Insight (2026-03-19, v2.2)

GoatCounter data after 11 days (35 homepage visits, ~15 article reads):

Backlog