Commit graph

84 commits

Author SHA1 Message Date
c13b7505e0 docs(ms-ai-architect): Spor 1 — authority-URL valgt per reference-fil (manifest source-satt) [skip-docs] 2026-07-04 09:04:24 +02:00
f8e420c773 docs(ms-ai-architect): G6 §8-register — Layer B (b) lukket 2026-07-04 (gaten bygget/wiret), Layer A (a) aktivering gjenstår [skip-docs] 2026-07-04 07:14:35 +02:00
687a15138e docs(ms-ai-architect): forankre ingestion-security-brief (G6 §8 / R6 punkt d — to-lags gate) [skip-docs] 2026-07-04 06:47:10 +02:00
eeb343192d docs(ms-ai-architect): G6 ingestion-gate ført i §8-register + roadmap (R6 design, R7+ håndhevelse) — llm-security aktiveres i fetch-økter [skip-docs] 2026-07-03 05:42:31 +02:00
f0d7f91d42 docs(ms-ai-architect): Spor 1 — edge-set-klassifisering adjudert (manifest finalisert) [skip-docs] 2026-07-03 01:05:28 +02:00
f3d52e0692 docs(ms-ai-architect): R0 tillit + dok-hygiene — anonymiser handover-kontekst, rett stale CLAUDE.md-pekere, programdok §6 à jour med §8, superseded-merke på workflow-plan, fjern For Cosmo-instruks [skip-docs] 2026-07-03 00:39:59 +02:00
4050c8bc21 docs(ms-ai-architect): skill-validerings-rutine-brief (AI-Engineer-lens, Trinn 0-4) — input til R15 /trekplan [skip-docs] 2026-07-03 00:39:59 +02:00
099c41aab2 docs(ms-ai-architect): styrende sesjons-roadmap R0–R18 fra full statusanalyse 2026-07-02 [skip-docs] 2026-07-02 17:28:19 +02:00
3b1406e090 docs(ms-ai-architect): kanoniser skill-eval ↔ Spor 1-koblingen i §6 Avhengigheter [skip-docs] 2026-06-30 22:16:30 +02:00
da8606f9f6 feat(ms-ai-architect): G2 LUKKET — adoptert v3.1-judge wired inn i pipeline (JUDGE_VERSION 2→'3.1', TDD, suite 641) [skip-docs] 2026-06-30 21:55:39 +02:00
09bc99eec8 feat(ms-ai-architect): G1 LUKKET — v3.1 judge MÅLT + ADOPTERT (P100/R100/0FP/0FN, max-utfall)
45-veis v3.1 fan-out kjørt per runbook: 255 claims / 45 filer, 45 Opus-4.8-xhigh-
subagenter (live MS Learn, blinde for gull, én per fil), aggregert 255/255 rent →
deterministisk re-score mot G5b-korrigert gull.

Resultat: v3.1 = P 100,0 / R 100,0 / 0 FP / 0 FN / F1 1,000 (TP 42, TN 198) mot
v3-baren P 100,0 / R 92,9 / 3 FN. Alle 3 gjenstående FN fanget (R1 øvre-grense,
R7 last-bærende-streng, R8 fler-delt) UTEN én ny FP. Forhåndsregistrert gate
(hold P=100 ∧ løft R>92,9) klarert → v3.1 ADOPTERT som judge.

R1-«+»-floor-flagg over full populasjon avkreftet som FP-risiko: alle matchet gull
(decision-changing floors = outdated/TP; tette floors = correct/TN). §8 G1 lukket,
G2 avblokkert (v3.1 = prompt å wire i transform.mjs). Suite 641/641. [skip-docs]
2026-06-30 21:33:45 +02:00
52e822376b feat(ms-ai-architect): v3.1 fan-out resume-prep — deterministisk payload-generator (build-judge-payloads.mjs) + selvbærende runbook; torsdag = kun spawn+score [skip-docs] 2026-06-30 13:54:36 +02:00
045db566ba feat(ms-ai-architect): G5b gull-friskhets-spot-sjekk LUKKET — 4 v3-FP re-adjudert mot live, ALLE stale gull (v3 flagget korrekt), baseline løftet v3 P89.7/R92.1 → P100/R92.9/0FP; v3.1 forfattet (ren recall-hardning, FP-vakt droppet) [skip-docs] 2026-06-30 13:43:52 +02:00
707a1b8edc docs(ms-ai-architect): skill-eval-rutine v2 brief — Pocock-lens + best-practice-triangulering (offisiell Anthropic + community-lintere); nytt spor, research-grunnet [skip-docs] 2026-06-30 12:52:03 +02:00
bc3fc85b20 feat(ms-ai-architect): G5 gull-friskhets-mikropass LUKKET — 2 gull-feil rettet (genaiops#2, model-selection#8), v3 REHABILITERT — slår v2 på fersk gull (P 89.7/R 92.1 vs 86.8/86.8); adopsjonsbeslutning reversert [skip-docs] 2026-06-30 11:21:45 +02:00
8ca8f33835 feat(ms-ai-architect): G1 v3 bake-off MÅLT — v3 regredierte (P 92.1→89.7, R flat), v2 beholdt; G5 gull-friskhet åpnet [skip-docs] 2026-06-30 10:54:39 +02:00
fde6ac1c1f feat(ms-ai-architect): judge-claim-prompt-v3 (R1-R7 mot 8 feilmoduser) — G4 lukket, G1 v3 forfattet [skip-docs] 2026-06-30 10:14:31 +02:00
9b147b470f feat(ms-ai-architect): G3 gull-intern-konsistens-lint + G4 build-instruks-policy — §8 gap-lukk [skip-docs] 2026-06-30 09:55:15 +02:00
b9db0b2be2 docs(ms-ai-architect): §8 mekanisme-gap-register — G1-G4 fra Spor 2b MÅ-lukk [skip-docs]
Stående disiplin (operatør): hvert gap funn->forhindrende-mekanisme spores + MÅ lukkes i fremtidig sesjon. G1 judge-v3 (8 modi, målt), G2 wire v3 i Port 2/3, G3 gull-konsistens-lint, G4 kod nedre-grense-policy. Alle MÅ før Spor 1 korpus-pass.
2026-06-30 08:51:28 +02:00
4ab1138760 feat(ms-ai-architect): Spor 2b gull-rekonsiliering — 12 uenigheter løst, fasit herdet (P 84→92%, R 84→88%) [skip-docs]
4 gull-feil rettet (FP1/FP2/FP6/FN1) + 1 note-fiks (FP4); 8 judge-feil dokumentert som kalibreringsmål for Spor 2a/judge-prompt-v3. Hver endring live-belagt mot MS Learn. Nedre-grense-policy vedtatt. 0 uløste uenigheter. Suite 637/637. Logg: docs/ref-kb-gold-reconciliation-2026-06.md; herdet rapport: judge-bakeoff-report-v2-reconciled (frozen v2 beholdt).
2026-06-30 07:20:21 +02:00
f508380131 docs(ms-ai-architect): marker Spor 3 Port 3 KOMPLETT (P3d full-pass worklist) i programdok [skip-docs] 2026-06-29 15:35:23 +02:00
3d6fab12f7 docs(ms-ai-architect): marker Spor 3 Port 3 inkr/gulv/CT5 ferdig i programdok [skip-docs]
§4 status-stempel + §6 status-tabell: Port 1+2+3(inkrementell/rapporterende
gulv/CT5) . Gjenstår Port 3 periodisk full-pass (P3d, LLM-judge på kadens),
uavklart designvalg inline vs arbeidsliste. Holder kanonisk mekanisme-dok ærlig
for neste sesjon.
2026-06-29 15:11:33 +02:00
72a7e2b84e docs(ms-ai-architect): ratifiser OKF second-brain spec v0.1 + adapter lokal plan [skip-docs]
- Lokal brief refererer naa delt catalog/docs/okf-second-brain/spec.md (eneste kilde),
  restater ikke konvensjonen.
- Premiss-korreksjoner (spec §9): mdcode != OKF-verktoey (droppet); ingen gjenbrukbar
  OKF-ingest-kode (reference_agent GCP/Gemini-bundet -> prompt-moenstre, ikke kode);
  kanonisk anbefalt felt = resource (ikke source).
- Full OKF-pakke-ambisjon bestaar; minimal kontrakt (spec §3) = gulv, rike felt =
  extension keys (spec §5). Scope: kun brukerens second brain, IKKE de 389 skill-refs.
  Bygging = separat go.

OKF second-brain spec v0.1 ratified + plan adapted (2026-06-29)
2026-06-29 09:46:10 +02:00
2b6fb62f53 docs(ms-ai-architect): nær-100% korrekthets-program + kontinuerlig-trust-mekanisme + Spor 0-fiks-manifest [skip-docs]
Operatør-mandat: alle reference-filer 100% til å stole på til enhver tid + mekanisme
som sikrer det. Full kvalitetsoffensiv godkjent (Spor 0 først, så skala).

- docs/ref-kb-correctness-program-2026-06.md: 4 spor + MEKANISMEN (§4) — invariant
  håndhevet av 3 porter (frontmatter-kontrakt / create-time-guard / kadens-judge);
  ærlig tak (sample vs korpus, asymptotisk 100%, pris uverifiserbar); Voyage-plan;
  nordstjerne-verifisering (ferskt gull-utvalg, mål <2% feilrate).
- spor0-fix-manifest.json: 38 deterministiske fikser (25 filer), hver reverify_required.

Spor 0 utføres i fokusert sesjon m/ kilde-reverifisering (kvalitetsbar > hastverk).
2026-06-26 21:37:47 +02:00
4cd290c14b feat(ms-ai-architect): S1 v2 targeted iteration — GATE PASS (recall 84.2%, precision 84.2%) [skip-docs]
Operatørvalg (c): én målrettet, prinsipiell prompt-iterasjon på den diagnostiserte
grounded-men-feil-feilmoden (eksakt-verdi-entailment). Terskel uendret; v1 frosset.

Full blind v2 fan-out (15 batcher Opus 4.8 xhigh, 255 P-påstander dekket):
- judge v2: recall 84.2% (32/38, PASS >=0.80, Wilson [69.6-92.6%]), presisjon 84.2%
  (PASS >=0.70), F1 0.842, slår staleness 0/38.
- Fiksen løste målet: sku recall 37.5%->75.0%, taxonomy 66.7%->100%.
- +6 ekte fangster (26->32) uten netto nye FP (6->6) => recall OG presisjon opp.

Forbehold (ærlig): andre måling på samme frosne sett etter v1 (erkjent); Wilson nedre
grense 69.6% < 0.80 ved n=38; én iterasjon. Gate-logikk => vei mot S3. Stoppet for
operatør-beslutning (S2/S3), eskalerer ikke selv.

run-judge-bakeoff.mjs: --results/--report-prefix flagg (v2 uten å klobbe v1). Suite 552/552.
2026-06-26 21:23:50 +02:00
79e34312ea feat(ms-ai-architect): S1 judge bake-off RESULT — GATE FAIL (recall 68.4% < 80%) [skip-docs]
Blind fan-out: 15 batcher Opus 4.8 xhigh, 255 P-påstander dekket (0 missing/dupes/extra),
hver judget mot live MS Learn via microsoft_docs_fetch (judgen så aldri gull-verdict).

Resultat mot forhåndsregistrert gate (recall >=0.80, presisjon >=0.70):
- judge: presisjon 81.3% (PASS), recall 68.4% (FAIL, Wilson [52.5-80.9%]), F1 0.743, 26/38 fanget
- staleness baseline: recall 0/38 (judge slår den desisivt)
- recall-drag konsentrert: sku 37.5%, taxonomy 66.7%; version/status/tpm allerede 80-86%
- 10/12 bommer var grounded-men-feil (brittle dekomponering, isolert til sku/taxonomy)

Per pre-registrert gate: STOPP, bygg IKKE S3. Fork (operatør) registrert i plan-doc:
(a) honorer FAIL, (b) scoped judge, (c) målrettet iterasjon + re-kjør.
2026-06-26 20:45:09 +02:00
3e39f2df6b feat(ms-ai-architect): S1 judge bake-off harness + forhåndsregistrert gate (TDD) [skip-docs]
Deterministisk de-risk-harness for Fase 3-judgen (kjøres på frosset 373-påstands gull-sett):
- lib/judge-bakeoff.mjs: P-filter (volatil+fetchbar, price ekskl.), confusion-matrix
  for 3 armer (staleness/judge/hybrid), Wilson-bånd, forhåndsregistrert gate. 14 tester.
- extract-judge-claims.mjs: blind manifest (255 påstander, 0 label-lekkasje — testet invariant).
- judge-claim-prompt.md: blind per-påstands groundedness-judge (Opus xhigh, microsoft_docs_fetch).
- run-judge-bakeoff.mjs: join gull+results på id, gate-rapport (.json/.md).

Gate FORHÅNDSREGISTRERT (operatørvalg, før fan-out): recall ≥0.80, presisjon ≥0.70,
OG slår staleness (0/38). Evalueringspop P = 240 verifiserbare, 38 positive.
Suite 551/551 (538 + 13 nye).
2026-06-26 20:10:58 +02:00
f3836b0cfe docs(ms-ai-architect): roadmap mål-først — de-risk judge (S1 bake-off) før scaffolding (S3) [skip-docs]
Bake-off bruker frosset gull-sett (evidence_url per paastand) -> uavhengig av backfill/frontmatter -> mål judgen FOERST. S3 (backfill+full frontmatter) gated bak S1: judge-spesifikk scaffolding, wasted hvis judgen ikke slaar staleness. S2 (type-tag) judge-uavhengig, kan tas foer/parallelt. Respekterer operatoerens maal-foerst-preferanse.
2026-06-26 17:50:46 +02:00
54b203eae7 docs(ms-ai-architect): fler-sesjons-roadmap etter Fase 0-gaten (S1-S4 kritisk sti + side-spor + Cosmo-resolusjon) [skip-docs]
Kritisk sti: S1 type-tag -> S2 backfill+frontmatter -> S3 judge+bake-off -> S4 integrasjon. Side-spor: SH (TOC, 1c foer 1b), S-Cosmo (sist, absorberer advisor-strukturarbeid), S-OKF. Hver sesjon har kjoerbar gate. Cosmo-kollisjon loest: bake-off bruker frosset gull-sett (uavhengig av frontmatter); advisor produksjons-frontmatter folder inn i S-Cosmo. Gating-valg 1 (maal-foerst vs bygg-begge) loest av gaten.
2026-06-26 17:47:56 +02:00
49fd18c6d2 feat(ms-ai-architect): Fase 0 steg 3 — base-rate-rapport + GATE: BYGG Fase 3 (scoped/hybrid) [skip-docs]
compute-base-rate.mjs (tynn CLI over testet lib/base-rate.mjs) -> base-rate-report.{json,md}.
373 paastander: verifiserbar feilrate 13,4 % (40/299), Wilson [10,0 %, 17,7 %]; unsourced 19,8 %.
staleness-recall 0/40 = 0 % -> korrekthets-judge er eneste mekanisme som fanger feilene.
Feil konsentrert i fetchbare typer (sku 36 %, version 25 %, tpm 20 %); pris 74 % unsourced -> operatoer-gated.
GATE besluttet i plan-doc: BYGG Fase 3 scoped til fetchbare claim_types (taxonomy/status/version/tpm/sku/region); pris ikke maskinverifiserbar.
2026-06-26 17:15:54 +02:00
91556a38b5 docs(ms-ai-architect): marker Verified-trust-hazard LØST (83fd9b5) + åpent bump-spørsmål 2026-06-26 12:33:16 +02:00
5cff871c99 docs(ms-ai-architect): noter Verified-trust-hazard som rest (selv-erklært ≠ eksternt sjekket) 2026-06-26 12:08:24 +02:00
7ec5ac60b8 docs(ms-ai-architect): Fase 0 utførelses-spec (locked) — ~45 filer + kontroll-stratum, registry-inversjon, gull-set-schema 2026-06-26 11:57:32 +02:00
bfc79710c8 feat(ms-ai-architect): insertToc + backfill-toc applier (Fase 1b-verktøy) — store-fil-TOC foldet inn i Cosmo-utfasing
1b-premisset (ikke-advisor storfiler er Cosmo-frie, trygt å TOC-e nå) er
motbevist mot ground truth: 11/12 har en `## …Cosmo…`-overskrift → en TOC
bygget fra `##`-overskriftene ville emittert ny Cosmo-anker (bryter «aldri
ny Cosmo-innhold»), og å nøytralisere overskriften er selve persona-fjerningen
(ikke en sidehandling — scope-guard). Store-fil-TOC (de 20 filene >800 linjer,
advisor + ikke-advisor) folder derfor inn i Cosmo-utfasingen. Denne committen
leverer kun det gjenbrukbare verktøyet; ingen ref-filer rørt.

- transform.insertToc: retrofitter `## Innhold` i en eksisterende storfil rett
  før første ikke-fence `## `-seksjon (samme slot som composeKbFile), robust mot
  de 3 legacy-header-variantene (med/uten `---`), idempotent, fence-aware.
- scripts/kb-update/backfill-toc.mjs: dry-run/--write applier (ren glue rundt
  insertToc; transform.mjs forblir write-fri — arkitektur-invariant).
- docs/cosmo-removal-brief: «Sammenfall»-seksjon dokumenterer fold-inn + bruk.
- TDD: +6 transform-tester. Suite 509/509 (kb-update 355 + kb-eval 154).
2026-06-26 11:43:30 +02:00
89eccf8881 docs(ms-ai-architect): Fase 1a A+B levert, C utsatt → Cosmo (roadmap-fangst)
Marker A (sitemap-prefiks 18→23) + B (skjemaløs URL-ekstraksjon) som levert
i workflow-planen med bevist effekt (21/24 rescued, +19 ekstraherbare).
Endring C (redirect-følging, 44 legacy m365-copilot + 3 omdøpte) foldet inn i
Cosmo-utfasingen — 20/21 filer er advisor, redigeres uansett der; root-cause
citat-fiks via ekte redirect-resolusjon (slug-rename verifisert). Registry-
refresh utsatt til neste kadens. Operatør-beslutninger 2026-06-26.
2026-06-26 10:34:48 +02:00
6ae0ed5821 docs(ms-ai-architect): reconcile ref-KB named/folder-premiss — 169/220/0 autoritativt
ref-file-audit.py re-kjørt: reproduserbart 169 navngitt / 220 mappe / 0 orphans.
Workflow-akse-1s 151/238 var et ikke-reproduserbart engangsanslag (strammere
named-heuristikk) — forkastet. Immaterielt: intet tiltak kjører på named/folder-
grensen, kun «0 orphans» (begge enige). Lukker reconcile-flagget i plan + notat.
2026-06-26 10:15:46 +02:00
d98cce371a docs(ms-ai-architect): gjennomtenkt plan for ref-fil-kvalitet + workflow (Fase 0-4, gated)
Fase 0 (gull-testsett/base-rate) gater korrekthets-bygging; Fase 1 trygge grep
(registry-herding + TOC + generator-anti-regresjon); Fase 2 minimal type-tag;
Fase 3 #2-på-#3-judge betinget; Fase 4 integrasjon. OKF-brief: full pakke for
second brain + følg standarden (operatør-direktiv).
2026-06-26 01:02:15 +02:00
1ed6efe3b0 docs(ms-ai-architect): ref-KB retningsnotat (mål-først, #2-på-#3) + OKF second-brain brief
Ref-KB-korrekthet: dynamic-workflow-analyse (5 akser + adversariell kritiker) →
mål base-rate FØR bygging; hvis judge, #2 på #3s substrat, aldri #1. OKF holdes
UTENFOR skill-refs — reservert brukerens second brain (egen brief, scope-grense).
2026-06-26 00:47:07 +02:00
5d1ff620be docs(ms-ai-architect): ref-KB audit — verifisert ground truth + reproduserbart audit-skript
Read-only audit av 389 ref-filer: 0 ekte orphans (mappe-referanse), 6 ekte
datoløse, median 481 linjer (183 >500), 34 header-varianter, 21% uten kilde-URL.
Spor D-scorer 91-96 (struktur sunn) — innholdskorrekthet er den umålte aksen.
Beslutningsnotat for retning genereres separat.
2026-06-26 00:25:39 +02:00
fe0bc9a648 docs(ms-ai-architect): noter ref-fil innholdskvalitet-gap i backlog — Spor D scorer struktur/hygiene (K8/N3/N4/refCount), ikke substansiell korrekthet mot MS Learn; 3 retningsvalg å avklare før bygging 2026-06-26 00:12:04 +02:00
7c41e20d7f docs(ms-ai-architect): planlegg Cosmo-persona-utfasing (brief + backlog) — godkjent 2026-06-24, gjøres sist; KB-refresh markert ferdig (alle tiers 0) 2026-06-24 14:00:37 +02:00
fd60e22c87 docs(ms-ai-architect): KB-refresh backlog — prioritert tier/batch-rekkefølge etter critical-klyngen
Formaliserer gjenstående KB-refresh (97 filer: High 11, Medium 33, Low 52, Unverified 1)
i tiered + batchet rekkefølge med bevist arbeidsmønster og foreslåtte release-versjoner
(HIGH→v1.16.3, MEDIUM→v1.16.4, LOW→v1.16.5). Noterer separate spor (Spor C kurs-deteksjon,
onboarding-uplift) som egen prioritering. STATE.md peker hit.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 10:17:07 +02:00
24ea2ef508 docs(ms-ai-architect): apply-brief critical cost-cluster KB-refresh (7 drift-rapporter)
Samler drift-funn fra 7 parallelle research-agenter for de gjenstående critical
cost-filene + main-agent direkte-verifiserte ground-truth. Resumerbar apply-plan;
NYE påstander merket VERIFY (må bekreftes mot kilde før skriving — verifiseringsplikt).
1/8 (ptu-vs-paygo) allerede ferdig i d36cddd.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 21:59:11 +02:00
d00ea93081 chore(ms-ai-architect): release v1.16.1 — KB-refresh (tema a+b+RBAC)
Frigir akkumulert KB-arbeid som lå ufrigitt på main siden v1.16.0:
- Modellkatalog GPT-5.1 → GPT-5.5 (3 filer)
- Foundry-navnesveip «Azure AI Foundry» → «Microsoft Foundry» (233 filer, 810 forekomster)
- RBAC-rolle-renavn «Azure AI User» → «Foundry User» (1 fil)

Kun reference docs — ingen kommando-/agent-/skill-endringer. validate-plugin 239/0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 21:33:28 +02:00
c1a09062d4 feat(ms-ai-architect): Spor D steg 2 — score-skill CLI (--json/--gate/--skill) (TDD)
Byggekloss for både SessionStart-surfacing og lifecycle-gate (D3).

- eval.mjs: ekstraher buildReport() (eksportert, testbar) ut av main() —
  samler hele korpus-rapporten (deterministisk + K10 + merget judge-cache).
- lib/skill-score.mjs: formatScoreReport() (ren) — sortert forbedringsrapport
  med score, status, floored/provisional/ujudget-tags og ⚑gulv-markering.
- score-skill.mjs (NY CLI): buildReport → scoreReport → render/json/gate.
  --skill scorer hele korpuset (K10 trenger alle søsken) men rapporterer/gater
  kun den valgte → inkrementell enkelt-skill-scoring for D3 lifecycle-gate.
- docs/development.md: ny «Skill-kvalitetsscore (Spor D)»-seksjon.

Live baseline: advisor 91, governance/security 96 (OK); engineering +
infrastructure 89 (floored av K10-gulv) UNDER mål. Gate exit=1.

Tester: kb-eval 134→142 (+8). validate 239, kb-update 316 uendret grønt.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 17:16:44 +02:00
bab9f2d23d feat(ms-ai-architect): Spor D — skill-quality score-motor (ren lib + rubrikk grunnet i Anthropic) (TDD)
Objektiv 0-100 kvalitetsscore per skill, operatør-besluttet modell: vektet
delpoeng + hardt gulv på de load-bearing kriteriene (K1 trigger-presisjon, K10
søsken-overlapp) — en skill som ikke trigger riktig eller overlapper en søster
kan aldri «bestå» 90 %, uansett form.

Rubrikken er VERIFISERT mot Anthropics faktiske skill-authoring-guidance
(platform.claude.com best-practices + skill-creator + plugin-dev + engineering-
bloggen) og er nesten 1:1 med deres kanoniske sjekkliste — ikke akademisk
oppfunnet. Kilder + vekter/gulv låst i docs/skill-quality-scoring-plan.md.

scripts/kb-eval/lib/skill-score.mjs (NY, ren): scoreSkill(evalObj) konsumerer
eval.mjs-objektet (K1-K10 + judge-cache) → {score, rawScore, floored, judged,
provisional, criteria[], improvements[], meetsTarget}. Degraderer pent når
ujudget (judge-kriterier ekskludert, K1-gulv kan ikke håndheves → provisional;
K10-gulvet deterministisk → gjelder alltid). scoreReport() summerer < 90.

Tester (+10): 100-score, gulv kapper ved K1/K10-fail (også ujudget), delkreditt
(K3 lengde / K4 score/5), degradering ekskluderer judge, forbedringsliste
sortert på poeng-tap m/ fix, null-toleranse. kb-eval 100→110, validate 239/0.

GJENSTÅR (neste): N1-N5 deterministiske Anthropic-sjekker i eval.mjs + CLI
score-skill.mjs --gate 90 + summarizeSkillQuality-surfacing; DERETTER eval+
oppgradering av alle 5 skills én-og-én. Roadmap i docs + STATE.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 16:57:31 +02:00
cb0450ee2d feat(ms-ai-architect): C3 (3) — --courses-flagg i write-schedule-config.mjs (TDD) + live-probe-doc
Eier-CLI kan nå sette include_course_detection uten å hand-edite den gitignored
local.md: `write-schedule-config.mjs --enabled true --cadence daily --courses true`.
Flagget er VALGFRITT (opt-in inni opt-in) — utelates det, bevares en verdi satt
andre steder gjennom onboarding-rewriten (samme merge-semantikk som
interval_days / include_skill_lifecycle).

Tester (+3): --courses true setter nøkkelen, string-coercion (CLI-args er
strenger), og non-clobbering når flagget utelates. kb-update 313→316.

docs/development.md: C3-workflow peker nå på CLI-flagget framfor manuell local.md.

Live-probe (2) kjørt mot ekte Learn Platform API: baseline-registry etablert
(1093 kurs: 843 modules + 250 learning-paths), 0 leads (korrekt baseline §8 b).
Registry/report er detektorens gitignored private state — ingen filer committet.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 16:25:56 +02:00
f4dd4d3fb6 feat(ms-ai-architect): C3.6 — SessionStart-surfacing av kurs-leads (summarizeCourses) → C3 kurs-spor komplett (TDD)
Siste C3-fase. `summarizeCourses(report)` ren one-liner i detection-schedule.mjs
(«Kurs-signaler: N nye / M endrede kurs i dekkede produkter»; null ved
0/skipped/error/removed-only/malformed — removed er informasjons-signal, aldri
surfacet lead, spec §4.2). Speiler summarizeSkillLifecycle.

Wiring i session-start-context.mjs: read-only, leser
scripts/kb-update/data/course-detection-report.json, foreslår /architect:kb-update,
speiler skill-signaler-blokka. Hooken spawner ingenting for kurs-sporet.

docs/development.md: ny C3-workflow-seksjon (to-stegs: Claude-fri deteksjon →
SessionStart-surfacing → operatør-gate §3c). CLAUDE.md hook-tabell oppdatert.

Tester (+6): summarizeCourses — new+updated one-liner, only-new/only-updated,
zero→null, removed-only→null, skipped/error→null, missing/partial→null.
kb-update 307→313, validate 239/0, kb-eval 100/0, hooks 11/11, discovery 13/13.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 15:00:40 +02:00
215437cb5d docs(ms-ai-architect): C3 §8 besluttet (delegert) — spec GODKJENT, +fetch-robusthetskontrakt +removed full-enum-pin [skip-docs]
Operatør delegerte de 4 åpne beslutningene (mandat: profesjonell, til å stole på). Alle besluttet; (a) fetch fikk binding robusthetskontrakt (response.ok/timeout/429-Retry-After), (c) removed pinnet til full-enum-kjøringer (last_full_enum-kadens) for å unngå falsk-positiv flom. §7-gatekriterier for C3.1/C3.2 utvidet. Neste = C3.1 (TDD).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 12:42:22 +02:00
7d9430b7a4 docs(ms-ai-architect): C3-spec — kurs-deteksjon via Learn Platform API (TIL GODKJENNING) [skip-docs]
Forankret i verifisert API-grunnlag (spike, S29) + lest eksisterende arkitektur:
to-stegs som discover-new-urls (detektor skriver rapport+course-registry.json,
ALDRI decisions.json; gaten skriver leads), ny UID-nøklet courses-kolleksjon i
ledger, produkt-slug->skill i domain-taxonomy.json, DETECTION_STEPS-steg gated av
include_course_detection. Faseplan C3.1-C3.6 m/ kjørbart gate-kriterium per fase.
4 åpne beslutninger flagget m/ anbefaling (§8). STATE -> operatør-review neste.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 12:27:34 +02:00