From 7bd94e8e27c8ad3631f2273d9caa5717b7d983b4 Mon Sep 17 00:00:00 2001 From: Kjell Tore Guttormsen Date: Fri, 19 Jun 2026 22:02:34 +0200 Subject: [PATCH] docs(ms-ai-architect): Sesjon 4-resultater i KB-redesign-roadmap + STATE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Markerer lag 5 (verifisering-ut) ferdig: kriterium møtt (agentic-retrieval- fixtur → flagged, ikke auto-applied). Roadmap-tabell rad 4 ✅ + resultatseksjon. STATE peker på Sesjon 5 (lag 4 transformasjon). Tester: kb-update 95. Carry-forward flagget: category-skill-map stale + datoløse-reklassifisering (operatør avgjør Sesjon 5 vs egen cleanup); authority_source 0 % → regel 3 inert til lag 3 verifisering-INN. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01REiKFhP4w6xGXXqWKpPCJJ --- docs/kb-mechanism-redesign-plan.md | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/docs/kb-mechanism-redesign-plan.md b/docs/kb-mechanism-redesign-plan.md index 9f5f376..9a96fba 100644 --- a/docs/kb-mechanism-redesign-plan.md +++ b/docs/kb-mechanism-redesign-plan.md @@ -45,7 +45,7 @@ Empiri fra søk-først kvantifiserer problemet: | **1** | **Eval-baseline + ai-foundry-probe** (read-only) | `node eval.mjs --json \| jq '.skills\|length' == 5`; 10 ai-foundry-URLer kategorisert {redirect/dead/ny-sti} med beslutning | | **2** | Taksonomi-konsolidering (lag 0) + registry-skjema (`authority_source`, `status`, kurs-felt) + ai-foundry signal-fiks | `grep -c "TARGET_PREFIXES = \[" scripts/kb-update/*.mjs == 0`; ai-foundry `not_in_sitemap` < 50 % | | **3** | Decision-ledger (lag 2) + lukk discovery-løkken gjennom gaten | Discovery 2× re-foreslår ikke en `rejected` URL (dedup-diff) | -| **4** | Verifisering-ut (lag 5) + adversarial regresjonstest | Kjent agentic-retrieval-regresjon som fixtur → `flagged:true`, ikke `auto-applied` | +| **4** ✅ | Verifisering-ut (lag 5) + adversarial regresjonstest | ✅ Kjent agentic-retrieval-regresjon som fixtur → `flagged:true`, ikke `auto-applied` (se Sesjon 4-resultater) | | **5** | Transformasjonslag (lag 4) | Regenerer 1 fil → eval-score ≥ baseline | | **Parallelt spor** | Kurs / Platform API-spike (Entra-app + token + date/product-filter) — **av kritisk vei** | `poll-training.mjs` ≥1 kurs m/ `last_modified`; ELLER kill-switch→legacy dokumentert | @@ -190,3 +190,24 @@ K1-presisjon (0,95–1,0) er **PROVISORISK** — operatør må kuratere 20 trigg - **IKKE tatt** (var «hvis tid»): `category-skill-map.json`-stale (4 entries) og datoløse-fil-reklassifisering i `getFilePriority`. Prioriterte kjerneleveransen + sporet onboarding-redesign i stedet. **Eksplisitt til Sesjon 4.** - **Nytt sporet sidespor (operatør-flagget 2026-06-19):** onboarding-/virksomhetskontekst-mekanismen oppfyller ikke «ambient i enhver interaksjon» + «overlever oppgraderinger» + mangler fritekst-felt → egen brief `docs/onboarding-redesign-brief.md` (task #26). Utenfor KB-redesignet; design godkjennes separat. - **Neste — Sesjon 4:** verifisering-ut (lag 5) + adversarial regresjonstest. Kriterium: kjent agentic-retrieval-regresjon som fixtur → `flagged:true`, ikke `auto-applied`. + +--- + +## Sesjon 4 — RESULTATER (FERDIG, 2026-06-19) + +**Akseptansekriterium møtt:** den kjente agentic-retrieval-regresjonen som fixtur → `verdict: 'flagged'`, `status_claim: true`, IKKE `auto-applied` (test `agentic-retrieval regression fixture → flagged, NOT auto-applied`). Tester grønne: validate **239** · kb-update **95** (+13) · kb-eval **13** · kb-integrity **115/115**. gitleaks: 3 PRE-EKSISTERENDE i `playground/vendor/` (utenfor scope); nye filer rene. + +**Hva lag 5 er:** verifisering-UT kjører ETTER transformasjon (lag 4) og FØR en kandidat-endring skrives til en KB-fil. Den fanger regresjons-klassen — en status-påstand «korrigert» mot en *tilfeldig sitert* side og stille auto-applyet. Den faktiske regresjonen ligger i KB: `agentic-rag-patterns.md` beskriver «delvis GA via REST `2026-04-01`; answer synthesis + multi-turn forblir preview» — en naiv auto-correct ville flatet dette til «GA» og slettet nyansen. + +**Regel (spec §21):** status-påstander (GA/preview/versjon/pris) flagges **ALLTID**, aldri auto-applyet — uansett hvor sikker evidensen ser ut. Denne regelen alene bærer kriteriet. + +**Levert:** +- **`lib/verify-out.mjs`** (ren klassifiserer, null avhengigheter — speiler `decisions-io`): `detectStatusClaim(text)` → `{isStatus, kinds[]}` (release-stage / version / price; `\bGA\b` er case-SENSITIV for å unngå norsk «ga»; bare kalenderdato ≠ status, kun `-preview`-versjoner teller). `classifyChange(change)` → `{verdict: 'flagged'|'auto-applied', status_claim, reasons[]}` med tre flag-regler: (1) **status-gate** (§21), (2) **adversarial refutering** (`refutations[].refuted===true`), (3) **autoritets-mismatch** (`source_url` ≠ utpekt `authority_source` — regresjonens rotårsak; inert mens `authority_source` er null pre-lag-3). Konservativ med vilje: ved tvil flagges. **SKRIVER ALDRI** — returnerer kun en verdict. +- **Fixtur** `tests/fixtures/kb-update/agentic-retrieval-regression.json`: den kjente regresjonens FORM (flat «generally available (GA)» mot nyansert «delvis GA … resten preview», forankret mot ikke-autoritativ `whats-new`-side). Verdiene er illustrative for regresjonen, ikke en currency-påstand (verifiseringsplikt). +- **TDD:** 13 tester FØR kode (`tests/kb-update/test-verify-out.test.mjs`), inkl. import-invariant (`verify-out.mjs` importerer ingen write-utils — ren klassifiserer). +- **Wiret i `commands/kb-update.md` §4 c2:** lag 5 kjører mellom (c) identifiser-endring og (d) skriv. `flagged` → operatør avgjør; `auto-applied` → trygt. Adversarial motbevis-panel er LLM-runtime (multi-agent foreslås i produksjon, §71). + +**Binding for Sesjon 5:** +- **Fortsatt IKKE tatt** (bevisst — utenfor lag-5-kriteriet, holdt scope ren): `category-skill-map.json`-stale (4 entries) og datoløse-fil-reklassifisering i `getFilePriority`. Små cleanups; **operatør avgjør:** fold inn i Sesjon 5, eller egen liten cleanup-commit. Ikke blokkerende. +- **`authority_source`-feltet er fortsatt 0 % dekning** (registry); lag 5-regel 3 (autoritets-mismatch) er derfor inert i praksis i dag — den aktiveres når **lag 3 verifisering-INN** (egen fremtidig fase) backfiller feltet. Status-gaten (regel 1) er full virksom uavhengig. +- **Neste — Sesjon 5:** transformasjonslaget (lag 4, doc→KB-fil, LLM-destillasjon med obligatorisk status-felt). Kriterium: regenerer 1 fil → eval-score ≥ baseline. Lag 5 (denne sesjonen) er motbevis-gaten lag 4 mates gjennom før skriving.