Inventory the act
Task and place
Section titled “Task and place”Inventory turns pinned text into a dispositioned map before any rule is written. Each article is read, split into content units, and given an explicit fate: formalize now, exclude with a reason, or leave unprocessed. Pinning guarantees the text; inventory guarantees that nothing in it is silently skipped or silently reinterpreted.
Inputs
Section titled “Inputs”- The pinned edition and its local bytes from the previous stage.
- The source card with the scope boundary from acquisition.
- The source inventory template, which carries the fate map.
Actions
Section titled “Actions”- Walk the act article by article, in the order of the pinned bytes.
- Split each article into content units: definitions, conditions, exceptions, tables, formulas, and cross-references to other articles or acts.
- Give every unit a fate: formalize in this package version, exclude with a written reason, or mark unprocessed when its disposition is genuinely not yet decided.
- Cross off each locator as it is dispositioned, so the map visibly covers the whole act.
- Flag tables, formulas, and boundary readings that need a written decision before rules may cite them.
Decisions
Section titled “Decisions”- The fate of every content unit, with reasons for every exclusion.
- Which flagged items need a decision record before rule drafting. In the running example these are the tariff table shape (EAI-D1), the inclusive lower bound of the payout condition (EAI-D2), and the penalty rounding policy (EAI-D3). Records start from the decision record template; two filled examples are the EAI tariff decision and the EAI threshold decision.
Artifact
Section titled “Artifact”The artifact is a per-unit fate map that includes the excluded and the unprocessed units alongside the included ones, so a reader can tell deliberate scope from oversight. Start from the source inventory template; the filled EAI inventory shows the v1 map at article granularity, the v2 inventory revises article 19 at branch granularity, and the v3 inventory extends the same treatment to articles 16 and 17 after finding EAI-R3.
Worked example
Section titled “Worked example”The local copy of the example act holds articles numbered one through twenty-eight. The v1 map includes four articles, each mapped to the rules it yields — and article 19 carries the flaw this handbook is built around: one row, one fate, one rule, while the article holds two adjacent branches.
| Article | Content units | Fate |
|---|---|---|
| Eight | duty condition: an employer with employees must conclude the insurance contract | formalize: the employer duty rule |
| Nine | penalty formula: unpaid amount times one and a half percent per day of delay | formalize: the penalty rule |
| Seventeen | twenty-two-class tariff table plus premium formula | formalize: twenty-two strict tariff rules plus the premium rules — v1 row; the minimum floor hides inside it, as the employer branch hid in the article-19 row |
| Nineteen | payout condition with inclusive bounds from thirty to one hundred percent loss | formalize: the payout rule — v1 row; the employer branch hides inside it |
The steepest tariff row belongs to class twenty-two at rate 0.0296. On an insured sum of one million, the base premium is twenty-nine thousand six hundred; a two-day delay on one hundred thousand unpaid yields a penalty of three thousand. A thirty percent loss qualifies for payout while twenty-nine percent does not. The remaining twenty-four articles are excluded by the scope recorded on the scope card, and the unprocessed bucket of the map lists whatever is seen but not yet dispositioned; both are visible in the filled EAI inventory.
The v2 map re-inventories article 19 unit by unit, which is what exposes finding EAI-R1 as a row that should have existed:
| Locator | Content unit | Fate |
|---|---|---|
| 19.1, line 364 | insurer payout branch, loss thirty through one hundred | formalize: PayoutForThirtyToHundred, decision EAI-D2, two boundary pairs |
| 19.1, line 363 | employer reimbursement branch, loss five through twenty-nine | formalize: LowLossEmployerReimburses, finding EAI-R1 closed, two probes |
| 19.1, line 362 | harm measured per the Civil Code | exclude: referenced act outside the slice |
| 19.1–19.6, rest | caps, annuity mechanics, death benefit, expenses, burial, recovery, transfer, prevention | exclude, each unit named with its basis |
One article, mixed status: two units formalized, the rest excluded by name, none unprocessed. The full chain for the R1 branch reads: source line 363 → inventory unit (employer branch) → no decision record (direct transcription, not a close call) → rule LowLossEmployerReimburses → probes EAI-R1-LOW-LOSS-TWENTY / FOUR. A whole-article row could never carry that chain — which is exactly why the branch went missing.
The v3 map repeats the lesson for articles 16 and 17, this time caught by finding EAI-R3: the base multiplies the insured sum rather than payroll, the minimum floor gets its own rule, and the S ≥ F constraint is recorded as an assumed input rather than silently dropped:
| Locator | Content unit | Fate |
|---|---|---|
| 16.1, line 212 | insured sum set by the contract, not below payroll | assume: case input, S ≥ F unchecked |
| 17.1, line 222 | premium from tariff times the insured sum | formalize: PremiumBaseFromInsuredSum, PremiumBaseStands, decision EAI-D4 |
| 17.2-1, line 273 | below-floor base rises to the minimum wage | formalize: PremiumMinimumFloor, three probes |
| 17-1, lines 284–355 | correction coefficient, no-claim discount | exclude: no case category asks |
Pitfall
Section titled “Pitfall”The classic failure is inventorying from memory or from a recollection of the act instead of the pinned bytes, which quietly substitutes a remembered reading for the text. Its twin is dropping dull articles silently instead of marking them excluded. A subtler one is starting to interpret during inventory: choosing between readings belongs in decision records, not in the fate map.
Verification
Section titled “Verification”The stage is done when each of the following holds:
- Every content unit of the local copy has exactly one fate, and the counts reconcile at unit granularity: included plus excluded plus unprocessed covers the act with nothing left over. An article-level count that reconciles while a branch hides inside one row fails this check — the v1 map is the worked counterexample.
- Every included unit traces forward to rules or to a decision record that unblocks them, and every branch of a covered article owns its row, its rule, and its probes.
- The package checks pass for the inventoried slice. Observed on the accepted candidate with the pinned tool (
law0.1.0, semantics law.core/0.2, published build), R1 excerpt:
ok [kz.corpus.employee_accident_insurance#authored] tests/r1.lawtest / EAI-R1-LOW-LOSS-TWENTY-EMPLOYER-REIMBURSES ok [kz.corpus.employee_accident_insurance#authored] tests/r1.lawtest / EAI-R1-LOW-LOSS-FOUR-SILENTtotal: 37 checked, 37 passed, 0 failed, 0 not run; code 0Limits
Section titled “Limits”Inventory disposes; it does not interpret. Boundary readings and table shapes decided later must cite back to inventory rows, and findings raised at review go on the review record template rather than into the fate map; the filled EAI review record opens finding EAI-R1, the candidate review record closes it with the v2 row as evidence, and the R3 review record closes finding EAI-R3 with the v3 rows as evidence.
Next step
Section titled “Next step”Continue with Vocabulary first, which turns the included inventory rows into named relations before any rule cites them.
Sources
Section titled “Sources”- From article text to norm — bound variables, the expressiveness boundary, and constraints versus rules.
- Reconciliation with the pinned edition — the pinned bytes the inventory must read.
Documentation for Arxo. Writings — blog.arxo.io.
Anonymous visit counts on stats.arxo.io, no cookies.