@arxo/canon-ogpo-vts 0.1.0 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/NOTICE CHANGED
@@ -1,6 +1,6 @@
1
- Law DSL — reference implementation of Law DSL Core 0.1
1
+ Arxo Law — reference implementation of Arxo Law Core 0.1
2
2
  Copyright 2026 Arxo (https://arxo.io)
3
3
 
4
4
  Code is licensed under the Apache License, Version 2.0 (see LICENSE).
5
- The specification text under spec/ is licensed under the Creative Commons
6
- Attribution 4.0 International License (see spec/LICENSE).
5
+ Bundled specification text is licensed under the Creative Commons
6
+ Attribution 4.0 International License.
package/README.md CHANGED
@@ -1,10 +1,115 @@
1
1
  # @arxo/canon-ogpo-vts
2
2
 
3
- Pinned evaluation world for `kz.corpus.ogpovts@0.1.0` (Kazakhstan, compulsory
4
- motor third-party liability insurance): CLIR, its eight imports
5
- (`kz.corpus.bonus_malus`, `kz.corpus.budget`, `kz.corpus.budget_code`,
6
- `kz.corpus.vred_ts`, `kz.corpus.clir.official_calendar`, `vocab.geo`,
7
- `vocab.vehicle`, `vocab.maintenance`), the official 2026 calendar, and
8
- generated `.d.ts` declarations.
9
-
10
- Install next to `@arxo/law`.
3
+ **Kazakhstan's compulsory motor third-party liability insurance (Law
4
+ No. 446-II) as a pinned canon:** premiums, limits, payouts and their terms.
5
+ `kz.corpus.ogpovts@0.1.0` is shipped exactly as released in
6
+ [OGPO canon 0.1.3](https://github.com/arxohq/arxo-ogpo-public/releases/tag/canon-v0.1.4);
7
+ The public canon 0.1.2 sources were recompiled for semantic release 0.2.7.
8
+ Package loading and query smoke were checked; full scenario acceptance is deferred.
9
+ Open it with [`@arxo/law`](https://www.npmjs.com/package/@arxo/law).
10
+
11
+ [![npm](https://img.shields.io/npm/v/@arxo/canon-ogpo-vts?color=0b6e4f)](https://www.npmjs.com/package/@arxo/canon-ogpo-vts)
12
+ ![jurisdiction](https://img.shields.io/badge/jurisdiction-Kazakhstan-3f3d9e)
13
+ ![license](https://img.shields.io/npm/l/@arxo/canon-ogpo-vts)
14
+
15
+ ## Quickstart
16
+
17
+ ```sh
18
+ npm i @arxo/law @arxo/canon-ogpo-vts
19
+ ```
20
+
21
+ The insurer has received the documents of a claim. Which rules fix the day
22
+ the payout is due, and which facts do they need? (articles 26 and 26-1)
23
+
24
+ <!-- readme:hero -->
25
+ ```js
26
+ import { open } from '@arxo/law';
27
+
28
+ const ogpo = await open('kz.corpus.ogpovts@0.1.0');
29
+ const { tree } = ogpo.unfold('payment_due_day', { depth: 2 });
30
+ tree.producers.map((rule) => [rule.name, rule.strength, rule.anchors[0].locator]);
31
+ ```
32
+ <!-- /readme:hero -->
33
+
34
+ Output — produced by this exact call; the README is regenerated from the
35
+ engine's answer:
36
+
37
+ <!-- readme:output -->
38
+ ```js
39
+ // [
40
+ // ['PaymentDueDayIsDirectSettlementTerm', 'strict', 'article/26-1'],
41
+ // ['PaymentDueDayIsGeneralTerm', 'defeasible', 'article/26'],
42
+ // ]
43
+ ```
44
+ <!-- /readme:output -->
45
+
46
+ `unfold` reads the canon without a case: no rule is executed, and every node
47
+ points at the article it comes from.
48
+
49
+ ## What this canon knows
50
+
51
+ <p align="center">
52
+ <img src="https://cdn.jsdelivr.net/npm/@arxo/canon-ogpo-vts@0.1.3/assets/knows.svg" width="880" alt="Rule tree of payment_due_day: the seven-business-day term of direct settlement (article 26-1), the fifteen-business-day general term (article 26) and the rule that displaces it, their facts, and the formalization measure of the canon">
53
+ </p>
54
+
55
+ The tree goes two levels down from `payment_due_day`: every rule, its
56
+ strength, the article it is anchored to and the facts it needs. The counts
57
+ are the canon's own measure, `ogpo.passport()`: source-only provisions are
58
+ pinned text the canon does not execute.
59
+
60
+ Some of the questions the canon answers (`ogpo.questions()` lists all of them):
61
+
62
+ <!-- readme:table -->
63
+ | Question | Rules | Text |
64
+ |---|---|---|
65
+ | `payment_due_day` | `PaymentDueDayIsDirectSettlementTerm`, `PaymentDueDayIsGeneralTerm` | `article/26-1`, `article/26` |
66
+ | `general_payment_due_day` | `GeneralPaymentDueDay` | `article/26` |
67
+ | `direct_settlement_due_day` | `DirectSettlementDueDay` | `article/26-1` |
68
+ | `refusal_decision_due_day` | `RefusalDecisionDueDay` | `article/29` |
69
+ | `premium_payable` | `PremiumPayableFull`, `PremiumPayableReduced` | `article/19`, `article/20` |
70
+ | `koeffitsient_bonus_malus` | `KoeffitsientBezPovysheniya`, `KoeffitsientPoPrilozheniyu2022`, +2 | `annex/table`, `article/16` |
71
+ | `insurance_payment_amount` | `DeathOrDisabilityPaymentEqualsLimit`, `InjuryPaymentIsActualTreatmentCostCapped`, +2 | `article/24` |
72
+ | `insurer_liability_limit` | `LifeOrHealthLiabilityLimit`, `PropertyLiabilityLimit` | `article/24` |
73
+ | `contract_term_end_day` | `ContractTermIsStipulated`, `ContractTermIsTwelveMonths` | `article/13` |
74
+ <!-- /readme:table -->
75
+
76
+ The labels and rule texts inside the canon are in Russian, the language of
77
+ the act; relation and rule names are English.
78
+
79
+ ## How to ask
80
+
81
+ A term in this act is counted in business days: a case names the canon's
82
+ deadline policy `urn:kz:corpus:clir:ogpo-vts#KZ_OGPO_BUSINESS_DAY_DEADLINES`
83
+ and the calendar snapshot it reads, for example
84
+ `options: { calendarSnapshot: 'urn:kz:corpus:clir:official-calendar#snapshot-2026' }`.
85
+ `truth`, `collect`, `deadline`, `calc`, `positions`, `whyNot` and `unfold`
86
+ are documented in the [`@arxo/law` README](https://www.npmjs.com/package/@arxo/law).
87
+
88
+ <p align="center">
89
+ <img src="https://cdn.jsdelivr.net/npm/@arxo/law@0/assets/layers.svg" width="880" alt="Which Arxo Law package to install: @arxo/law for apps, @arxo/mcp-* for agents, @arxo/cli for the terminal">
90
+ </p>
91
+
92
+ <details>
93
+ <summary>What is in the package</summary>
94
+
95
+ | File | |
96
+ |---|---|
97
+ | `world.lawir.json` | the linked world: the package and its imports (`kz.corpus.bonus_malus`, `kz.corpus.budget`, `kz.corpus.budget_code`, `kz.corpus.vred_ts`, `kz.corpus.clir.official_calendar`, `vocab.geo`, `vocab.vehicle`, `vocab.maintenance`); `@arxo/law` checks it against `contentHash` in `package-meta.json` |
98
+ | `package.lawir.json` | the package's own compiled model (`packageContentHash`, the hash a `law.lock` pins) |
99
+ | `resources/kz-official-2026.calendar.json` | the official 2026 calendar |
100
+ | `canon-release.json` | the SHA-256 of each file, pinned to the canon release |
101
+ | `index.d.ts` | relation names for the `CanonRegistry` type: a misspelled predicate is an editor error |
102
+
103
+ The questions the package answers, with their parameters and tests, are
104
+ listed in `QUESTIONS.md` of the canon release.
105
+
106
+ A release that pins `task-guides.json` in `canon-release.json` also ships the
107
+ canon's task guide — the author's order of questions for a typical task, such
108
+ as a payout on a claim. `canonTaskGuides('kz.corpus.ogpovts', '0.1.0')` from
109
+ `@arxo/law/task-guides` lists it under the `taskGuideCatalogHash` of
110
+ `package-meta.json`; the passage journal is kept by the `law` binary
111
+ (`law guide journal`).
112
+
113
+ </details>
114
+
115
+ Apache-2.0 · [arxo.io](https://www.arxo.io)
@@ -0,0 +1,80 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="960" height="666" viewBox="0 0 960 666" role="img" aria-labelledby="t">
2
+ <title id="t">kz.corpus.ogpovts@0.1.0: the rules behind payment_due_day</title>
3
+ <style>
4
+ .sans { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif; }
5
+ .mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, 'Liberation Mono', monospace; }
6
+ </style>
7
+ <rect width="960" height="666" rx="14" fill="#ffffff"/>
8
+ <text x="20" y="30" class="sans" font-size="11" font-weight="700" fill="#59636e" text-anchor="start">WHAT THIS CANON KNOWS</text>
9
+ <text x="186" y="30" class="mono" font-size="12" font-weight="400" fill="#59636e" text-anchor="start">kz.corpus.ogpovts@0.1.0 · unfold('payment_due_day', { depth: 2 })</text>
10
+ <rect x="20" y="47" width="200.39999999999998" height="22" rx="11" fill="#e6f4ee"/><text x="120.19999999999999" y="62" class="mono" font-size="12" font-weight="600" fill="#0b6e4f" text-anchor="middle">30 executable provisions</text>
11
+ <rect x="232.39999999999998" y="47" width="124.39999999999999" height="22" rx="11" fill="#f6f8fa"/><text x="294.59999999999997" y="62" class="mono" font-size="12" font-weight="600" fill="#59636e" text-anchor="middle">16 source-only</text>
12
+ <rect x="368.79999999999995" y="47" width="116.8" height="22" rx="11" fill="#eeedfb"/><text x="427.19999999999993" y="62" class="mono" font-size="12" font-weight="600" fill="#3f3d9e" text-anchor="middle">299 questions</text>
13
+ <rect x="16" y="74" width="928" height="30" rx="8" fill="#e6f4ee" stroke="#9fd3bd" stroke-width="1.2"/>
14
+ <rect x="28" y="79" width="78.8" height="22" rx="11" fill="#ffffff"/><text x="67.4" y="94" class="mono" font-size="12" font-weight="600" fill="#0b6e4f" text-anchor="middle">question</text>
15
+ <text x="118.8" y="95" class="mono" font-size="14" font-weight="700" fill="#0b6e4f" text-anchor="start">payment_due_day</text>
16
+ <text x="46" y="128" class="sans" font-size="14" font-weight="400" fill="#3f3d9e" text-anchor="start">⇐</text>
17
+ <text x="64" y="128" class="mono" font-size="13" font-weight="700" fill="#3f3d9e" text-anchor="start">PaymentDueDayIsDirectSettlementTerm</text>
18
+ <rect x="351" y="113" width="63.599999999999994" height="22" rx="11" fill="#ffffff"/><text x="382.8" y="128" class="mono" font-size="12" font-weight="600" fill="#59636e" text-anchor="middle">strict</text>
19
+ <text x="932" y="128" class="mono" font-size="12" font-weight="400" fill="#8a5a00" text-anchor="end">article/26-1</text>
20
+ <path d="M62 138 v12 h8" stroke="#d1d9e0" stroke-width="1.2" fill="none"/>
21
+ <rect x="76" y="139" width="71.19999999999999" height="22" rx="11" fill="#eeedfb"/><text x="111.6" y="154" class="mono" font-size="12" font-weight="600" fill="#3f3d9e" text-anchor="middle">derived</text>
22
+ <text x="157.2" y="154" class="mono" font-size="13" font-weight="400" fill="#1f2328" text-anchor="start">direct_settlement_due_day</text>
23
+ <text x="98" y="180" class="sans" font-size="14" font-weight="400" fill="#3f3d9e" text-anchor="start">⇐</text>
24
+ <text x="116" y="180" class="mono" font-size="13" font-weight="700" fill="#3f3d9e" text-anchor="start">DirectSettlementDueDay</text>
25
+ <rect x="301.6" y="165" width="63.599999999999994" height="22" rx="11" fill="#ffffff"/><text x="333.40000000000003" y="180" class="mono" font-size="12" font-weight="600" fill="#59636e" text-anchor="middle">strict</text>
26
+ <text x="932" y="180" class="mono" font-size="12" font-weight="400" fill="#8a5a00" text-anchor="end">article/26-1</text>
27
+ <path d="M114 190 v12 h8" stroke="#d1d9e0" stroke-width="1.2" fill="none"/>
28
+ <rect x="128" y="191" width="48.4" height="22" rx="11" fill="#ffffff"/><text x="152.2" y="206" class="mono" font-size="12" font-weight="600" fill="#59636e" text-anchor="middle">fact</text>
29
+ <text x="186.4" y="206" class="mono" font-size="13" font-weight="400" fill="#1f2328" text-anchor="start">tortfeasor_has_compulsory_policy</text>
30
+ <path d="M114 216 v12 h8" stroke="#d1d9e0" stroke-width="1.2" fill="none"/>
31
+ <rect x="128" y="217" width="48.4" height="22" rx="11" fill="#ffffff"/><text x="152.2" y="232" class="mono" font-size="12" font-weight="600" fill="#59636e" text-anchor="middle">fact</text>
32
+ <text x="186.4" y="232" class="mono" font-size="13" font-weight="400" fill="#1f2328" text-anchor="start">documents_received_on</text>
33
+ <path d="M114 242 v12 h8" stroke="#d1d9e0" stroke-width="1.2" fill="none"/>
34
+ <rect x="128" y="243" width="48.4" height="22" rx="11" fill="#ffffff"/><text x="152.2" y="258" class="mono" font-size="12" font-weight="600" fill="#59636e" text-anchor="middle">fact</text>
35
+ <text x="186.4" y="258" class="mono" font-size="13" font-weight="400" fill="#1f2328" text-anchor="start">payment_claim_of</text>
36
+ <path d="M114 268 v12 h8" stroke="#d1d9e0" stroke-width="1.2" fill="none"/>
37
+ <rect x="128" y="269" width="48.4" height="22" rx="11" fill="#ffffff"/><text x="152.2" y="284" class="mono" font-size="12" font-weight="600" fill="#59636e" text-anchor="middle">fact</text>
38
+ <text x="186.4" y="284" class="mono" font-size="13" font-weight="400" fill="#1f2328" text-anchor="start">direct_settlement_requested</text>
39
+ <path d="M114 294 v12 h8" stroke="#d1d9e0" stroke-width="1.2" fill="none"/>
40
+ <rect x="128" y="295" width="71.19999999999999" height="22" rx="11" fill="#eeedfb"/><text x="163.6" y="310" class="mono" font-size="12" font-weight="600" fill="#3f3d9e" text-anchor="middle">derived</text>
41
+ <text x="209.2" y="310" class="mono" font-size="13" font-weight="400" fill="#1f2328" text-anchor="start">direct_settlement_term</text>
42
+ <text x="392.79999999999995" y="310" class="sans" font-size="12" font-weight="400" fill="#59636e" text-anchor="start">(no producers in the world)</text>
43
+ <text x="46" y="336" class="sans" font-size="14" font-weight="400" fill="#3f3d9e" text-anchor="start">⇐</text>
44
+ <text x="64" y="336" class="mono" font-size="13" font-weight="700" fill="#3f3d9e" text-anchor="start">PaymentDueDayIsGeneralTerm</text>
45
+ <rect x="280.79999999999995" y="321" width="94" height="22" rx="11" fill="#ffffff"/><text x="327.79999999999995" y="336" class="mono" font-size="12" font-weight="600" fill="#59636e" text-anchor="middle">defeasible</text>
46
+ <text x="932" y="336" class="mono" font-size="12" font-weight="400" fill="#8a5a00" text-anchor="end">article/26</text>
47
+ <path d="M62 346 v12 h8" stroke="#d1d9e0" stroke-width="1.2" fill="none"/>
48
+ <rect x="76" y="347" width="71.19999999999999" height="22" rx="11" fill="#eeedfb"/><text x="111.6" y="362" class="mono" font-size="12" font-weight="600" fill="#3f3d9e" text-anchor="middle">derived</text>
49
+ <text x="157.2" y="362" class="mono" font-size="13" font-weight="400" fill="#1f2328" text-anchor="start">general_payment_due_day</text>
50
+ <text x="98" y="388" class="sans" font-size="14" font-weight="400" fill="#3f3d9e" text-anchor="start">⇐</text>
51
+ <text x="116" y="388" class="mono" font-size="13" font-weight="700" fill="#3f3d9e" text-anchor="start">GeneralPaymentDueDay</text>
52
+ <rect x="286" y="373" width="63.599999999999994" height="22" rx="11" fill="#ffffff"/><text x="317.8" y="388" class="mono" font-size="12" font-weight="600" fill="#59636e" text-anchor="middle">strict</text>
53
+ <text x="932" y="388" class="mono" font-size="12" font-weight="400" fill="#8a5a00" text-anchor="end">article/26</text>
54
+ <path d="M114 398 v12 h8" stroke="#d1d9e0" stroke-width="1.2" fill="none"/>
55
+ <rect x="128" y="399" width="48.4" height="22" rx="11" fill="#ffffff"/><text x="152.2" y="414" class="mono" font-size="12" font-weight="600" fill="#59636e" text-anchor="middle">fact</text>
56
+ <text x="186.4" y="414" class="mono" font-size="13" font-weight="400" fill="#1f2328" text-anchor="start">documents_received_on</text>
57
+ <path d="M114 424 v12 h8" stroke="#d1d9e0" stroke-width="1.2" fill="none"/>
58
+ <rect x="128" y="425" width="71.19999999999999" height="22" rx="11" fill="#eeedfb"/><text x="163.6" y="440" class="mono" font-size="12" font-weight="600" fill="#3f3d9e" text-anchor="middle">derived</text>
59
+ <text x="209.2" y="440" class="mono" font-size="13" font-weight="400" fill="#1f2328" text-anchor="start">general_payment_term</text>
60
+ <text x="377.2" y="440" class="sans" font-size="12" font-weight="400" fill="#59636e" text-anchor="start">(no producers in the world)</text>
61
+ <path d="M62 450 v12 h8" stroke="#d1d9e0" stroke-width="1.2" fill="none"/>
62
+ <rect x="76" y="451" width="71.19999999999999" height="22" rx="11" fill="#eeedfb"/><text x="111.6" y="466" class="mono" font-size="12" font-weight="600" fill="#3f3d9e" text-anchor="middle">derived</text>
63
+ <text x="157.2" y="466" class="mono" font-size="13" font-weight="400" fill="#1f2328" text-anchor="start">general_term_applies</text>
64
+ <text x="98" y="492" class="sans" font-size="14" font-weight="400" fill="#3f3d9e" text-anchor="start">⇐</text>
65
+ <text x="116" y="492" class="mono" font-size="13" font-weight="700" fill="#3f3d9e" text-anchor="start">DirectSettlementDefeatsGeneralTerm</text>
66
+ <rect x="395.2" y="477" width="78.8" height="22" rx="11" fill="#ffffff"/><text x="434.59999999999997" y="492" class="mono" font-size="12" font-weight="600" fill="#59636e" text-anchor="middle">defeater</text>
67
+ <text x="932" y="492" class="mono" font-size="12" font-weight="400" fill="#8a5a00" text-anchor="end">article/26-1</text>
68
+ <path d="M114 502 v12 h8" stroke="#d1d9e0" stroke-width="1.2" fill="none"/>
69
+ <rect x="128" y="503" width="48.4" height="22" rx="11" fill="#ffffff"/><text x="152.2" y="518" class="mono" font-size="12" font-weight="600" fill="#59636e" text-anchor="middle">fact</text>
70
+ <text x="186.4" y="518" class="mono" font-size="13" font-weight="400" fill="#1f2328" text-anchor="start">direct_settlement_requested</text>
71
+ <text x="98" y="544" class="sans" font-size="14" font-weight="400" fill="#3f3d9e" text-anchor="start">⇐</text>
72
+ <text x="116" y="544" class="mono" font-size="13" font-weight="700" fill="#3f3d9e" text-anchor="start">GeneralTermApplies</text>
73
+ <rect x="270.4" y="529" width="94" height="22" rx="11" fill="#ffffff"/><text x="317.4" y="544" class="mono" font-size="12" font-weight="600" fill="#59636e" text-anchor="middle">defeasible</text>
74
+ <text x="932" y="544" class="mono" font-size="12" font-weight="400" fill="#8a5a00" text-anchor="end">article/26</text>
75
+ <path d="M114 554 v12 h8" stroke="#d1d9e0" stroke-width="1.2" fill="none"/>
76
+ <rect x="128" y="555" width="48.4" height="22" rx="11" fill="#ffffff"/><text x="152.2" y="570" class="mono" font-size="12" font-weight="600" fill="#59636e" text-anchor="middle">fact</text>
77
+ <text x="186.4" y="570" class="mono" font-size="13" font-weight="400" fill="#1f2328" text-anchor="start">documents_received_on</text>
78
+ <path d="M20 620 H940" stroke="#d1d9e0" stroke-width="1"/>
79
+ <text x="20" y="644" class="sans" font-size="12" font-weight="400" fill="#59636e" text-anchor="start">fact — you provide it · derived — the canon proves it · judgment — a person decides · no case: unfold reads the canon only</text>
80
+ </svg>
@@ -0,0 +1,22 @@
1
+ {
2
+ "$comment": "Same public canon sources compiled under law.core/0.2.7; full acceptance deferred.",
3
+ "canon": "https://github.com/arxohq/arxo-ogpo-public",
4
+ "tag": "canon-v0.1.4",
5
+ "package": "kz.corpus.ogpovts",
6
+ "version": "0.1.0",
7
+ "files": {
8
+ "package.lawir.json": {
9
+ "from": "package.lawir.json",
10
+ "sha256": "sha256:e1b7bf16b78e8c75127e59aad1ba7aba3a93d5405d50279a5e21922b30f4bf14"
11
+ },
12
+ "world.lawir.json": {
13
+ "from": "replay/world.lawir.json",
14
+ "sha256": "sha256:ed419cddf7caeb22c1a635ae287949019cbb97ced01d3ba57bccc943438b835e"
15
+ },
16
+ "resources/kz-official-2026.calendar.json": {
17
+ "from": "src/resources/d04f48761d98cdcf-kz-official-2026.calendar.json",
18
+ "sha256": "sha256:d04f48761d98cdcf2a094cc728fd160fbc3b73e2eb5ebbed6743d17e976fe9c6"
19
+ }
20
+ },
21
+ "releaseVerified": false
22
+ }