ms-ai-architect/tests/kb-update
Kjell Tore Guttormsen 94c7f42128 feat(ms-ai-architect): C3.2 — course-diff (ren) + course-registry load/save (TDD) [skip-docs]
Pure diff/fold + run-mode selector for course detection (C3.2 av GODKJENT C3-spec).

- lib/course-diff.mjs (REN, null imports): normalizeCourse, selectMode,
  isFullEnumDue, diffCourses, updateRegistry, FULL_ENUM_MAX_AGE_DAYS=30.
  Full-enum-pin (§4.2): removed beregnes KUN i full-modus; inkrementell og
  baseline gir removed:[]. Baseline emitterer ingen leads (§8 b).
  updateRegistry ren (muterer aldri): incremental merger, baseline/full bygger
  fra API-sett + dropper retirerte UIDs, stamper last_full_enum.
- registry-io.mjs +loadCourseRegistry/saveCourseRegistry (additivt, speiler
  loadRegistry/saveRegistry; fil course-registry.json).
- test-course-diff.test.mjs (23) + test-courses-invariant (+3: diff-modul ren).

Gate §7 C3.2 møtt. kb-update 237->263, validate PASSED, null regresjon.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 13:12:49 +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-authority.test.mjs feat(ms-ai-architect): Sesjon 6 - lag 3 verifisering-INN (authority-binding) 2026-06-19 22:58:10 +02:00
test-backup-restore.test.mjs feat(ms-ai-architect): C2.3 onboarding skriver scheduled_detection cadence+enabled via gated CLI (TDD) [skip-docs] 2026-06-22 14:53:03 +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-io.test.mjs feat(ms-ai-architect): Sesjon 3 - decision-ledger (lag 2) + discovery-dedup 2026-06-19 21:48:03 +02:00
test-detection-schedule.test.mjs feat(ms-ai-architect): C2.3 onboarding skriver scheduled_detection cadence+enabled via gated CLI (TDD) [skip-docs] 2026-06-22 14:53:03 +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-kb-headers.test.mjs feat(ms-ai-architect): Sesjon 2 - registry-skjema (authority_source + course reservert) 2026-06-19 21:05:54 +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-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-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-taxonomy.test.mjs feat(ms-ai-architect): Sesjon 19 — B3 merge-apply (cross-skill + taksonomi-persist) [skip-docs] 2026-06-20 20:54:13 +02:00
test-transform.test.mjs feat(ms-ai-architect): Sesjon 5 - transformasjonslag (lag 4, doc→KB-fil) 2026-06-19 22:31:26 +02:00
test-user-data.test.mjs feat(ms-ai-architect): C2.2 valgfritt fritekst-felt free-context.md i onboarding (TDD) [skip-docs] 2026-06-22 14:16:00 +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