// ── API: verbeterkandidaten uit de opgebouwde ervaring (AUT-S9) ──────────────
// Combineert de twee bestaande ervaringsbronnen — de gebruikslog (waar
// agenten vastlopen op de bibliotheek) en de bibliotheek-audit
// (kwaliteitsbevindingen) — via de pure motor lib/dossier/verbeterlus.ts tot
// een gerangschikte lijst verbeterkandidaten. MUTEERT niets: elke kandidaat is
// een hint die de notaris (of een agent, via het bijhorende kanaal:
// voegModelonderdeelVoorstelToe/voegModeldocumentVoorstelToe voor
// "bibliotheek", de module Verbetervoorstellen voor "code") zelf moet
// indienen — zie AGENTS.md, regime 2 (nooit rechtstreeks muteren).

import { NextResponse } from "next/server";
import { gebruikslogOpslag } from "@/lib/gebruikslog";
import { auditBibliotheek, seedModellen, seedOnderdelen } from "@/data/modeldocumenten";
import { verbeterkandidatenUitErvaring } from "@/lib/dossier/verbeterlus";

export async function GET() {
  const events = await gebruikslogOpslag().lijst();
  const auditBevindingen = auditBibliotheek(seedModellen, seedOnderdelen);
  const auditDatum = new Date().toISOString().slice(0, 10);

  const kandidaten = verbeterkandidatenUitErvaring({
    gebruikslog: events,
    auditBevindingen,
    auditDatum,
  });

  return NextResponse.json({
    aantal: kandidaten.length,
    kandidaten,
    toelichting:
      "Gerangschikte verbeterkandidaten (frequentie × ernst × recentheid), afgeleid uit de " +
      "gebruikslog en de bibliotheek-audit — geen enkele wordt automatisch ingediend. " +
      "Kanaal 'bibliotheek': dien in via voegModelonderdeelVoorstelToe/voegModeldocumentVoorstelToe " +
      "met een uitgewerkte clausuletekst. Kanaal 'code': maak een verbetervoorstel aan " +
      "(module Verbetervoorstellen). De notaris valideert.",
  });
}
