Markdown for LLMs
nb-08 solutions — Which edition applies and when the term expires
The source Markdown for this article. Copy it into your assistant or download it as a text file.
# nb-08 solutions — Which edition applies and when the term expires *Checkable against `law test packs/examples/language-demo/sources` (6 checked, 6 passed) and `law test packs/examples/language-demo/boundaries` (21 checked, 21 passed). Identifiers and code as written.* ## 1. `eligibility_notice(ann)` at `legal_time @2025-06-01`, resident with a vehicle **Answer: `NEITHER` — no rule fires.** `NewEligibilityNotice` carries `effective [@2026-01-01, infinity)`, so at June 2025 it is silent even though both of its conditions hold. `OldResidencyNotice` is in force, but it concludes the *different* predicate `residency_notice`, not `eligibility_notice`. This is the `before entry into force the 2026 rule is silent` test: same facts as the in-force test, one axis moved, answer `NEITHER`. ## 2. `ReplyOnTime` on `@2026-03-11` versus `@2026-03-12`, nothing filed **Answer: `ACTIVE` on 11 March, `VIOLATED` on 12 March.** Receipt was `@2026-03-06`; counting starts the next day (`start_count next_day`) and the window end is included (`include_end true`), so the two-business-day window's last day is 11 March — the `working days: the term includes the window end` test expects `position(ReplyOnTime, ACTIVE)` there. By 12 March the window has closed with `not reply_filed`, so the `overdue without performance` test expects `position(ReplyOnTime, VIOLATED)`. One day changes it because the end day itself still counts: expiry happens the day *after* the inclusive end, not on it. ## 3. Urgent application filed `@2026-02-01`: `@2026-02-11` and `@2026-03-03` **Answer: `TRUE_ONLY` on 11 February (the `FastTrack` case fires); `FALSE_ONLY` on 3 March (the urgent case refutes the default).** `urgent_appeal` triggers `case FastTrack … 10 calendar_day`, so the due date is `@2026-02-11` — the `special case defeats the general term` test. At `@2026-03-03` (the 30-day default date) the answer is not silence but `FALSE_ONLY`: the `defeated general term does not hold` test shows the special case carries a negative head that refutes the default. The urgent filing is therefore due exactly once, early — it does not get two deadlines. ## 4. Delete `deadline_policy WORKING_DAYS;` from `CaseAxes` **Answer: the `working days` tests stop computing; the `without a policy working days are not counted` test names the outcome: `NON_EXECUTABLE` with `issue(MISSING_POLICY)`.** Without a policy, `add_business_days(on, 2 business_day)` has no defined start/inclusion/roll, so every evaluation that needs it — the `ACTIVE` and the `VIOLATED` positions alike — becomes `NON_EXECUTABLE` instead of answering. The edition tests (1–3 of the suite) are unaffected: they use no business-day arithmetic. The lesson is the article's rule of thumb restated: a business-day window without a policy is refused loudly, never guessed. ## How to verify ```sh law test packs/examples/language-demo/sources ``` Expected: `итого: 6 проверено, 6 прошли, 0 не прошли, 0 не исполнены`. The deciding tests are `2026 edition: the rule is in force` (`TRUE_ONLY`, `applied(NewEligibilityNotice)`), `before entry into force the 2026 rule is silent` (`NEITHER`), `working days: the term includes the window end` (`ACTIVE`), `working days: overdue without performance` (`VIOLATED`), and `without a policy working days are not counted` (`NON_EXECUTABLE`, `MISSING_POLICY`). ```sh law test packs/examples/language-demo/boundaries ``` Expected: `итого: 21 проверено, 21 прошли, 0 не прошли, 0 не исполнены`. The deciding tests are `default term — 30 calendar days` (`TRUE_ONLY` at `@2026-03-03`), `special case defeats the general term` (`TRUE_ONLY` at `@2026-02-11`), and `defeated general term does not hold` (`FALSE_ONLY` at `@2026-03-03`).