Skip to content

Commit 4e323ac

Browse files
namedgraphclaude
andcommitted
VTEK: complete PINREG harvest (244/244), SKAIDRIS refreshed
- PINREG: all 244 public private-interest declarations of politicians (was 150), 228 declarants matched to persons/, 865 ties (596 with legal entities). New tie nature "Garbės narys" (honorary member) in the interest-roles classifier. - SKAIDRIS (2026-10-21): 422 lobbyists, 1 833 transparency + 438 influence declarations; 1 076 lobbied contacts matched to persons/. - vtek-interest-procurement.rq counts only ownership and control ties in private-sector companies (JAR legal form scopeNote "Privatus"): plain/honorary membership, employment, "other" ties and ex officio board seats in associations, public institutions or universities are not a stake in the contractor. - Harvest docs describe polite pacing (one PINREG declaration per 15 s, the script's new default) instead of challenge thresholds; "partial" notes removed. - EXAMPLES.md: the three VTEK sections re-rendered against the full data. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent e3b1fa8 commit 4e323ac

13 files changed

Lines changed: 24439 additions & 17752 deletions

File tree

‎.claude/skills/harvest-vtek/SKILL.md‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Rules, without exception:
4747
returns `'started'` and pages through the three lists at 1.5 s per request (~30
4848
requests).
4949
3. Poll `[window.__skStatus, window.__skLog.length, window.__skLog.slice(-1)[0]]` every
50-
~30 s. Expect `done`. Counts on 2026-10-20: 422 lobbyists, 1834 transparency and 435
50+
~30 s. Expect `done`. Counts on 2026-10-21: 422 lobbyists, 1833 transparency and 438
5151
influence declarations.
5252
- `error: … Cloudflare challenge`: ask the user to reload the tab and pass the
5353
challenge, then re-run the script. Fetched pages are kept.
@@ -78,19 +78,19 @@ Rules, without exception:
7878
4. `window.__pinregRows()` must report `rows == total`. If not, page through again;
7979
pages already seen are kept.
8080

81-
### Phase 2: details, one request per 8 s
81+
### Phase 2: details, one request per 15 s
8282

8383
1. **Finishing a partial harvest?** Seed the previous file first, so its declarations are
8484
kept. Read `etl/vtek/data/pinreg.json` and pass its content:
8585
`window.__pinregLoad(<the JSON>)`. Check the declaration count it returns.
86-
2. Run `window.__pinregDetails()` (default 8000 ms spacing). It returns how many are left
87-
to fetch: ~244 × 8 s ≈ 33 min for a full run.
86+
2. Run `window.__pinregDetails()` (15 s per request: a polite pace). It returns how many
87+
are left to fetch: ~244 × 15 s ≈ 1 h for a full run.
8888
3. Poll `[window.__pinregStatus, window.__pinregLog.length]` every few minutes, and do
8989
other work in between.
90-
- On 2026-10-20, a 1.2 s spacing was re-challenged by Cloudflare after ~150 requests.
91-
At 8 s it should hold. If `error: … Cloudflare challenge` appears anyway, **stop for
92-
the session**: download what you have (it is marked `complete: false` and lists the
93-
`pending` ids) and finish another day with step 1.
90+
- On `error: … Cloudflare challenge`, **stop** and download what you have (it is marked
91+
`complete: false` and lists the `pending` ids). If the user passes the challenge by
92+
reloading the tab, redo phase 1, seed the downloaded file (step 1) and resume;
93+
otherwise finish another day.
9494
4. Ask to download (`pinreg.json`, ~0.4 MB). After a clear yes, run
9595
`window.__pinregDownload()`. It returns `{declarations, pending, complete}`. Then close
9696
the tabs you opened.

‎CLAUDE.md‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ make BASE=https://linkeddata.lt/ # prod base URI (default https://localhost:44
5454
# private-interest declarations (PINREG) in the user's Chrome ->
5555
# etl/vtek/data/*.json (gitignored), then make -C etl/vtek. Cloudflare
5656
# on both hosts; PINREG search only via the app UI (its reCAPTCHA),
57-
# details at >= 8 s/request (1.2 s got re-challenged after ~150).
57+
# details one per 15 s; stops on any challenge, resumes after it.
5858
# Procedure: .claude/skills/harvest-vtek/
5959
/harvest-sodra # opt-in, not in `make all`: download Sodra's per-employer
6060
# monthly-{yyyy}.csv.zip (atvira.sodra.lt, Cloudflare) in Chrome ->
@@ -584,10 +584,10 @@ until the full JAR is loaded; procurement for the
584584
restate the whole value), every one with a buyer and a contractor; 2 077 of 2 801 distinct buyers and
585585
98 of 9 325 contractors resolve in legal-entities/ — the rest dangle until the full JAR is loaded;
586586
0 dangling calendar days; VTEK from the
587-
2026-10-20 harvest: 427 lobbyists (422 listed + 5 UNLISTED stubs; 230 with a JAR code, 3 natural ones
588-
-> persons/), 2 269 lobbying declarations (1 834 transparency + 435 influence; 388 cite 181 Seimas bills;
589-
3 101 contacts, 963 -> persons/, 2 506 -> an institution), PINREG PARTIAL: 150 of 244 declarations
590-
(99 declarants -> persons/), 602 ties incl. workplaces; legal-entities/ links dangle until the full JAR
587+
2026-10-21 harvest: 427 lobbyists (422 listed + 5 UNLISTED stubs; 230 with a JAR code, 5 natural ones
588+
-> persons/), 2 271 lobbying declarations (1 833 transparency + 438 influence; 388 cite 181 Seimas bills;
589+
3 103 contacts, 1 076 -> persons/, 2 509 -> an institution), PINREG complete: 244 of 244 declarations
590+
(228 declarants -> persons/), 865 ties incl. workplaces (596 legal-entity ties); legal-entities/ links dangle until the full JAR
591591
is loaded, bills/ links until `make -C etl/seimas bills`; NŽT land acquisitions
592592
(2026-10-20 feed): 139 711 applications -> 17 842 legal-entity application documents (applicant
593593
checks: 15 387 atitinka / 14 neaisku / 96 neatitinka / 1 370 nepatikrinama / 245 nerasta-registre /

‎README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ kalba (kaip SQL reliacinėms DB). Pavyzdžiai — [žemiau](#ką-jau-galima-atsa
8383
| [`legal-entities`](datasets/current/legal-entities/) | visas Juridinių asmenų registras — 547 382 juridiniai asmenys, iš jų 314 788 jau išregistruoti: teisinė forma, statusas, įregistravimo ir išregistravimo dienos kalendoriuje, registruota buveinė (savivaldybė, gyvenamoji vietovė, gatvė, pašto kodas, Adresų registro kodas — 217 987 iš 229 645 registruotų buveinių). Į git įtraukiamos tik 6 028 valstybės ir savivaldybių biudžetinės įstaigos (`institutions.trig`); likusieji (`entities.trig`, ~14,4 mln. ketvertų, ~1 GB) sugeneruojami `make -C etl/legal-entities entities` | JAR ir Adresų registras per get.data.gov.lt |
8484
| [`facilities`](datasets/current/facilities/) (`heritage.trig` neįtraukiamas į git — sugeneruojamas `make -C etl/facilities`) | 10 032 švietimo ir mokslo institucijos (5 767 veikiančios, su koordinatėmis; ir uždarytos — su išregistravimo data), 4 130 licencijuotų asmens sveikatos priežiūros įstaigų su ~8 300 veiklos adresų ir 26 058 nekilnojamosios kultūros vertybės; visos susietos su savivaldybe (švietimo įstaigos — ir su seniūnija bei gyvenamąja vietove, paveldas — su seniūnija), įstaigos — su jas valdančiu juridiniu asmeniu (`ltlod:legalEntity`), registravimo ir licencijavimo datos — su kalendoriumi | ŠVIS ir VASPVT per get.data.gov.lt; Kultūros vertybių registras — [data.gov.lt](https://data.gov.lt/datasets/2192/) XLSX (KPD, CC BY 4.0; 2023-02-01 momentinė kopija) |
8585
| [`procurement`](etl/procurement/) (failas neįtraukiamas į git — sugeneruojamas `make -C etl/procurement`) | viešųjų pirkimų sutartys, sudarytos per paskutinius 12 mėnesių, ne mažesnės nei 10 000 EUR vertės (~56 000; be sutarčių pakeitimų): pirkimo objektas, BVPŽ (CPV) kodas, prekės / paslaugos / darbai, vertė, sudarymo diena; perkančioji organizacija ir tiekėjas susieti per JAR kodą (`legal-entities`) | VPT CVP IS sutarčių posistemė per [get.data.gov.lt](https://get.data.gov.lt/datasets/gov/lsd/vpt/cvpp/:ns) (Valstybės duomenų agentūra, CC BY 4.0) |
86-
| [`vtek`](datasets/current/vtek/) | **Lobizmas:** 427 lobistai (238 juridiniai asmenys, susieti su JAR kodu; 189 fiziniai — 3 iš jų buvę Seimo nariai), 2 269 lobistinės veiklos deklaracijos (1 834 lobistų skaidrumo ir 435 įtaką patyrusių asmenų) su sritimi, užsakovu, teisės akto projektu (388 nurodo Seimo projektų numerius) ir paveiktais asmenimis bei institucijomis (3 101: 963 susieti su Seimo nariais, 2 506 — su institucijomis ar Seimo komitetais). **Privatūs interesai:** 150 viešų Seimo narių, ministrų, merų, EP narių ir Prezidento privačių interesų deklaracijų (99 susietos su Seimo nariais) su 602 darbovietėmis ir paties deklaruojančiojo ryšiais su juridiniais asmenimis; surinkimas **dalinis** (150 iš 244) — likusios bus surinktos kitą kartą | [VTEK](https://www.vtek.lt/) registrai SKAIDRIS ir PINREG (renkama naršyklėje — žr. [`.claude/skills/harvest-vtek/`](.claude/skills/harvest-vtek/SKILL.md)); sutuoktinių duomenys, asmens kodai ir el. pašto adresai neskelbiami |
86+
| [`vtek`](datasets/current/vtek/) | **Lobizmas:** 427 lobistai (238 juridiniai asmenys, susieti su JAR kodu; 189 fiziniai — 5 iš jų susieti su politikais), 2 271 lobistinės veiklos deklaracija (1 833 lobistų skaidrumo ir 438 įtaką patyrusių asmenų) su sritimi, užsakovu, teisės akto projektu (388 nurodo Seimo projektų numerius) ir paveiktais asmenimis bei institucijomis (3 103: 1 076 susieti su politikais, 2 509 — su institucijomis ar Seimo komitetais). **Privatūs interesai:** visos 244 viešos Seimo narių, ministrų, merų, EP narių ir Prezidento privačių interesų deklaracijos (228 susietos su politikais) su 865 darbovietėmis ir paties deklaruojančiojo ryšiais su juridiniais asmenimis (596 ryšiai) | [VTEK](https://www.vtek.lt/) registrai SKAIDRIS ir PINREG (renkama naršyklėje — žr. [`.claude/skills/harvest-vtek/`](.claude/skills/harvest-vtek/SKILL.md)); sutuoktinių duomenys, asmens kodai ir el. pašto adresai neskelbiami |
8787
| [`employment`](etl/sodra/) (failas `employers.trig` neįtraukiamas į git — sugeneruojamas `make -C etl/sodra`; į git įtraukiamas tik kubo aprašas `dataset.trig`) | 114 316 darbdavių (2026 m. rugpjūtis): kiekvieno juridinio asmens (draudėjo) naujausio mėnesio apdraustųjų skaičius, vidutinis darbo užmokestis ir socialinio draudimo įmokos, taip pat paskutinių 12 mėnesių (`SODRA_MONTHS`) vidutinis apdraustųjų skaičius, pasvertas vidutinis darbo užmokestis ir įmokų suma; darbdavys susietas su JAR įrašu (`ltlod:employer`), mėnuo — su kalendoriumi (`dct:temporal`), registracijos savivaldybė — su administraciniu vienetu. Pasirinktinai (`SODRA_CUBE=1`) — ir visa mėnesių eilutė (~14 mln. ketvertų) | [Sodros atviri draudėjų duomenys](https://atvira.sodra.lt/imones/rinkiniai/index.html) (`monthly-{metai}.csv.zip`; svetainę saugo Cloudflare, todėl failai atsisiunčiami naršyklėje — žr. [`.claude/skills/harvest-sodra/`](.claude/skills/harvest-sodra/SKILL.md)) |
8888
| [`land-acquisitions`](datasets/current/land-acquisitions/) (juridinių asmenų prašymų failas neįtraukiamas į git — sugeneruojamas `make -C etl land-acquisitions`) | prašymai Nacionalinei žemės tarnybai leisti įsigyti žemės ūkio ar miškų ūkio paskirties žemės (nuo 2023 m.): 17 842 juridinių asmenų prašymai po vieną — su NŽT sprendimu, prašomu ir jau valdomu plotu, savivaldybe, pateikimo ir sprendimo dienomis, susieti su juridiniu asmeniu, jei NŽT nurodytas pavadinimas atitinka JAR kodą; 121 869 fizinių asmenų prašymai — tik suskaičiuoti pagal savivaldybę, metus ir paskirtį (447 suvestinės, mažiau nei 3 prašymų langeliai praleisti), nes NŽT jų kodus ir vardus užšifruoja | [NŽT](https://get.data.gov.lt/datasets/gov/nzt/paraiskos/Paraiska) per get.data.gov.lt; pavadinimų patikra — pagal JAR |
8989
| [`calendar`](etl/calendar/) (failas neįtraukiamas į git — sugeneruojamas `make -C etl/calendar`) | kalendorius nuo 1977-01-01 (anksčiausia JAR registracija) iki kitų metų pabaigos: metai, mėnesiai ir dienos (2027 m. imtinai — 51 metai, 612 mėnesių, 18 627 dienos), valstybinių švenčių dienos pažymėtos; visos kitų rinkinių datos (posėdžiai, balsavimai, kadencijų, sesijų ir narysčių pradžios bei pabaigos, juridinių asmenų įregistravimas ir išregistravimas, deklaracijų ataskaitiniai metai) susietos su kalendoriaus diena ar metais (`dct:temporal`) | sugeneruojama ETL metu; šventės — pagal Švenčių dienų įstatymą ir Darbo kodeksą, su kiekvienos šventės galiojimo datomis ([`etl/calendar/data/holidays.csv`](etl/calendar/data/holidays.csv)) |

0 commit comments

Comments
 (0)