feat(system): native Overview with health report and statistics

System > Overview renders the concept's metrics and its Library health and
Workspace preferences surfaces from GET /system/overview: real counts,
"Not checked" until a health check ran, no invented review count, backup
or thumbnail status (D93). Explore opens "Usage statistics" with the real
runs and ratings per category and the Library totals (D96); the
statistics route now also returns rated_images.

Maintenance shows the concept's notice with Run health checks above its
hand-off: the read-only check runs as a registry read job and opens the
"Health report" with a chip per real result, missing files per source
(D95). A load failure shows Retry and no zeros; late answers never
repaint a newer section.

Adds the System concept comparison (shell, Overview, both dialogs, the
notice, mutation checks), the System workflow spec and its fixture
hooks, and the TESTING.md "Native System" section.
This commit is contained in:
Vito Sansevero
2026-10-23 01:52:07 -07:00
parent a997fc0bcd
commit f43a222ffc
12 changed files with 1439 additions and 7 deletions
+10 -3
View File
@@ -9,7 +9,8 @@
one, no health result until a check ran, and no Needs-review count until
the review queue exists.
- ``GET /prompt_manager/system/statistics`` lists runs and ratings per
category, with the legacy ``/stats`` totals.
category, with the legacy ``/stats`` totals and the Overview's count of
rated images (images whose linked prompt is rated).
New routes answer errors with ``{success:false, code, error}``.
"""
@@ -167,14 +168,20 @@ class SystemRoutesMixin:
async def get_system_statistics(self, request):
try:
by_category, totals = await asyncio.gather(
by_category, totals, counts = await asyncio.gather(
self._run_in_executor(self.db.usage_by_category),
self._run_in_executor(self.db.get_statistics),
self._run_in_executor(self.db.library_counts),
)
except Exception:
self.logger.exception("System statistics failed")
return _failure("Failed to read statistics")
return web.json_response(
{"success": True, "by_category": by_category, "totals": totals},
{
"success": True,
"by_category": by_category,
"totals": totals,
"rated_images": counts["rated_images"],
},
headers={"Cache-Control": "no-store"},
)