Skip to content

Commit 9f1e7fb

Browse files
committed
fix: unwrap definitions, fix comparisons, transform FOREACH keys
- Unwrap 348 definitions from {value: X} to plain X in 67 YAML files - Fix 32 comparison operations using values: [a,b] → subject/value - Transform FOREACH keys: subject→collection, value→body, where→filter - Unwrap FOREACH body arrays [expr] → expr in 6 files - Update Python engine to handle both definition formats - Update Python engine to accept both old and new FOREACH key names Kindgebonden budget now evaluates correctly via regelrecht Rust engine with FOREACH: leeftijdstoeslagen=70300, budget=920500.
1 parent 16c491d commit 9f1e7fb

32 files changed

Lines changed: 511 additions & 371 deletions

File tree

laws/algemene_ouderdomswet/SVB-2024-01-01.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -230,12 +230,12 @@ articles:
230230
operation: GREATER_THAN_OR_EQUAL
231231
value: $pensioenleeftijd
232232
- operation: GREATER_THAN
233-
values:
234-
- operation: ADD
233+
subject:
234+
operation: ADD
235235
values:
236236
- $woonachtige_verzekerde_jaren
237237
- $werkzame_verzekerde_jaren
238-
- 0
238+
value: 0
239239
- output: is_gerechtigd
240240
value: true
241241
legal_basis:

laws/algemene_plaatselijke_verordening/exploitatievergunning/gemeenten/GEMEENTE_ROTTERDAM-2024-01-01.yaml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -317,18 +317,16 @@ articles:
317317
operation: EQUALS
318318
value: false
319319
- operation: GREATER_THAN_OR_EQUAL
320-
values:
321-
- $leeftijd_exploitant
322-
- $minimale_leeftijd_zonder_alcohol
320+
subject: $leeftijd_exploitant
321+
value: $minimale_leeftijd_zonder_alcohol
323322
- operation: AND
324323
conditions:
325324
- subject: $verstrekt_alcohol
326325
operation: EQUALS
327326
value: true
328327
- operation: GREATER_THAN_OR_EQUAL
329-
values:
330-
- $leeftijd_exploitant
331-
- $minimale_leeftijd_met_alcohol
328+
subject: $leeftijd_exploitant
329+
value: $minimale_leeftijd_met_alcohol
332330
- subject: $heeft_geldige_vog_exploitant
333331
operation: EQUALS
334332
value: true

laws/algemene_plaatselijke_verordening/terrassen/GEMEENTE_ROTTERDAM-2024-01-01.yaml

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -364,24 +364,20 @@ articles:
364364
operation: IN
365365
values: $toegestane_gebruiksdoelen
366366
- operation: GREATER_THAN_OR_EQUAL
367-
values:
368-
- $obstakelvrije_ruimte
369-
- $minimale_obstakelvrije_ruimte
367+
subject: $obstakelvrije_ruimte
368+
value: $minimale_obstakelvrije_ruimte
370369
- operation: LESS_THAN_OR_EQUAL
371-
values:
372-
- $terras_oppervlakte
373-
- $bgt_oppervlakte_beschikbaar
370+
subject: $terras_oppervlakte
371+
value: $bgt_oppervlakte_beschikbaar
374372
- subject: $bgt_functie_oppervlak
375373
operation: IN
376374
values: $toegestane_bgt_functies
377375
- operation: LESS_THAN_OR_EQUAL
378-
values:
379-
- $gewenste_sluitingstijd_doordeweeks
380-
- $maximale_sluitingstijd_doordeweeks
376+
subject: $gewenste_sluitingstijd_doordeweeks
377+
value: $maximale_sluitingstijd_doordeweeks
381378
- operation: LESS_THAN_OR_EQUAL
382-
values:
383-
- $gewenste_sluitingstijd_weekend
384-
- $maximale_sluitingstijd_weekend
379+
subject: $gewenste_sluitingstijd_weekend
380+
value: $maximale_sluitingstijd_weekend
385381
- operation: OR
386382
conditions:
387383
- subject: $schenkt_alcohol

laws/awb/beroep/JenV-2024-01-01.yaml

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,8 @@ articles:
134134
article: '8:6'
135135
url: https://wetten.overheid.nl/BWBR0005537/2024-01-01#Hoofdstuk8_Titeldeel8.1_Afdeling8.1.2_Artikel8:6
136136
juriconnect: jci1.3:c:BWBR0005537&artikel=8:6&z=2024-01-01&g=2024-01-01
137-
explanation: Artikel 8:6 Awb bepaalt de absolute bevoegdheid van rechters voor verschillende wetten
137+
explanation: Artikel 8:6 Awb bepaalt de absolute bevoegdheid van rechters
138+
voor verschillende wetten
138139
- output: bevoegde_rechtbank
139140
value:
140141
operation: IF
@@ -171,7 +172,8 @@ articles:
171172
paragraph: '1'
172173
url: https://wetten.overheid.nl/BWBR0005537/2024-01-01#Hoofdstuk8_Titeldeel8.1_Afdeling8.1.2_Artikel8:7
173174
juriconnect: jci1.3:c:BWBR0005537&artikel=8:7&lid=1&z=2024-01-01&g=2024-01-01
174-
explanation: Artikel 8:7 lid 1 Awb bepaalt de relatieve bevoegdheid van rechtbanken
175+
explanation: Artikel 8:7 lid 1 Awb bepaalt de relatieve bevoegdheid van
176+
rechtbanken
175177
- output: beroep_mogelijk
176178
value:
177179
operation: AND
@@ -192,9 +194,9 @@ articles:
192194
- operation: GREATER_THAN
193195
subject:
194196
operation: FOREACH
195-
subject: $gebeurtenissen
196-
value:
197-
- operation: EQUALS
197+
collection: $gebeurtenissen
198+
body:
199+
operation: EQUALS
198200
subject: $event_type
199201
value: Objected
200202
combine: ADD
@@ -239,9 +241,9 @@ articles:
239241
- operation: EQUALS
240242
subject:
241243
operation: FOREACH
242-
subject: $gebeurtenissen
243-
value:
244-
- operation: EQUALS
244+
collection: $gebeurtenissen
245+
body:
246+
operation: EQUALS
245247
subject: $event_type
246248
value: Objected
247249
combine: ADD
@@ -253,9 +255,9 @@ articles:
253255
- operation: GREATER_THAN
254256
subject:
255257
operation: FOREACH
256-
subject: $gebeurtenissen
257-
value:
258-
- operation: EQUALS
258+
collection: $gebeurtenissen
259+
body:
260+
operation: EQUALS
259261
subject: $event_type
260262
value: Objected
261263
combine: ADD
@@ -279,7 +281,8 @@ articles:
279281
article: '8:3'
280282
url: https://wetten.overheid.nl/BWBR0005537/2024-01-01#Hoofdstuk8_Titeldeel8.1_Artikel8:3
281283
juriconnect: jci1.3:c:BWBR0005537&artikel=8:3&z=2024-01-01&g=2024-01-01
282-
explanation: Artikel 8:3 Awb bepaalt redenen waarom beroep niet mogelijk is
284+
explanation: Artikel 8:3 Awb bepaalt redenen waarom beroep niet mogelijk
285+
is
283286
- output: beroepstermijn
284287
value:
285288
operation: IF
@@ -310,7 +313,8 @@ articles:
310313
paragraph: '2'
311314
url: https://wetten.overheid.nl/BWBR0005537/2024-01-01#Hoofdstuk3_Afdeling3.3_Artikel3:11
312315
juriconnect: jci1.3:c:BWBR0005537&artikel=3:11&lid=2&z=2024-01-01&g=2024-01-01
313-
explanation: Artikel 3:11 lid 2 Awb bepaalt dat bij uitgebreide voorbereidingsprocedure direct beroep mogelijk is
316+
explanation: Artikel 3:11 lid 2 Awb bepaalt dat bij uitgebreide voorbereidingsprocedure
317+
direct beroep mogelijk is
314318
- output: reden_direct_beroep
315319
value:
316320
operation: IF
@@ -330,6 +334,8 @@ articles:
330334
explanation: Artikel 3:11 lid 2 Awb bepaalt de reden voor direct beroep
331335
untranslatables:
332336
- construct: iteratie over variabel aantal gebeurtenissen voor beroepscheck
333-
reason: FOREACH niet beschikbaar in v0.5.1 schema; het aantal zaakgebeurtenissen is dynamisch en kan niet vooraf worden uitgerold
334-
suggestion: Voeg FOREACH toe aan het schema of beperk het aantal gebeurtenissen tot een vast maximum
337+
reason: FOREACH niet beschikbaar in v0.5.1 schema; het aantal zaakgebeurtenissen
338+
is dynamisch en kan niet vooraf worden uitgerold
339+
suggestion: Voeg FOREACH toe aan het schema of beperk het aantal gebeurtenissen
340+
tot een vast maximum
335341
accepted: true

laws/awb/bezwaar/JenV-2024-01-01.yaml

Lines changed: 31 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,20 @@ service: JenV
1010
uuid: b6679cca-4555-44b4-9b8f-caa6886b74a0
1111
articles:
1212
- number: '7:1'
13-
text: |-
14-
1 Degene aan wie het recht is toegekend beroep bij een bestuursrechter in te stellen, dient alvorens beroep in te stellen bezwaar te maken, tenzij:
15-
a. het besluit in bezwaar of in administratief beroep is genomen,
16-
b. het besluit aan goedkeuring is onderworpen,
17-
c. het besluit een goedkeuring of een weigering daarvan inhoudt,
18-
d. het besluit is voorbereid met toepassing van afdeling 3.4,
19-
e. het besluit is genomen op basis van een uitspraak waarin de bestuursrechter met toepassing van artikel 8:72, vierde lid, onderdeel a, heeft bepaald dat afdeling 3.4 geheel of gedeeltelijk buiten toepassing blijft,
20-
f. het beroep zich richt tegen het niet tijdig nemen van een besluit,
21-
g. het besluit is genomen op grond van een voorschrift als genoemd in de bij deze wet behorende Regeling rechtstreeks beroep dan wel het besluit anderszins in die regeling is omschreven.
22-
2 Tegen de beslissing op het bezwaar kan beroep worden ingesteld met toepassing van de voorschriften die gelden voor het instellen van beroep tegen het besluit waartegen bezwaar is gemaakt.
13+
text: "1 Degene aan wie het recht is toegekend beroep bij een bestuursrechter in\
14+
\ te stellen, dient alvorens beroep in te stellen bezwaar te maken, tenzij:\n\
15+
\ a. het besluit in bezwaar of in administratief beroep is genomen,\n b. het\
16+
\ besluit aan goedkeuring is onderworpen,\n c. het besluit een goedkeuring of\
17+
\ een weigering daarvan inhoudt,\n d. het besluit is voorbereid met toepassing\
18+
\ van afdeling 3.4,\n e. het besluit is genomen op basis van een uitspraak waarin\
19+
\ de bestuursrechter met toepassing van artikel 8:72, vierde lid, onderdeel a,\
20+
\ heeft bepaald dat afdeling 3.4 geheel of gedeeltelijk buiten toepassing blijft,\n\
21+
\ f. het beroep zich richt tegen het niet tijdig nemen van een besluit,\n g.\
22+
\ het besluit is genomen op grond van een voorschrift als genoemd in de bij deze\
23+
\ wet behorende Regeling rechtstreeks beroep dan wel het besluit anderszins in\
24+
\ die regeling is omschreven.\n2 Tegen de beslissing op het bezwaar kan beroep\
25+
\ worden ingesteld met toepassing van de voorschriften die gelden voor het instellen\
26+
\ van beroep tegen het besluit waartegen bezwaar is gemaakt."
2327
url: https://wetten.overheid.nl/BWBR0005537/2024-01-01#Artikel7:1
2428
machine_readable:
2529
definitions:
@@ -112,9 +116,9 @@ articles:
112116
- operation: EQUALS
113117
subject:
114118
operation: FOREACH
115-
subject: $gebeurtenissen
116-
value:
117-
- operation: EQUALS
119+
collection: $gebeurtenissen
120+
body:
121+
operation: EQUALS
118122
subject: $event_type
119123
value: Objected
120124
combine: ADD
@@ -126,7 +130,8 @@ articles:
126130
paragraph: '1'
127131
url: https://wetten.overheid.nl/BWBR0005537/2024-01-01#Hoofdstuk7_Afdeling7.1_Artikel7:1
128132
juriconnect: jci1.3:c:BWBR0005537&artikel=7:1&lid=1&z=2024-01-01&g=2024-01-01
129-
explanation: Artikel 7:1 lid 1 Awb bepaalt de voorwaarden waaronder bezwaar mogelijk is
133+
explanation: Artikel 7:1 lid 1 Awb bepaalt de voorwaarden waaronder bezwaar
134+
mogelijk is
130135
- output: reden_niet_mogelijk
131136
value:
132137
operation: IF
@@ -145,15 +150,15 @@ articles:
145150
operation: NOT
146151
value:
147152
operation: EQUALS
148-
values:
149-
- operation: FOREACH
150-
subject: $gebeurtenissen
151-
value:
152-
- operation: EQUALS
153+
subject:
154+
operation: FOREACH
155+
collection: $gebeurtenissen
156+
body:
157+
operation: EQUALS
153158
subject: $event_type
154159
value: Objected
155160
combine: ADD
156-
- 0
161+
value: 0
157162
then: er is al eerder bezwaar gemaakt tegen dit besluit
158163
legal_basis:
159164
law: Algemene wet bestuursrecht
@@ -198,7 +203,8 @@ articles:
198203
paragraph: '1'
199204
url: https://wetten.overheid.nl/BWBR0005537/2024-01-01#Hoofdstuk7_Afdeling7.2_Artikel7:10
200205
juriconnect: jci1.3:c:BWBR0005537&artikel=7:10&lid=1&z=2024-01-01&g=2024-01-01
201-
explanation: Artikel 7:10 lid 1 Awb bepaalt de termijn voor beslissing op bezwaar
206+
explanation: Artikel 7:10 lid 1 Awb bepaalt de termijn voor beslissing op
207+
bezwaar
202208
- output: verdagingstermijn
203209
value:
204210
operation: IF
@@ -220,6 +226,8 @@ articles:
220226
explanation: Artikel 7:10 lid 3 Awb bepaalt de verdagingstermijn
221227
untranslatables:
222228
- construct: iteratie over variabel aantal gebeurtenissen voor bezwaarcheck
223-
reason: FOREACH niet beschikbaar in v0.5.1 schema; het aantal zaakgebeurtenissen is dynamisch en kan niet vooraf worden uitgerold
224-
suggestion: Voeg FOREACH toe aan het schema of beperk het aantal gebeurtenissen tot een vast maximum
229+
reason: FOREACH niet beschikbaar in v0.5.1 schema; het aantal zaakgebeurtenissen
230+
is dynamisch en kan niet vooraf worden uitgerold
231+
suggestion: Voeg FOREACH toe aan het schema of beperk het aantal gebeurtenissen
232+
tot een vast maximum
225233
accepted: true

laws/besluit_bijstandverlening_zelfstandigen/SZW-2025-01-01.yaml

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -213,12 +213,12 @@ articles:
213213
operation: LESS_THAN
214214
value: $pensioenleeftijd
215215
- operation: GREATER_THAN_OR_EQUAL
216-
values:
217-
- operation: MULTIPLY
216+
subject:
217+
operation: MULTIPLY
218218
values:
219219
- $bbz_aanvraag.uren_per_week
220220
- 52
221-
- $urencriterium_per_jaar
221+
value: $urencriterium_per_jaar
222222
- operation: OR
223223
conditions:
224224
- operation: AND
@@ -227,13 +227,11 @@ articles:
227227
operation: EQUALS
228228
value: OUDER
229229
- operation: LESS_THAN_OR_EQUAL
230-
values:
231-
- $vermogen
232-
- $vermogensgrens_ouder
230+
subject: $vermogen
231+
value: $vermogensgrens_ouder
233232
- operation: LESS_THAN_OR_EQUAL
234-
values:
235-
- $vermogen
236-
- $vermogensgrens_algemeen
233+
subject: $vermogen
234+
value: $vermogensgrens_algemeen
237235
- operation: OR
238236
conditions:
239237
- operation: AND
@@ -267,9 +265,8 @@ articles:
267265
operation: EQUALS
268266
value: false
269267
- operation: GREATER_THAN_OR_EQUAL
270-
values:
271-
- $bbz_aanvraag.jaren_ondernemerschap
272-
- 10
268+
subject: $bbz_aanvraag.jaren_ondernemerschap
269+
value: 10
273270
- operation: AND
274271
conditions:
275272
- subject: $bbz_aanvraag.type_zelfstandige

laws/burgerlijk_wetboek_beschermingsbewind/RECHTSPRAAK-2024-01-01.yaml

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,8 @@ articles:
8181
- output: actief_bewind
8282
value:
8383
operation: FOREACH
84-
subject: $bewind_registraties
85-
where:
84+
collection: $bewind_registraties
85+
filter:
8686
operation: AND
8787
conditions:
8888
- operation: EQUALS
@@ -98,7 +98,7 @@ articles:
9898
- operation: GREATER_THAN
9999
subject: $current.datum_einde
100100
value: $calculation_date
101-
value: $current
101+
body: $current
102102
legal_basis:
103103
law: Burgerlijk Wetboek Boek 1
104104
bwb_id: BWBR0002656
@@ -142,8 +142,8 @@ articles:
142142
- output: subject_types
143143
value:
144144
operation: FOREACH
145-
subject: $actief_bewind
146-
value: CITIZEN
145+
collection: $actief_bewind
146+
body: CITIZEN
147147
legal_basis:
148148
law: Burgerlijk Wetboek Boek 1
149149
bwb_id: BWBR0002656
@@ -154,8 +154,8 @@ articles:
154154
- output: delegation_types
155155
value:
156156
operation: FOREACH
157-
subject: $actief_bewind
158-
value: BEWINDVOERDER
157+
collection: $actief_bewind
158+
body: BEWINDVOERDER
159159
legal_basis:
160160
law: Burgerlijk Wetboek Boek 1
161161
bwb_id: BWBR0002656
@@ -166,8 +166,8 @@ articles:
166166
- output: permissions
167167
value:
168168
operation: FOREACH
169-
subject: $actief_bewind
170-
value: $bewindvoerder_rechten
169+
collection: $actief_bewind
170+
body: $bewindvoerder_rechten
171171
legal_basis:
172172
law: Burgerlijk Wetboek Boek 1
173173
bwb_id: BWBR0002656
@@ -197,6 +197,7 @@ articles:
197197
explanation: Einddatum bewind, null indien nog actief
198198
untranslatables:
199199
- construct: iteratie over variabel aantal bewind-registraties
200-
reason: FOREACH niet beschikbaar in v0.5.1 schema; het aantal actieve beschermingsbewind-registraties is dynamisch en kan niet vooraf worden uitgerold
200+
reason: FOREACH niet beschikbaar in v0.5.1 schema; het aantal actieve beschermingsbewind-registraties is dynamisch
201+
en kan niet vooraf worden uitgerold
201202
suggestion: Voeg FOREACH toe aan het schema of beperk het aantal registraties tot een vast maximum
202203
accepted: true

0 commit comments

Comments
 (0)