- Exhaustive rename: PGM_ -> PRV_, pgm_ -> prv_, text domain and slug peptide-geo-monitor -> pr-vision, admin menu GEO Monitor -> PR Vision, main file peptide-geo-monitor.php -> pr-vision.php, DB table pgm_ai_visibility -> prv_ai_visibility. - P2-A: replace ltrim($host,'www.') character-mask with str_starts_with/substr prefix strip in PRV_Citation_Detector. Adds test coverage for wikipedia.org, webmd.com survival. - P2-B: drop continue-on-error: true from PHPCS CI step; WordPress Coding Standards now gates the build. - P2-C: remove dead in-run cache from PRV_Probe_Runner::run(); each (peptide, intent, model) triplet is visited once per run, cache hit is structurally impossible. - Version bump 0.1.0 -> 0.1.1 + CHANGELOG [0.1.1] entry. Agent-Session: pr-vision rename v0.1.1
76 lines
2.6 KiB
Markdown
76 lines
2.6 KiB
Markdown
# PR Vision
|
|
|
|
An internal WordPress plugin that runs weekly server-side LLM probes to measure whether peptiderepo.com is cited by AI assistants across core peptides.
|
|
|
|
**v0.1.0 — AI-visibility dashboard only. Internal use; no public-facing output.**
|
|
|
|
---
|
|
|
|
## Purpose
|
|
|
|
GEO (Generative Engine Optimization) is peptiderepo.com's #1 strategic goal. This plugin provides the measurement instrument: weekly LLM probes → time-series storage → admin trendline + per-peptide standings.
|
|
|
|
The displayed metric is a **directional proxy** — API probes do not replicate the consumer ChatGPT/Gemini experience (different retrieval, personalisation, and system prompts), but they provide a consistent, trackable signal.
|
|
|
|
---
|
|
|
|
## Required wp-config.php constants
|
|
|
|
```php
|
|
// OpenRouter API key (sk-or-…) — required for all providers.
|
|
define( 'PRV_OPENROUTER_API_KEY', 'sk-or-YOUR_KEY_HERE' );
|
|
|
|
// Cloudflare AI Gateway routing (optional — falls back to direct OpenRouter).
|
|
define( 'PRV_CF_ACCOUNT_ID', 'YOUR_CF_ACCOUNT_ID' );
|
|
define( 'PRV_CF_GATEWAY_ID', 'YOUR_GATEWAY_NAME' );
|
|
```
|
|
|
|
**Never commit these values. They are read at runtime from wp-config.php only.**
|
|
|
|
---
|
|
|
|
## Architecture
|
|
|
|
See `ARCHITECTURE.md` for the full file tree, data flow, and design decisions.
|
|
|
|
---
|
|
|
|
## Admin page
|
|
|
|
Navigate to **PR Vision** in the WordPress admin sidebar (`manage_options` required).
|
|
|
|
The page shows:
|
|
- A proxy-metric disclaimer note.
|
|
- A Chart.js trendline of the visibility score across runs.
|
|
- A per-peptide standings table (cited?, our position, top competitor domains).
|
|
- Month-to-date cost vs. the monthly cap.
|
|
- A **"Run now"** button to trigger an on-demand probe run.
|
|
|
|
---
|
|
|
|
## Scheduling
|
|
|
|
A weekly WP-Cron event (`prv_weekly_probe`) is registered on plugin activation and cleared on deactivation. Probe runs (cron or manual) respect the hard monthly budget cap.
|
|
|
|
---
|
|
|
|
## Cost cap
|
|
|
|
Default cap: **$5.00 USD/month** (configurable via the `prv_monthly_budget_usd` option). The runner checks the month-to-date spend **before** each API call and stops gracefully when the cap is reached — partial runs are recorded, never over-spend.
|
|
|
|
---
|
|
|
|
## Uninstall
|
|
|
|
Uninstalling the plugin drops the `{prefix}prv_ai_visibility` table and deletes all `prv_*` options. Deactivation only clears the cron schedule.
|
|
|
|
---
|
|
|
|
## Developer notes
|
|
|
|
- PHP 8.1+ required. No runtime Composer dependencies.
|
|
- All classes prefixed `PRV_`. All options/hooks prefixed `prv_`.
|
|
- Files are kept under 300 lines; one class per file.
|
|
- See `CONVENTIONS.md` for naming patterns and extension guides.
|
|
- See `CONTEXT.md` for the domain glossary including the visibility score formula.
|