Nolikumi-as-Code 0.1.0: 93 iestāžu nolikumi kā teksts un XML
Shēma nolikums-0.1, katalogs nolikumi.yaml, datu līgums B05. Teksts — likumi.lv konsolidētās redakcijas 2026-10-11 (sources/), dati (data/), datnes nosaukums <VPK ID>-<saīsinājums>. Pārbaude: 0 kļūdas; 92/93 teksti sakrīt ar likumi.lv lapu, 19-0458 — 2 cipari informatīvajā atsaucē. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016679RwmHsuTFfxt26wP6rk
This commit is contained in:
84
contracts/B05-iestazu-nolikumi.odcs.yaml
Normal file
84
contracts/B05-iestazu-nolikumi.odcs.yaml
Normal file
@@ -0,0 +1,84 @@
|
||||
# ODCS v3 datu līgums: B05 Iestāžu nolikumi (nolikumi kā kods)
|
||||
# Shēma: schemas/nolikums-0.1.xsd. Šī līguma schema daļa apraksta to, ko VDZP ielādē; pilnā struktūra ir XSD.
|
||||
apiVersion: v3.0.2
|
||||
kind: DataContract
|
||||
id: urn:pppa:cac:contract:B05
|
||||
name: Iestāžu nolikumi (nolikumi kā kods)
|
||||
version: 0.1.0
|
||||
status: active
|
||||
domain: Valsts PirmKods
|
||||
dataProduct: Iestāžu nolikumi
|
||||
tenant: PPP Asociācija (PPPA)
|
||||
description:
|
||||
purpose: >-
|
||||
Valsts pārvaldes iestāžu nolikumi (MK noteikumi, Valsts pārvaldes iekārtas likuma 16. pants) kā dati: tiesību akta pase,
|
||||
nodaļas, punkti un apakšpunkti ar veidu — funkcija, uzdevums, tiesības, ievadteikums, cits noteikums, svītrots.
|
||||
Iestāde — VPK ID no Valsts institūciju reģistra.
|
||||
usage: Mašīnlasāma datu apmaiņa; ielāde VDZP katru dienu; AI aģentu vaicājumi caur MCP.
|
||||
limitations: >-
|
||||
Koncepcijas demonstrācija, nav oficiāls izdevums. Teksts — likumi.lv konsolidētā redakcija ielādes dienā; juridiski saistošs
|
||||
ir „Latvijas Vēstnesī” publicētais. Punktu un nodaļu veids noteikts automātiski pēc ievadteikuma un nosaukuma.
|
||||
Izmaiņas nolikumos ievieto manuāli.
|
||||
servers:
|
||||
- server: processgit
|
||||
type: custom
|
||||
format: xml
|
||||
description: ProcessGit repozitorijs (Gitea API v1)
|
||||
customProperties:
|
||||
- {property: url, value: "https://processgit.org/Valsts-Pirmkods/Nolikumi-as-Code"}
|
||||
- {property: ref, value: main}
|
||||
- {property: catalogue, value: nolikumi.yaml}
|
||||
- {property: path, value: "data/*.xml"}
|
||||
- {property: schema, value: "https://processgit.org/Valsts-Pirmkods/Nolikumi-as-Code/src/branch/main/schemas/nolikums-0.1.xsd"}
|
||||
schema:
|
||||
- name: InstitutionStatute
|
||||
logicalType: object
|
||||
physicalType: xml-element
|
||||
physicalName: "/InstitutionStatute"
|
||||
customProperties: [{property: lakehouseTable, value: cac_bronze.nol_statute}]
|
||||
properties:
|
||||
- {name: statute_id, logicalType: string, required: true, primaryKey: true, physicalName: "@id", description: "lv-nol-<VPK ID>"}
|
||||
- {name: vpk_id, logicalType: string, required: true, physicalName: Institution/@org, logicalTypeOptions: {pattern: "^[0-9]{2}-[0-9]{4}$"}}
|
||||
- {name: title, logicalType: string, required: true, physicalName: Act/Title}
|
||||
- {name: number, logicalType: string, required: true, physicalName: Act/Number}
|
||||
- {name: adopted, logicalType: date, required: true, physicalName: Act/Adopted}
|
||||
- {name: in_force, logicalType: date, required: true, physicalName: Act/InForce}
|
||||
- {name: status, logicalType: string, required: true, physicalName: Act/Status}
|
||||
- {name: likumi_id, logicalType: integer, required: true, physicalName: Act/LikumiId}
|
||||
- {name: source_sha256, logicalType: string, required: true, physicalName: Source/SHA256}
|
||||
- name: Point
|
||||
logicalType: object
|
||||
physicalType: xml-element
|
||||
physicalName: "//Point"
|
||||
customProperties: [{property: lakehouseTable, value: cac_bronze.nol_point}]
|
||||
properties:
|
||||
- {name: point_id, logicalType: string, required: true, primaryKey: true, physicalName: "@id", description: "lv-nol-12-0039.p4.1"}
|
||||
- {name: statute_id, logicalType: string, required: true}
|
||||
- {name: n, logicalType: string, required: true, description: Drukātais numurs}
|
||||
- {name: parent_id, logicalType: string, required: false}
|
||||
- {name: chapter_kind, logicalType: string, required: true, quality: [{type: library, rule: validValues, validValues: [general, competence, management, legality, subordinates, final, other, none]}]}
|
||||
- {name: chapter, logicalType: string, required: false}
|
||||
- {name: kind, logicalType: string, required: true, quality: [{type: library, rule: validValues, validValues: [lead, function, task, right, provision, deleted]}]}
|
||||
- {name: text, logicalType: string, required: true}
|
||||
- {name: notes, logicalType: string, required: false}
|
||||
quality:
|
||||
- {name: xsd_valid, type: custom, engine: xsd, implementation: schemas/nolikums-0.1.xsd,
|
||||
description: "Datne atbilst XSD shēmai (identifikatori unikāli)", dimension: conformity}
|
||||
- {name: source_text_matches, type: custom, engine: cac-lakehouse, implementation: "app.cac_nolikumi:source_text_matches",
|
||||
description: "Teksta datnes sha256 sakrīt ar XML, un katrs XML punkts ir teksta datnē", dimension: accuracy}
|
||||
- {name: institution_has_vpk_id, type: custom, engine: cac-lakehouse, implementation: "app.cac_nolikumi:vpk_in_register",
|
||||
description: "Iestādes VPK ID ir Valsts institūciju reģistrā (B01) un datnes nosaukums sākas ar to", dimension: consistency}
|
||||
- {name: has_competence_chapter, type: custom, engine: cac-lakehouse, implementation: "app.cac_nolikumi:has_competence",
|
||||
description: "Nolikumā ir nodaļa par funkcijām, uzdevumiem un tiesībām", dimension: completeness}
|
||||
slaProperties:
|
||||
- {property: frequency, value: 1, unit: d, element: "pull ingest katru dienu 06:30 Rīgas laikā"}
|
||||
- {property: retention, value: "visas versijas (git vēsture)"}
|
||||
team:
|
||||
- {role: owner, name: "Ministru kabinets (nolikumi); par katru nolikumu — iestādes ministrija"}
|
||||
- {role: data steward, name: PPP Asociācija (PPPA)}
|
||||
support:
|
||||
- {channel: issues, url: "https://processgit.org/Valsts-Pirmkods/Nolikumi-as-Code/issues"}
|
||||
customProperties:
|
||||
- {property: sourceId, value: B05}
|
||||
- {property: identifiers, value: "nolikums lv-nol-<VPK ID>; punkts lv-nol-<VPK ID>.p<numurs>"}
|
||||
- {property: validator, value: tools/validate.py}
|
||||
Reference in New Issue
Block a user