=== ConsensusPress AI Publisher ===
Contributors: mohan-iyer
Tags: ai content, consensus, seo, content generation
Requires at least: 6.2
Tested up to: 6.9
Requires PHP: 7.4
Stable Tag: 1.5.19
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Generate AI-search resilient WordPress content using 5-LLM consensus validation. Not an AI writer — a cross-model validation engine.

== Description ==

ConsensusPress AI Publisher is an AI-search resilient content infrastructure plugin for WordPress. It queries five leading LLMs simultaneously — OpenAI, Claude, Gemini, Mistral, and Cohere — and surfaces the highest-quality consensus answer, validated across all models.

This is not an AI writing tool. It is a cross-model validation engine.

**What makes ConsensusPress different:**

* Query 5 LLMs simultaneously (OpenAI, Claude, Gemini, Mistral, Cohere)
* Quality scoring and hallucination filtering across all responses
* Champion selection — the best answer surfaces automatically
* Oracle Risk Analysis — flags low-confidence claims before they reach your readers
* Rank Math SEO integration — focus keyword, meta description, and schema injected automatically
* Create Mode: topic → 5-LLM consensus → WordPress draft
* Regenerate Mode: existing post → AI-search restructured → new draft with diff comparison
* Batch Generate: upload a Keywords Everywhere CSV, generate multiple consensus-validated drafts in one run. Note: Batch Generate UI behaviour depends on your current subscription tier being returned by the Seekrates API. If the tier envelope is temporarily unavailable, the plugin displays a tier upgrade screen as a safe default. This resolves automatically once the tier envelope is restored.
* 3 free posts per month — no credit card required

**Built for the AI-search era.** Content validated across 5 models survives AI overviews, perplexity citations, and LLM-powered search in ways that single-model output cannot.

**Your IP stays protected.** All LLM intelligence runs server-side on the Seekrates AI engine. The plugin is a thin API client — no API keys for individual LLMs are required.

== Installation ==

1. Upload the `consensuspress-ai-publisher` directory to `/wp-content/plugins/`
2. Activate the plugin through the Plugins menu in WordPress
3. Navigate to ConsensusPress > Settings
4. Enter your Seekrates AI API key (obtain from app.seekrates-ai.com)
5. Optionally enter your Unsplash Access Key for automatic featured images
6. Click Save Settings — you are ready to create your first AI-consensus post

== Frequently Asked Questions ==

= Is this an AI writing tool? =

No. ConsensusPress AI Publisher queries 5 separate LLMs and surfaces consensus across them. The output is validated, hallucination-filtered, and scored — not generated by a single model. The difference matters: single-model content is increasingly devalued by AI search engines that can detect it. Cross-model consensus content is structurally different.

= Where do I get an API key? =

Register at app.seekrates-ai.com. The free tier includes 3 posts per month with no credit card required.

= Does this modify my existing posts? =

Never. Regenerate Mode creates a new draft — your original post is preserved exactly as-is. You review the diff and decide whether to publish the new version.

= What happens when my monthly limit is reached? =

The plugin blocks new creation and regenerate requests and shows an upgrade prompt. Your existing posts and all data are completely unaffected.

= Do I need API keys for OpenAI, Claude, Gemini, Mistral, or Cohere? =

No. All LLM queries run through the Seekrates AI engine server-side. You only need a single Seekrates AI API key. This also protects your usage costs — you are charged per consensus query, not per individual model call.

= What is Regenerate Mode? =

Regenerate Mode takes an existing post, sends its content to the Seekrates AI engine for restructuring and AI-search optimisation, and returns a new draft with a side-by-side diff comparison. Useful for refreshing older content or posts that have dropped in AI search visibility.

= Is the Unsplash API key required? =

No. If no Unsplash key is configured, posts are created without a featured image. You can add one later manually. When configured, ConsensusPress AI Publisher fetches a contextually relevant landscape photo automatically.

== External Services ==

This plugin connects to two external services to function. By installing, activating, and using this plugin you agree to the terms and privacy policies of both services.

**Seekrates AI consensus engine.** The plugin sends your post topic, focus keyword, and any additional context you provide to the Seekrates AI engine hosted at `seekrates-engine-production-4666.up.railway.app`. The engine queries five AI providers (OpenAI, Claude, Gemini, Mistral, Cohere) server-side and returns a validated consensus result. This happens every time you generate or regenerate a post.

* Endpoint used for consensus: `POST https://seekrates-engine-production-4666.up.railway.app/api/v1/cp/consensus`
* Endpoint used for connection health check: `GET https://seekrates-engine-production-4666.up.railway.app/health`
* Authentication: Bearer token (your Seekrates AI API key, entered in plugin Settings)
* A Seekrates AI account and API key are required. Register at `https://app.seekrates-ai.com`.
* Terms of Service: `https://seekrates-ai.com/website-t-c/`
* Privacy Policy: `https://seekrates-ai.com/privacy-policy/`

**Unsplash.** The plugin optionally sends the post focus keyword to the Unsplash API to retrieve a featured image. This only happens when you have entered an Unsplash API key in plugin Settings; if the key is absent, no Unsplash call is made.

* Endpoint used: `GET https://api.unsplash.com/photos/random`
* Authentication: Unsplash Access Key (your Unsplash developer key, entered in plugin Settings)
* An Unsplash developer account is required to obtain an API key. Register at `https://unsplash.com/developers`.
* Terms of Service: `https://unsplash.com/terms`
* Privacy Policy: `https://unsplash.com/privacy-policy/`

No other external services are contacted by this plugin.

== Screenshots ==

1. Create Mode — enter your topic and generate a 5-LLM consensus post draft
2. Regenerate Mode — select an existing post and view the AI-search restructured diff
3. Consensus Meta Box — score, champion model, agreement level, and Oracle Risk on every post

== Changelog ==

= 1.5.19 =
* WordPress.org submission remediation (reviewer feedback 2026-04-12)
* Contributors list corrected to WordPress.org owner username
* External Services section rewritten with full endpoint disclosure for both Seekrates AI and Unsplash, including live Terms of Service and Privacy Policy URLs
* Distribution zip now excludes development artefacts (vendor, tests, build configuration) via .distignore
* Plugin display name aligned with WordPress.org slug

= 1.5.17 =
* Batch Generate — upload Keywords Everywhere CSV, generate multiple draft posts in one run
* Shortcode Sockets — retroactive content injection via [cp_inject slot="..."] now active on all generated posts
* Regenerate Mode — existing posts regenerated from original title (formerly Rescue Mode)
* Default featured image — fixed fallback image sideloaded when Unsplash key absent
* Poll timeout extended to 240 seconds (4 minutes) for both Create and Regenerate modes
* PHP test suite: 101 tests, 218 assertions, 0 failures

= 1.3.0 =
* Shortcode Sockets — retroactive content injection via [cp_inject slot="..."]
* Affiliate placement in settings and meta box
* WP-Cron async job handler improvements

= 1.2.0 =
* Async processing via WP-Cron (non-blocking 30-60 second consensus queries)
* Consensus meta box on post edit screen

= 1.1.0 =
* Create Mode with full Rank Math SEO and JSON-LD schema injection
* Featured image sideloading

= 1.0.0 =
* Initial release — plugin skeleton, settings page, API client

== Upgrade Notice ==

= 1.5.18 =
WordPress.org submission remediation — Contributors list and External Services disclosure updated. No functional changes. All existing posts and settings preserved.

= 1.5.19 =
Plugin renamed to ConsensusPress AI Publisher. Improved post titles, focus keywords, and featured images. No breaking changes. All existing posts and settings preserved.
