ms-ai-architect/scripts/kb-eval/judge-prompt.md
Kjell Tore Guttormsen 75ee9ec062 feat(ms-ai-architect): Spor 3 Port 3 (CT5) — deterministisk sourcedness erstatter LLM-samplet K8 [skip-docs]
§4 Port 3 verifiseringskrav: «CT5 (sourcedness) ERSTATTER K8s rolle». K8 var
LLM-judge (sample 5 ref-filer, ikke-deterministisk); CT5 er samme signal gjort
deterministisk + hel-korpus fra Port 1-kontrakten. Per ref-kb-direction-note §45
MÅ de ikke leve parallelt (dobbelttelling + divergerende dashbord) — så K8 er
fjernet, ikke duplisert.

eval.mjs: checkCT5(refFiles) — blant filer som deklarerer type:reference, andel
med **Source:** (template/methodology/regulatory ekskludert fra nevneren).
Wiret som deterministic.CT5_sourcedness. parseTypeHeader/parseSourceHeader
importert fra kb-update/lib/kb-headers (tillatt retning).

skill-score.mjs: K8-kriteriet (source:judge) → CT5 (source:det, vekt 1).
available:false når referenceFiles=0 → droppet fra vektet snitt → tanker IKKE
scoren på umigrert korpus (alarm-tretthet unngått, direction-note §45).

judge-prompt.md: K8 fjernet fra rubrikk/instruksjon/JSON (judgen gjør nå
K1/K4/K7/K9).

Ekte kjøring: alle 5 skills CT5 dormant (referenceFiles:0, umigrert), scorer
uendret (91-96, 0 under mål). CT5 aktiveres deterministisk når Spor 1 migrerer.

TDD (Iron Law): 5 checkCT5 + 3 CT5-integrasjon; død K8-fixture-data ryddet.
Suite 620/620. Plugin-validering 239/0/0.
2026-06-29 15:10:14 +02:00

42 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# LLM-judge-rubrikk (K1/K4/K7/K9) — skill-kvalitet, ms-ai-architect
Pinnet rubrikk for de semantiske eval-kriteriene som ikke kan måles deterministisk.
Kjøres som operatør-gated subagent-steg (Opus, én dommer per skill). De deterministiske
kriteriene (K2/K3/K5/K6 + ref-tall + CT5 sourcedness) måles av `eval.mjs`; denne dekker
resten. (Sourcedness var tidligere LLM-samplet K8; nå deterministisk CT5 — se eval.mjs.)
Placeholders: `<NAME>` = skill-navn, `<ROOT>` = plugin-rot, `<PATH>` = sti til SKILL.md.
---
Du er en skill-kvalitets-dommer (LLM-as-judge) for ms-ai-architect. Vurder skillen
`<NAME>` mot K1/K4/K7/K9. Plugin-rot: `<ROOT>`. SKILL.md: `<PATH>`. Referansefiler:
`<ROOT>/skills/<NAME>/references/`.
Les SKILL.md i sin helhet. Vær streng og adversariell — ikke ros, ikke pynt på tall.
- **K1 trigger-presisjon:** last det operatør-kuraterte settet for `<NAME>` fra
`<ROOT>/scripts/kb-eval/data/k1-trigger-prompts.json` (nøkkel `<NAME>`: `in_domain` [10] +
`out_of_domain` [10]). IKKE generer egne prompts. For HVER prompt, avgjør KUN fra `description`-feltet
i `<PATH>` om skillen burde trigge (ignorer body, ref-filer og intent). Scoring: en `in_domain`-prompt
er en TREFF hvis den trigger; en `out_of_domain`-prompt er en FALSK POSITIV hvis den trigger. Rapporter
`inDomainHitRate` (treff/10), `outDomainFalsePositiveRate` (falske positive/10), samlet `precision`
(korrekte/20) og `misclassified` (list de feilklassifiserte promptene + hvorfor). Settet er
operatør-kuratert → sett `provisional=false`. pass = `inDomainHitRate ≥ 0.90` OG
`outDomainFalsePositiveRate ≤ 0.10`.
- **K4 ingen duplisering (SKILL.md ↔ ref-filer):** score 15 (5 = ingen duplisering). Finnes detalj
i SKILL.md body som dupliserer ref-filer? Gi konkret eksempel. pass = score ≥ 4.
- **K7 imperativ/instruksjons-stil:** sample 10 instruksjonssetninger fra body; andel i
imperativ/infinitiv. pass = ratio ≥ 0.80.
- **K9 ingen VOLATIL tid-sensitiv info i SKILL.md body:** finnes **volatile** påstander DIREKTE i body
(ikke i ref-filer) — GA/preview-release-status, modellversjoner, SLA-/ytelses-/pris-tall, regions-
tilgjengelighet? List funn. pass = ingen volatile funn. **Utenfor scope (ikke funn):** stabile
identifikatorer som forordningsår (2024/1689), lovsaksnr (C-311/18), standard-versjonsnavn
(OWASP LLM Top 10 2025, MADR v3.0), filnavn og generisk forklarende «preview»/«GA» uten konkret
produkt-status. Disse er navngitte identifikatorer, ikke ferskhets-sensitive påstander.
RETURNER KUN dette JSON-objektet (ingen annen tekst, ingen markdown-fence):
```
{"skill":"<NAME>","K1_triggerPrecision":{"provisional":false,"inDomainHitRate":0.0,"outDomainFalsePositiveRate":0.0,"precision":0.0,"pass":false,"misclassified":[],"notes":""},"K4_noDuplication":{"score":0,"pass":false,"evidence":""},"K7_imperativeStyle":{"ratio":0.0,"pass":false,"notes":""},"K9_noTimeSensitive":{"pass":false,"findings":[]}}
```