ASK KNOX
beta
LESSON 450

Multi-Platform Distribution & Ecosystem Backlinks

The publish stage is not the end of the pipeline — it is the beginning of distribution, and every published article must reinforce the ecosystem.

8 min read·Production Content Pipelines

The Pipeline Doesn't End at Publish

Most pipeline tutorials stop at "article is live." That is not where the pipeline ends — it is where distribution begins. A published article with no distribution strategy produces zero readers. Distribution is the last mile of the content pipeline, and it must be designed with the same rigor as the generation stages.

For Knox's content operation, distribution spans four channels: jeremyknox.ai (automated via Git PR), Discord (automated via webhook), X (semi-automated via generated content + manual paste), and LinkedIn (manual, out of pipeline scope — content is derived by hand from published articles). Each channel has different mechanisms, different automation levels, and different delivery receipts. The pipeline itself fully owns the first two and partially owns X; LinkedIn sits outside its boundary entirely.

The Four Distribution Channels

The automation level for each channel is a product decision, not a technical limit. Knox could automate X posting via browser-use or a third-party scheduling tool. He chooses not to because X is the channel with the highest interaction potential — he wants to respond to replies in real time, which requires active involvement at the time of posting. Automation would optimize reach at the cost of engagement.

This tradeoff is the correct analysis for each channel: where does the human add value that automation can't replicate, and where does automation add reliability that human involvement can't sustain?

The jeremyknox.ai Git PR Flow

For the blog, the PUBLISH stage runs deliver.py, which executes:

  1. git checkout -b content/{topic_id}/{slug}
  2. Copy draft.mdcontent/blog/{slug}.mdx with final frontmatter
  3. Copy hero.pngpublic/images/social/{slug}-hero.jpg
  4. git commit -m "content: {title}"
  5. gh pr create --title "{title}" --body "{excerpt}\n\n{ecosystem_backlinks}"
  6. Write PR URL to run manifest

Vercel auto-deploys on merge to main. Knox merges the PR manually — typically in under five minutes. The separation between "PR open" and "live on site" is intentional: it gives Knox one review step before the article is public.

The Discord Notification Architecture

The Discord webhook fires immediately after the PR is created. The embed includes:

  • Title: the article title, linked to the PR
  • Description: the excerpt
  • Footer: the pipeline run ID and topic source type
  • Color: blue for blog articles, purple for deep dives, red for failures

The webhook URL is stored as DISCORD_WEBHOOK_URL in the plist environment. The discord_webhook.py script catches webhook failures (Discord outage, deleted channel, invalid URL) and logs them without propagating — a Discord notification failure does not prevent the PR from being created.

After every webhook POST, the pipeline checks the response code. A Discord 4xx response triggers a secondary alert to a backup notification mechanism (currently an email via Resend). An alerting system that fails silently is worse than no alerting system.

The Mandatory Ecosystem Backlink Rule

Every article published from any property in the ecosystem must include at least one inline reference to a sister property. This is not an SEO suggestion — it is a content rule enforced at the DRAFT quality gate.

The mapping is contextual: an AI engineering article links to InDecision (AI-driven decision-making), a strategy article links to Architect of War, a behavioral science article links to Rewired Minds. Force-fitting irrelevant properties reads as spam; matching properties to content topic reads as genuine cross-referencing.

The gate works as a soft gate: if the DRAFT stage produces an article without an ecosystem backlink, the gate detects the absence, determines the appropriate property based on content topic, and injects the backlink inline. The article is never published without a backlink; the stage never fails for a missing backlink.

The EcosystemFooter component is auto-injected by the MDX template — it appears at the bottom of every article. But the footer link does not satisfy the inline backlink requirement. The rule requires a contextual inline reference within the article body, not just a footer.

Why Cross-Linking Compounds

Five properties with mutual backlinks form a network. Each link passes domain authority between properties. Each article on jeremyknox.ai that links to tesseractintelligence.io makes tesseractintelligence.io slightly more authoritative for its target keywords. That authority compounds over 156 articles.

The mechanism is not magic — it is PageRank. Contextual links from relevant pages pass more link equity than footer links. The ecosystem backlink rule ensures that every article contributes to the network, not just the individual property where it was published.

This is also why backlink quality matters. "Check out indecision.io" is a weak link. "InDecision (indecision.io) applies the same operator pattern at scale, with AI-driven signal filtering replacing manual signal review" is a strong link — it provides context for the reader and tells search engines why these two pages are related.

The Prove-Each-Hop Rule for Distribution

The distribution layer applies the same architectural rule as the generation stages: prove each hop. For each channel:

  • Blog: PR URL in run manifest = content arrived at GitHub
  • Discord: message ID in receipt log = notification delivered
  • X: Knox confirms in thread = manual step acknowledged

When Knox debugs a failed distribution, he starts with the delivery receipts. If the PR URL is present but the article isn't live, the issue is downstream of the pipeline (Vercel deploy, GitHub Actions). If the PR URL is absent, the issue is in deliver.py. The receipt narrows the blast radius immediately.