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:
parent
4794de0b79
commit
a8ae1fd276
8 changed files with 195 additions and 27 deletions
36
scripts/kb-update/data/ai-act-deadlines.json
Normal file
36
scripts/kb-update/data/ai-act-deadlines.json
Normal 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"
|
||||
}
|
||||
}
|
||||
18
scripts/kb-update/lib/ai-act-deadlines.mjs
Normal file
18
scripts/kb-update/lib/ai-act-deadlines.mjs
Normal 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;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue