Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016679RwmHsuTFfxt26wP6rk
MK-Lemumi-as-Code
Ministru kabineta sēdes un to lēmumi kā strukturēti dati: darba kārtība (jautājumi ar TAP identifikatoru, ziņotāju un statusu) un lēmumu teksts pa punktiem — MK sēdes protokollēmumi un rīkojumi — ar adresātu, darbības veidu un termiņu.
Avots — TAP portāls (Valsts kanceleja). TAP darba kārtību un lēmumu tekstu publicē HTML lapās, nevis mašīnlasāmā formā, un shēmu tiem nepublicē. Šis repozitorijs pievieno shēmu un pārveido lapas datos.
| Mape / datne | Saturs |
|---|---|
schemas/mk-lemumi-0.1.xsd |
shēma: sēde, sadaļas, jautājumi, lēmumi, punkti |
data/lv-mk-sede-GGGG-MM-DD.xml |
viena datne — viena MK sēde |
sources/<sēde>/ |
lēmumu teksts, kā TAP lapā (numurs un teksts pa rindām) — katram lēmumam viena datne |
verification/<sēde>.verify.json |
pārbaudes atskaite pret TAP lapām |
contracts/B16-mk-lemumi.odcs.yaml |
datu līgums (ODCS v3, ģenerēts no shēmas) — datu kopa B16 VDZP datu ezerā |
schemas/tap-*.schema.json, contracts/B07-…, B17-…, B18-…source.odcs.yaml |
TAP atvērto datu (data.gov.lv) JSON shēmas un avota datu līgumi — skat. zemāk |
tools/ |
ielāde no TAP, pārveide, pārbaude |
data/processgit.viewer.json, editor/mk-sede.html |
ProcessGit skatītājs: sēdes datne atveras kā lasāms teksts ar meklēšanu |
Datne
<Item id="lv-mk-sede-2026-10-13.q2.1" n="2.1" tap="26-TA-2145" restricted="true" status="Pieņemts" addedLate="true">
<Title>Informatīvais ziņojums "Par darījuma attīstības progresu un papildus jautājumiem"</Title>
<Presenter>V. Valainis</Presenter>
<Decision id="lv-mk-sede-2026-10-13.q2.1.pl" document="MK sēdes protokollēmuma projekts" textStatus="draft">
<Point id="lv-mk-sede-2026-10-13.q2.1.pl.p4" n="4." kind="task">
<Text>Ekonomikas ministrijai līdz 2026. gada 10. novembrim iesniegt Ministru kabinetā aktuālo progresa ziņojumu …</Text>
<Party role="institution" org="12-0000">Ekonomikas ministrijai</Party>
<Deadline date="2026-11-10">līdz 2026. gada 10. novembrim</Deadline>
</Point>
</Decision>
</Item>
| Lauks | Nozīme |
|---|---|
Item |
jautājums darba kārtībā: numurs, TAP identifikators (26-TA-2145), IP (ierobežotas pieejamības), statuss (Pieņemts, Atlikts …), „iekļauts papildus”, „skatīts A sadaļā”, „atlikts” |
ActType, Responsible |
projekta veids un atbildīgā institūcija no TAP (org — VPK ID) |
Decision |
lēmuma teksts: protokollēmums (.pl) vai rīkojums (.rik); rīkojumam — numurs, protokola numurs un paragrāfs no virsraksta rindas |
Point |
punkts: numurs un teksts burtiski kā TAP; apakšpunkti — iekšā; jaunā redakcija pēdiņās — Quote |
kind |
darbības veids: note (zināšanai), task (uzdevums institūcijai), adopt, approve, support, invite, permit, allocate, amend …; part — apakšpunkts, kas turpina teikumu; provision — cits noteikums |
Party |
institūcija vai pašvaldība, kas punktā minēta datīvā (kam uzdots, atļauts, piešķirts): org — VPK ID (Organizations_register), atvk — ATVK kods (Pasvaldibu-registrs); role="minister" — ministrs (ministrijas VPK ID) |
Deadline |
termiņš: datums un teksts, kā punktā |
government |
valdība no valdību reģistra (Valdibas-Deklaracija-as-Code) |
Identifikatori: sēde lv-mk-sede-GGGG-MM-DD, jautājums <sēde>.q<numurs>, lēmums <jautājums>.pl / .rik, punkts <lēmums>.p<numurs>
(apakšpunkts .p2.1, nenumurēts teksta lauks .u1). Identifikators ir sēdes robežās, jo viens TAP projekts var tikt skatīts vairākās sēdēs.
Kas ir burtiski un kas izgūts
- Burtiski kā TAP: darba kārtība, punktu numuri un teksts, jaunā redakcija, virsraksta rindas, paraksti. Atstarpes normalizētas.
- Izgūts ar noteikumiem (
tools/derive.py, bez valodas modeļa):kind,Party,Deadline. Tās ir norādes datu meklēšanai un sasaistei; juridiski saistošs ir teksts. Ja kaut ko nevar droši noteikt, lauks paliek tukšs. - Teksta statuss:
draft— protokollēmuma vai rīkojuma projekts, kā pievienots darba kārtībai sēdes dienā; sēdē to var grozīt. Kad TAP publicē sēdes protokolu, sēdes datne tiek atjaunota (jauna datu versija). - IP jautājumi: publisks ir tikai protokollēmums; ziņojums nav publisks un nav iekļauts.
TAP atvērtie dati (data.gov.lv)
Valsts kanceleja publicē trīs TAP datu kopas JSON:API formātā, bet bez shēmas. Šeit katrai ir JSON shēma un avota datu līgums (ODCS v3). Datus šeit neglabā: VDZP datu ezers tos katru dienu lasa no portāla, validē pret shēmu un pārbauda pēc līguma.
| Datu kopa VDZP | Portālā | Shēma | Līgums |
|---|---|---|---|
| B07 TAP publicētie tiesību akti | tap-publicetie-tiesibu-akti — viena datne mēnesī | schemas/tap-publicetie-tiesibu-akti-0.1.schema.json |
contracts/B07-tap-publicetie-tiesibu-akti.source.odcs.yaml |
| B17 TAP politikas jomas | tap-politikas-jomas | schemas/tap-politikas-jomas-0.1.schema.json |
contracts/B17-tap-politikas-jomas.source.odcs.yaml |
| B18 TAP tiesību aktu veidi | tap-tiesibu-aktu-veidi | schemas/tap-tiesibu-aktu-veidi-0.1.schema.json |
contracts/B18-tap-tiesibu-aktu-veidi.source.odcs.yaml |
B07 projekta numurs (identificator, piem. 26-TA-2145) ir tas pats, kas sēdes datnē Item/@tap — tā MK sēdes jautājums sasaistās ar projektu.
Pārbaude
pip install lxml
python3 tools/validate.py # shēma, identifikatori, reģistri, katrs punkts avota tekstā
python3 tools/verify.py .cache/<sēdes uuid> data/lv-mk-sede-….xml # pret TAP lapām (pēc ielādes)
tools/verify.py lapu nolasa citādi nekā pārveide — visu teksta bloku kā vienu virkni — un pārbauda, ka katrs punkts ir lapā
burtiski un tādā pašā secībā, lapas sha256 sakrīt un lapā nav palicis teksts, kura datnē nav. Atskaite — verification/.
Atjaunošana
python3 tools/fetch.py # jaunākā MK sēde (vai: tools/fetch.py 2026-10-13)
python3 tools/convert.py .cache/<sēdes uuid>
python3 tools/validate.py && python3 tools/verify.py .cache/<sēdes uuid> data/lv-mk-sede-….xml
Ielāde no TAP — pa vienai lapai ar pauzi; kešs .cache/ netiek glabāts git. Jaunas sēdes un izmaiņas iesniedz kā git commit.
PPPA koncepcijas demonstrācija (Valsts PirmKods), nav oficiāls valsts dokuments. Juridiski saistošs ir oficiālajā izdevumā „Latvijas Vēstnesis” publicētais teksts un Ministru kabineta sēdes protokols.