# Procedures: corpus forms Analysis of real fragments: package identifier, act name, the key fragment, form rating (exemplary / debatable / wrong-form choice) and why. Corpus-wide count: 98 procedures in 69 packages, 468 transitions. ## Law ### 1. RK procurement — transitions on domain events (exemplary, inspected) Package `kz.corpus.procurement` — Kazakh public procurement act (Kazakhstan): ```law transition OpenBids { label ru-KZ official "Статья 6 пункт 1 подпункт 2). Вскрытие заявок на участие по объявленной государственной закупке"; from Announced; to BidsOpened; on BidsOpeningHeld; when announced(lot); } transition Conclude { ... from BidsOpened; to Concluded; on ContractConcluded; ``` Exemplary: carriers are domain events (`BidsOpeningHeld`, `ContractConcluded`), guards are empirics (`announced(lot)`); labels quote the article. The form without `on` would be a loss here: different transitions from one state on one synthetic step would give `CARRIER_REUSED`, while domain events tell them apart by type. ### 2. Guard over a defeasible conclusion — legal (exemplary, page data) `commission_required(lot)` in the procurement-rules package: a guard reading an independent L1 group — it executes below the fold. Exemplary as the boundary of a "strong" rule: rule strength alone does not fix the position relative to the fold; the reading graph decides. A form reading a group above the fold is already `LDC-E1348`. ## Sport ### 3. FIDE chess — synthetic steps (exemplary, inspected) Package `fide.laws.chess` — FIDE Laws of Chess (international sport): ```law assert "assert-a17": attempted_transition(entity_ref("urn:entity:fide:game"), StartPlay, GamePlayStep { id: "urn:entity:fide:game#step-0", time: @2023-05-02T09:00:00+05:00 }) { origin case_input; } ... evaluate truth(entered_state(entity_ref("urn:entity:fide:game"), Playing, GamePlayStep { id: "urn:entity:fide:game#step-0", time: @2023-05-02T09:00:00+05:00 })); expect truth_status == TRUE_ONLY; expect issues_within(info); ``` Exemplary: for transitions without `on` the carrier is a synthetic `GamePlayStep` with intrinsic-only fields; the case presents steps with `id` and `time`, the query reads `entered_state` with the same carrier. The `issues_within(info)` expectation pins the document noise level. The same form — in `research.procedure.chain` (`AccreditationStep`). ## Standard and customs ### 4. Most corpus procedures — transitions without `on` (exemplary, page data) Several corpus procedures (thinning, chess, civil procedure): the carrier in scenes is `
Step { id, time }`. Exemplary for procedures whose steps are business steps, not domain events: synthetics do not invent world facts, they date case steps. The reverse would be the mistake: declaring an event for every step and forcing the case to invent facts that do not exist in the world (two expert examinations by one decision would share one carrier). ### 5. Compound `parallel` with regions — only in conformance scenarios (form boundary) `join all/any/quorum` and regions do not occur in the corpus; coverage is by conformance scenarios. Rating: not a choice mistake but an unused form — parallelism with tokens executes (concurrency in independent regions), but the corpus does not use it. The teaching examples cover the linear case; a region with `join` is a third-example candidate on extension.