Commit Graph

2 Commits

Author SHA1 Message Date
Engineer (geomonitor)
b3a96cf627 Fix CI (round 2): renderer docblock alignment + ARRAY_A + delta_html ignore
- 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.
2026-06-14 13:00:58 +00:00
Engineer (geomonitor)
2a2424ce8c v0.2.1 — dashboard visuals + deploy pipeline
Piece 1 — Visuals
- Add KPI bento bar (score tile with run-health pill, cost tile, last-run tile).
  Run-health pill shows 'All models healthy' / 'N model(s) degraded' / 'No run
  yet' sourced from PRV_Model_Registry health fields via collector.
- Add config-change trendline marker: inline configMarker Chart.js plugin draws
  a vertical dashed orange line + pin at every config_version boundary.
  Legend swatch + annotation note appear when breaks exist.
- Chart sits in fixed .prv-chartbox (300px); typeof-Chart guard + .prv-noscript
  fallback — cannot grow layout, degrades gracefully offline.
- PRV_Dashboard_Renderer: new class owns bento tile + trendline rendering.
  PRV_Ai_Visibility_Panel is now a thin orchestrator (237 lines).
- PRV_Ai_Visibility_Collector: trendline query now includes MIN(config_version)
  per run; collect() adds last_run_counts and config_versions to payload.
- PRV_Admin_Page: get_dashboard_css() returns Assay dark palette CSS.

Piece 2 — Deploy pipeline
- .github/workflows/deploy.yml: on push to main, runs CI, rsyncs plugin to
  Hostinger PROD (excl. .git .github tests phpunit composer vendor phpcs *.md),
  purges LiteSpeed, health-checks (200/403). Standalone — not smoke-gated.

DoD
- Version 0.2.1 in header + constant; CHANGELOG, ARCHITECTURE, CONVENTIONS,
  CONTEXT all updated same commit.
- tests/unit/test-dashboard-panel.php: 27 assertions.
- Pre-push checks: no PHP built-in name shadows in bootstrap.php; all
  includes/*.php files <= 300 lines (max: 298).
2026-06-14 12:52:07 +00:00