ms-ai-architect/scripts/kb-update
Kjell Tore Guttormsen a7098e0fdf feat(ms-ai-architect): erstatt per-felt-cap med totalbudsjett og aapne det frosne filsettet [skip-docs]
To maalte defekter i lastesiden for brukerkontekst (underlag: designnotatets
paragraf 3.1-3.3, maalt ved aa kjoere den ekte mekanismen):

1. DEFAULT_MAX_VALUE_LEN = 160 kappet hvert felt uavhengig av hvor mye av
   budsjettet som sto ubrukt. Maalt: et 300-tegns svar tapte 47 prosent, et
   2000-tegns svar 92 prosent - ogsaa free-context.md, gjennom sin egen
   kodevei. Erstattet av DEFAULT_MAX_TOTAL_LEN = 4000: et totalbudsjett fordelt
   max-min-rettferdig over feltene som overlever linje-cappen.

   Hvorfor 4000: det er noeyaktig hva den gamle formen alt tillot i verste fall
   (cap 25 linjer x 160 tegn), saa endringen er kostnadsnoeytral mot dagens tak
   og strengt bedre under det. Fordi budsjettet deles kun over de hoeyst 25
   feltene som faktisk skrives ut, faar intet felt mindre enn 4000/25 = 160:
   den gamle cappen er blitt gulvet. Begrunnelsen staar der konstanten
   defineres.

   Per-felt-cap var feil FORM, ikke bare feil tall: den kan ikke uttrykke at ett
   langt, viktig svar overlever fordi fem korte ikke trengte sin andel.

2. readOrgFiles itererte den frosne ORG_FILES-lista uten readdir, saa en fil
   brukeren la til i org/ naadde aldri modellen. Begge sider er endret - hooken
   leser katalogen, og buildOrgSummary ignorerer ikke lenger filnavn utenfor
   ORG_FILES - ellers ville endringen vaert en no-op som ser ut som en fiks.
   Bare de fem kanoniske teller fortsatt mot onboarding-fullfoerthet.

Ny ren, delt hjelper orderOrgFiles(names) gir begge sider samme deterministiske
rekkefoelge: ORG_FILES foerst, saa oevrige .md sortert, free-context sist.

Verifisert paa den ekte hooken mot en fixture-org-katalog, med kontrollmaaling
mot HEAD: den syvende fila var usynlig foer og gir 43 tegn naa; en 1198-tegns
fri kontekst ble kappet til 160 foer og overlever hel naa.

TDD: 10 nye tester i tests/kb-update/test-user-data.test.mjs, alle roede foerst
(7 assertion-feil mot gammel kode, 3 paa manglende eksport). Suite 1062/1062.

[skip-docs]: ren intern mekanikk - ingen ny kommando, agent, skill eller hook,
og ingen endring i utoverrettet flate.
2026-08-26 10:15:05 +02:00
..
data feat(ms-ai-architect): Enhet A2 — Layer B baseline-adjudikering: innholds-basert allowlist (75 funn adjudikert, TDD) + 4 korpus-defekter fikset (2 homoglyph-ord, 2 U+00AD-filer); korpus 389/389 exit 0 [skip-docs] 2026-07-18 10:31:06 +02:00
lib feat(ms-ai-architect): erstatt per-felt-cap med totalbudsjett og aapne det frosne filsettet [skip-docs] 2026-08-26 10:15:05 +02:00
apply-verified-stamp.mjs feat(ms-ai-architect): R7.1 — apply-verified-stamp driver (surgical insertVerifiedFields over ledger-pass-records; invariant-assertert, atomisk, idempotent; ustempelbar → samlet feil, TDD 3 tester) [skip-docs] 2026-07-18 11:19:26 +02:00
audit-corpus-headers.mjs feat(ms-ai-architect): RX-HDR oppløst → permanent R7-ustempelbar audit-signal (premiss 10→2) [skip-docs] 2026-07-17 03:43:04 +02:00
backfill-category.mjs fix(ms-ai-architect): RX-OPS2 skrive-sikkerhet i driverne — scoped restore + atomiske skriv [skip-docs] 2026-07-15 21:31:29 +02:00
backfill-last-updated.mjs fix(ms-ai-architect): Enhet 4 — Last updated på datoløs advisor decision-trees.md (git content-commit 2026-06-23) [skip-docs] 2026-07-16 20:19:07 +02:00
backfill-status.mjs fix(ms-ai-architect): RX-OPS2 skrive-sikkerhet i driverne — scoped restore + atomiske skriv [skip-docs] 2026-07-15 21:31:29 +02:00
build-registry.mjs feat(ms-ai-architect): Sesjon 6 - lag 3 verifisering-INN (authority-binding) 2026-06-19 22:58:10 +02:00
classify-ref-type.mjs feat(ms-ai-architect): Spor 1 — klassifiserer-CLI + registry-merge (389 klassifisert, union reconciled) [skip-docs] 2026-07-03 00:55:15 +02:00
dedup-dato.mjs fix(ms-ai-architect): Enhet 3b — dedup dual-**Dato:** i 5 mlops-genaiops-filer (Created-relabel/drop, git-verifisert) [skip-docs] 2026-07-16 20:38:24 +02:00
dedup-plain-header.mjs fix(ms-ai-architect): RX-OPS2 skrive-sikkerhet i driverne — scoped restore + atomiske skriv [skip-docs] 2026-07-15 21:31:29 +02:00
detect-courses.mjs feat(ms-ai-architect): C3.4 — detect-courses.mjs (binder C3.1–C3.3, LLM-fri) + selectDetectionSteps + include_course_detection (TDD) [skip-docs] 2026-06-23 14:24:57 +02:00
discover-new-urls.mjs feat(ms-ai-architect): Sesjon 3 - decision-ledger (lag 2) + discovery-dedup 2026-06-19 21:48:03 +02:00
migrate-ai-foundry.mjs feat(ms-ai-architect): Sesjon 2 - ai-foundry->foundry registry-remap 2026-06-19 21:09:00 +02:00
migrate-corpus.mjs fix(ms-ai-architect): RX-OPS2 skrive-sikkerhet i driverne — scoped restore + atomiske skriv [skip-docs] 2026-07-15 21:31:29 +02:00
poll-sitemaps.mjs feat(ms-ai-architect): Sesjon 2 lag 0 - konsolider taksonomi til en sannhetskilde 2026-06-19 21:02:59 +02:00
pre-commit-scan.mjs chore(ms-ai-architect): Enhet B — gjør pre-commit-scan.mjs kjørbar for git-hook-install (symlinket som .git/hooks/pre-commit) [skip-docs] 2026-07-18 10:51:01 +02:00
relabel-dato.mjs fix(ms-ai-architect): RX-OPS2 skrive-sikkerhet i driverne — scoped restore + atomiske skriv [skip-docs] 2026-07-15 21:31:29 +02:00
relabel-dialect.mjs fix(ms-ai-architect): RX-OPS2 skrive-sikkerhet i driverne — scoped restore + atomiske skriv [skip-docs] 2026-07-15 21:31:29 +02:00
report-changes.mjs feat(ms-ai-architect): Sesjon 5 carry-forward B — datoløse filer → unverified-tier 2026-06-19 22:31:25 +02:00
report-full-pass-worklist.mjs feat(ms-ai-architect): Spor 3 Port 3 (P3d) — periodisk full-pass worklist (kadens-judge enumerering) [skip-docs] 2026-06-29 15:34:45 +02:00
report-verified-staleness.mjs feat(ms-ai-architect): Spor 3 Port 3 (inkrementell) — stale-since-verified klassifiserer + CLI [skip-docs] 2026-06-29 14:53:51 +02:00
run-detection.mjs feat(ms-ai-architect): C3.4 — detect-courses.mjs (binder C3.1–C3.3, LLM-fri) + selectDetectionSteps + include_course_detection (TDD) [skip-docs] 2026-06-23 14:24:57 +02:00
run-weekly-update.mjs feat(ms-ai-architect): sitemap-based KB change detection system 2026-04-09 21:19:51 +02:00
scan-adversarial-content.mjs feat(ms-ai-architect): Enhet A2 — Layer B baseline-adjudikering: innholds-basert allowlist (75 funn adjudikert, TDD) + 4 korpus-defekter fikset (2 homoglyph-ord, 2 U+00AD-filer); korpus 389/389 exit 0 [skip-docs] 2026-07-18 10:31:06 +02:00
scheduler.mjs feat(ms-ai-architect): Sesjon 24 — C1 Tier 2 lokal launchd-scheduler (deteksjon-only, ToS-trygt) [skip-docs] 2026-06-21 19:59:18 +02:00
strip-stale-verified-pipe.mjs fix(ms-ai-architect): RX-KB1 strip stale plain-Verified pipe-tails (87) + audit-deteksjon [skip-docs] 2026-07-16 20:04:52 +02:00
transform-prompt.md 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
validate-kb-file.mjs feat(ms-ai-architect): Spor 3 Port 2 — create-time-guard (born-verified contract) [skip-docs] 2026-06-29 10:36:21 +02:00
write-schedule-config.mjs feat(ms-ai-architect): C3 (3) — --courses-flagg i write-schedule-config.mjs (TDD) + live-probe-doc 2026-06-23 16:25:56 +02:00