Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016679RwmHsuTFfxt26wP6rk
95 lines
6.9 KiB
Markdown
95 lines
6.9 KiB
Markdown
# 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](https://tapportals.mk.gov.lv) (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
|
|
|
|
```xml
|
|
<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](https://processgit.org/Valsts-Pirmkods/Organizations_register)), `atvk` — ATVK kods ([Pasvaldibu-registrs](https://processgit.org/Valsts-Pirmkods/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](https://processgit.org/Valsts-Pirmkods/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](https://data.gov.lv/dati/lv/dataset/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](https://data.gov.lv/dati/lv/dataset/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](https://data.gov.lv/dati/lv/dataset/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.
|