ms-ai-architect/tests/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
..
test-adversarial-detect-integration.test.mjs feat(ms-ai-architect): Layer B ingestion-gate — deterministisk adversariell-innhold-skann før skriving/commit (G6 §8 / R6 punkt d, TDD) [skip-docs] 2026-07-04 07:13:43 +02:00
test-adversarial-scan.test.mjs feat(ms-ai-architect): Layer B ingestion-gate — deterministisk adversariell-innhold-skann før skriving/commit (G6 §8 / R6 punkt d, TDD) [skip-docs] 2026-07-04 07:13:43 +02:00
test-ai-act-deadlines-sync.test.mjs feat(ms-ai-architect): RX-REG — én maskinlesbar AI Act-frist-kilde + synk-test (B2-B5, R3-5, M10) [skip-docs] 2026-07-15 06:13:36 +02:00
test-apply-verified-stamp.test.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
test-atomic-write.test.mjs feat(ms-ai-architect): add lib/atomic-write for crash-safe state files [skip-docs] 2026-05-05 10:32:13 +02:00
test-audit-corpus-headers.test.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
test-authority.test.mjs feat(ms-ai-architect): Sesjon 6 - lag 3 verifisering-INN (authority-binding) 2026-06-19 22:58:10 +02:00
test-backfill-category.test.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
test-backfill-last-updated.test.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
test-backfill-status.test.mjs feat(ms-ai-architect): R22 decision-b Enhet 3 — Status-backfill 25 none + ai-act dual-header-dedup 4 (Missing Status/Last-updated 29+4→0) [skip-docs] 2026-07-07 07:45:27 +02:00
test-backup-restore.test.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
test-classify-ref-type.test.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
test-course-diff.test.mjs feat(ms-ai-architect): C3.2 — course-diff (ren) + course-registry load/save (TDD) [skip-docs] 2026-06-23 13:12:49 +02:00
test-courses-invariant.test.mjs feat(ms-ai-architect): C3.2 — course-diff (ren) + course-registry load/save (TDD) [skip-docs] 2026-06-23 13:12:49 +02:00
test-cross-platform-paths.test.mjs feat(ms-ai-architect): add lib/cross-platform-paths for cache/log/state/backup dirs [skip-docs] 2026-05-05 10:30:31 +02:00
test-decisions-actions.test.mjs feat(ms-ai-architect): Sesjon 18 — B3 apply-path (sanitize+retire), merge→S19 [skip-docs] 2026-06-20 20:32:51 +02:00
test-decisions-courses.test.mjs feat(ms-ai-architect): C3.5 — courses-kolleksjon i decisions-io.mjs (UID-nøklet, Spor C) + kb-update §3c kurs-gate (TDD) [skip-docs] 2026-06-23 14:38:56 +02:00
test-decisions-io.test.mjs feat(ms-ai-architect): Sesjon 3 - decision-ledger (lag 2) + discovery-dedup 2026-06-19 21:48:03 +02:00
test-dedup-dato.test.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
test-dedup-plain-header.test.mjs feat(ms-ai-architect): R22 decision-b Enhet 3 — Status-backfill 25 none + ai-act dual-header-dedup 4 (Missing Status/Last-updated 29+4→0) [skip-docs] 2026-07-07 07:45:27 +02:00
test-detect-courses-invariant.test.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
test-detect-courses.test.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
test-detection-schedule.test.mjs feat(ms-ai-architect): Spor 3 Port 3 (rapporterende gulv) — KB-tillit-signal i SessionStart [skip-docs] 2026-06-29 14:58:32 +02:00
test-discover-invariant.test.mjs feat(ms-ai-architect): Sesjon 3 - decision-ledger (lag 2) + discovery-dedup 2026-06-19 21:48:03 +02:00
test-driver-atomic-writes.test.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
test-fixtures-playground-frist-lint.test.mjs fix(ms-ai-architect): RX-REG-KB fixtures-halen — 2027-08-02→2027-12-02 Annex III + Transparens-label i fixtures/playground [skip-docs] 2026-07-15 09:36:44 +02:00
test-full-pass-worklist.test.mjs test(ms-ai-architect): Spor 1 — akseptansetester (residual scoped, worklist-aktivering, CT5/N4, poison-doc) [skip-docs] 2026-07-04 09:25:44 +02:00
test-governance-refs-reg-lint.test.mjs fix(ms-ai-architect): RX-REG² nudifiers/CSAM Art. 5-forbud — caveatet KB-tillegg (verifisert, avventer OJ) [skip-docs] 2026-07-15 10:14:17 +02:00
test-kb-headers.test.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
test-keychain.test.mjs feat(ms-ai-architect): C3.1 — keychain + Learn Platform API-klient (TDD) [skip-docs] 2026-06-23 12:59:16 +02:00
test-launchd-plist.test.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
test-layerb-allowlist.test.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
test-learn-api.test.mjs feat(ms-ai-architect): C3.1 — keychain + Learn Platform API-klient (TDD) [skip-docs] 2026-06-23 12:59:16 +02:00
test-log-rotate.test.mjs feat(ms-ai-architect): add lib/log-rotate for bounded log disk use [skip-docs] 2026-05-05 10:54:50 +02:00
test-migrate-apply.test.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
test-pre-commit-scan.test.mjs feat(ms-ai-architect): RX-OPS1 — deterministisk Layer B commit-gate (pre-commit-scan) + runbook Forutsetning 0 [skip-docs] 2026-07-16 20:52:45 +02:00
test-priority-unverified.test.mjs feat(ms-ai-architect): Sesjon 5 carry-forward B — datoløse filer → unverified-tier 2026-06-19 22:31:25 +02:00
test-registry-migrate.test.mjs feat(ms-ai-architect): Sesjon 2 - ai-foundry->foundry registry-remap 2026-06-19 21:09:00 +02:00
test-relabel-dato.test.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
test-relabel-dialect.test.mjs feat(ms-ai-architect): decision-b Enhet 1 — dialekt-relabel 51 filer (Kategori→Category + Sist oppdatert→Last updated), 73 byte-eksakte swaps [skip-docs] 2026-07-06 10:07:52 +02:00
test-rx-p2-wiring.test.mjs fix(ms-ai-architect): RX-P2 reg-kjede-wiring + komprehensiv agent-sti-forankring [skip-docs] 2026-07-15 12:17:01 +02:00
test-scan-adversarial-content.test.mjs fix(ms-ai-architect): G6 Layer B — unicode/carrier-scan kjører pre-write via temp-fil (lukker ingestion-brief §8-akseptansegap, TDD) [skip-docs] 2026-07-04 23:04:00 +02:00
test-strip-stale-verified-pipe.test.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
test-taxonomy.test.mjs fix(ms-ai-architect): registry-herding Fase 1a — +5 sitemap-prefiks + skjemaløs URL-ekstraksjon 2026-06-26 10:15:46 +02:00
test-transform.test.mjs feat(ms-ai-architect): R20 — Category-backfill på 25 kategorisløse ref-filer via insertMetaField [skip-docs] 2026-07-06 07:39:54 +02:00
test-url-normalize.test.mjs fix(ms-ai-architect): registry-herding Fase 1a — +5 sitemap-prefiks + skjemaløs URL-ekstraksjon 2026-06-26 10:15:46 +02:00
test-user-data.test.mjs 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
test-validate-kb-file.test.mjs test(ms-ai-architect): Spor 1 — akseptansetester (residual scoped, worklist-aktivering, CT5/N4, poison-doc) [skip-docs] 2026-07-04 09:25:44 +02:00
test-validate-plugin.test.mjs fix(ms-ai-architect): RX-P2 reg-kjede-wiring + komprehensiv agent-sti-forankring [skip-docs] 2026-07-15 12:17:01 +02:00
test-verified-staleness.test.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
test-verify-out.test.mjs feat(ms-ai-architect): Sesjon 4 - verifisering-ut (lag 5) + adversarial regresjonstest 2026-06-19 22:00:36 +02:00