ms-ai-architect/scripts/kb-update/lib/ai-act-deadlines.mjs
Kjell Tore Guttormsen a8ae1fd276 feat(ms-ai-architect): RX-REG — én maskinlesbar AI Act-frist-kilde + synk-test (B2-B5, R3-5, M10) [skip-docs]
Rotårsak-mekanisme: scripts/kb-update/data/ai-act-deadlines.json er nå eneste
kilde for AI Act-frister; CLAUDE.md-tabellen, assessor-malen og begge hooks
synk-testes mot den (tests/kb-update/test-ai-act-deadlines-sync.test.mjs, 9
tester, TDD rød→grønn). Suite 815/815.

- B2: «Kommisjonen kan fremskynde»/«ytre grense» fjernet (trigger droppet i
  endelig Omnibus-tekst)
- B3: status oppdatert i alle 3 lag — formelt vedtatt (EP 2026-06-16, Rådet
  2026-06-29), trer i kraft ved OJ-publisering (ikke publisert per 2026-07-15,
  verifisert mot EUR-Lex 32024R1689)
- B4: Art. 50-raden «Gjeldende» → «Fra 2026-08-02»
- B5: stop-hooken feilmerket 2026-08-02 som «GPAI-frist» — begge hooks leser
  nå kilden, 0 hardkodede frist-literals
- R3-5: 2026-12-02-raden (Art. 50(2)) inn i assessor-malen
- M10: Nkom navngitt som koordinerende markedstilsynsmyndighet + nasjonalt
  kontaktpunkt (kilde: nkom.no/ki/regulering/hvem-handhever)
- pending_oj-markører i kilden for RX-REG² (nudifiserings-forbud, Art. 111)
- .gitignore: whitelist for den kuraterte frist-kilden
2026-07-15 06:13:36 +02:00

18 lines
670 B
JavaScript

// ai-act-deadlines.mjs
// Accessor for the machine-readable EU AI Act deadline source (RX-REG).
// The JSON is resolved relative to THIS module, so it works both in dev mode
// (cwd = plugin root) and installed mode (any cwd), without CLAUDE_PLUGIN_ROOT.
import { readFileSync } from 'node:fs';
export const DATA_URL = new URL('../data/ai-act-deadlines.json', import.meta.url);
// Returns the parsed source, or null when unreadable — hook consumers are
// advisory-never-blocking and silently skip the deadline signal on null.
export function loadAiActDeadlines() {
try {
return JSON.parse(readFileSync(DATA_URL, 'utf8'));
} catch {
return null;
}
}