Commit graph

2 commits

Author SHA1 Message Date
d548d8a8a8 qa: hourly in-process heartbeat + run pruning
- runner: QA_HEARTBEAT_MIN (default 60) in-process timer runs a scheduled QA
  pass; one pulse ~90s after boot. Triage (LLM) skipped on clean scheduled runs
  to save tokens; only manual runs or runs with errors get a written summary.
- qa-finish.php prunes to the 50 most recent runs.
- systemd unit exposes QA_HEARTBEAT_MIN for tuning.
2026-07-24 09:47:29 +00:00
56c1926b81 qa: QA agent — HTTP site testing with one-click Web Designer fixes
- migration 013: cja_qa_runs + cja_qa_findings
- runner: runQa (crawl pages/links/images/external/contact-probes/health/
  SEO/meta/sitemap/a11y), qaTriage (LLM summary via qa skill), /devconsole/qa/run
- qa-start/finish/routes.php CLI bridge
- adminqa controller (runs/findings/fix/ignore); fix() chains to the Web
  Designer queue; /admin/qa report page + nav link
- qa skill; contact form probed via honeypot (writes nothing)
2026-07-24 03:30:13 +00:00