import { listRuns } from "@autoscholar/core"; import Link from "next/link"; import { StatusBadge } from "@/components/StatusBadge"; import { ago } from "@/lib/format"; import { db } from "@/lib/server/db"; export const dynamic = "force-dynamic"; export default async function QualityIndex() { const runs = await listRuns(db(), { status: [ "quality_check", "quality_failed", "ready_to_publish", "awaiting_approval", "publishing", "published", ], limit: 200, }); return (

Gates

Quality

Deterministic gate outcomes computed on the control plane. Overrides are limited to soft/structural gates and are recorded with a rationale.

{runs.length === 0 && ( )} {runs.map((r) => ( ))}
Run Status Mode Updated
No run has reached quality evaluation.
{r.title} {r.researchMode} {ago(r.updatedAt)}
); }