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
This commit is contained in:
Kjell Tore Guttormsen 2026-07-15 06:13:36 +02:00
commit a8ae1fd276
8 changed files with 195 additions and 27 deletions

View file

@ -0,0 +1,36 @@
{
"_comment": "Single source of truth for EU AI Act deadlines. Consumers: CLAUDE.md «Viktige frister»-tabellen, agents/ai-act-assessor.md frist-malen, hooks/scripts/session-start-context.mjs, hooks/scripts/stop-assessment-reminder.mjs. Sync enforced by tests/kb-update/test-ai-act-deadlines-sync.test.mjs — update THIS file first, then the markdown consumers, and keep the suite green.",
"verified": "2026-07-15",
"sources": [
"https://www.consilium.europa.eu/en/press/press-releases/2026/06/29/artificial-intelligence-council-gives-final-green-light-to-simplify-and-streamline-rules/",
"https://www.europarl.europa.eu/legislative-train/package-digital-package/file-digital-omnibus-on-ai",
"https://eur-lex.europa.eu/legal-content/EN/ALL/?uri=CELEX:32024R1689",
"https://nkom.no/ki/regulering/hvem-handhever"
],
"omnibus": {
"status": "vedtatt_avventer_oj",
"ep_plenary": "2026-06-16",
"council_final": "2026-06-29",
"oj_published": null,
"oj_expected_by": "2026-07-30",
"note": "Digital Omnibus er formelt vedtatt (Europaparlamentet 16. juni, Rådet 29. juni 2026) og trer i kraft tredje dag etter publisering i Official Journal — senest 2026-07-30 for anvendelse før 2026-08-02. Per verified-datoen er den IKKE OJ-publisert (EUR-Lex 32024R1689 viser ingen 2026-endringsakt). Datoene under følger vedtatt tekst; RX-REG² flipper status til i_kraft med CELEX-referanse ved OJ-publisering."
},
"deadlines": [
{ "date": "2025-02-02", "label": "Forbudte AI-praksiser (Art. 5)", "status": "Gjeldende" },
{ "date": "2025-08-02", "label": "GPAI-krav + governance/sanksjoner (Art. 99)", "status": "Gjeldende" },
{ "date": "2026-08-02", "label": "Transparens (Art. 50): merking av syntetisk innhold", "status": "Fra 2026-08-02" },
{ "date": "2026-12-02", "label": "Art. 50(2): frist for maskinlesbar merking i eksisterende generative systemer", "status": "Overgang (Omnibus)" },
{ "date": "2027-12-02", "label": "Annex III høyrisiko (frittstående) — utsatt fra 2026-08-02", "status": "Vedtatt (Omnibus, avventer OJ)" },
{ "date": "2028-08-02", "label": "Annex I høyrisiko (innebygd i regulerte produkter)", "status": "Vedtatt (Omnibus, avventer OJ)" }
],
"pending_oj": [
"Nudifiserings-/CSAM-forbudet (nytt Art. 5-forbud i Omnibus; tekniske sikringstiltak innen 2026-12-02): artikkelplassering + anvendelsesdato verifiseres mot OJ-tekst i RX-REG²",
"Art. 111-legacy-radene verifiseres mot OJ-tekst i RX-REG²",
"Ved OJ-publisering: omnibus.status → i_kraft, oj_published + CELEX-referanse inn, «avventer OJ»-statusene flippes (RX-REG²)"
],
"authorities": {
"coordinating": "Nkom — koordinerende markedstilsynsmyndighet og nasjonalt kontaktpunkt for AI-forordningen i Norge",
"privacy": "Datatilsynet — personverndimensjonen",
"sector": "Sektortilsyn kan utpekes i tillegg"
}
}

View file

@ -0,0 +1,18 @@
// 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;
}
}