=== R2 Spec Check ===
Contributors: rise2studio
Tags: checklist, launch, security headers, seo, accessibility
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
Stable tag: 1.3.0
License: GPLv2 or later

A pre-launch checklist that measures the site instead of trusting it.

== Description ==

Most of a launch checklist is not a property of the code — it is a property of
the deployed site. A theme can enqueue with `defer`, but only the live response
says whether the CDN stripped it. A plugin can offer an HSTS toggle, but only
the response header says whether it is on for this install.

R2 Spec Check fetches this site's own front end over HTTP and reports what the
server and the page actually send, across eight groups: Foundations, SEO,
Security, Performance, Privacy, Accessibility, Agent readiness and Resilience.

Every failure comes with a plain explanation and the next action. Where one of
our own plugins already solves the item, the fix names it and the exact toggle.

= Deliberate behaviour =

* Nothing runs on a page load — no cron, no activation scan, no front-end code.
* A scan happens when an administrator presses the button and takes a few
  seconds, because it makes real HTTP requests to this server.
* Checks that cannot be measured are reported as "not measured" rather than
  hidden. An unmeasured check is not a passing one.

== Frequently Asked Questions ==

= Does this replace Lighthouse? =

No. Lighthouse runs the page in a real browser and scores it properly. This
reports the server and document facts a lab run does not state plainly, and it
knows about your plugin stack.

= Does it change anything on the site? =

No. It is admin-only and read-only. The only thing it writes is its own report.

== Changelog ==

= 1.3.0 =
* The screen is built with R2 UI, the RISE2 admin kit: totals as cards, one panel per group with its failing, worth-a-look and not-measured counts, a status badge with text on every row, and one result per block on phones.
* The menu entry is "R2 Spec Check" (Tools), like every RISE2 plugin. The screen's address is unchanged.
* After a scan a "Scan finished." message appears, and the run button shows a spinner while the scan runs.
* A status the plugin does not know (from a project's own check) counts as "not measured", never as passing.

= 1.2.1 =
* Fixed: on PHP 8.0 the plugin did not load at all (a PHP 8.1-only construct in the result class); it now runs on PHP 8.0 as declared.
* The description lists all eight groups.

= 1.2.0 =
* Added: Accessibility group (markup-level), and an evidence marker on every result.

= 1.1.1 =
* llms.txt: a server error now fails; a clean 404 still does not.

= 1.1.0 =
* Added: Agent readiness group (AI crawler policy, TDM rights reservation).

= 1.0.1 =
* Fixed: the Run scan button ended on a blank page.

= 1.0.0 =
* First release.
