No project-level composer.lock → full Packagist fetch was timing out with
SSL error 28 on every run. Switch to setup-php built-in phpcs tool +
composer global require for WPCS, matching the pattern used in prautoblogger
which does not need a lock file for the global install path.
Refs #4
PRV_Dashboard_Renderer::render_trendline() uses esc_attr__() (the
WP function combining esc_attr + translation) for the canvas
aria-label. The stub was missing; PHP fatal on line 112 when
test-dashboard-panel.php called render_trendline() directly.
- Simplify render_bento and render_score_tile @param types in
PRV_Dashboard_Renderer from complex aligned generics to plain
'float', 'float|null', 'int', 'array', 'bool', 'string' with
uniform per-group alignment — eliminates SpacingAfterParamType
errors on lines 31-41 and 192-196.
- Add phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
above the echo $delta_html line (output built by build_delta_html
which applies esc_html() to all user-controlled values).
- Add ARRAY_A / OBJECT / ARRAY_N WP DB constants to tests/bootstrap.php
— PRV_Ai_Visibility_Collector::collect() passes ARRAY_A to
$wpdb->get_results(); the constant was never defined in bootstrap
because existing tests only call run() not collect() directly. The
new test-dashboard-panel.php test calls collect() and hit the
undefined constant fatal.
- Simplify @param type-hints in render_bento_band docblock from
complex array<K,V{...}> generics to plain 'array' — eliminates
SpacingAfterParamType alignment errors (PHPCS rule requires exact
column alignment across multi-param functions; long generics are
impossible to auto-align). Alignment is now uniform (longest type
'string' = 6 chars; all others padded to col 7).
- Add phpcs:ignore comment on line above the /
echo (dot is a fixed HTML entity; label is escaped by esc_html__()).
- Add _n() stub to tests/bootstrap.php — WP plural-form helper used
by derive_health_pill_state(); not a PHP built-in; was missing.
Rename to PR Vision (PRV_/pr-vision); fix www-strip char-mask in competitor display (str_starts_with); make PHPCS a CI gate; remove dead in-run cache.
QA: APPROVE — qa-reviews/pr-vision/2026-06-13-c633fdb9e1541386a713a6de12d2ee2ae4239640.md
Agent-Session: pr-vision rename v0.1.1 merge