# Review record: eai-candidate (EAI-R1 closed, suite completed)

## Scope

Candidate eai-candidate: source snapshot 0.1.0 plus the EAI-R1 fix plus tariff, upper-bound, and fractional-penalty suites — thirty-four checks over five modelled branches. Records read: scope card v2, source inventory v2, decision records EAI-D1 through EAI-D3, and all six suites.

## Identity

Candidate snapshot id 8e3297deb2b7dba6e1f550a5469aff988d8604e213ebbff8b331a04ccefea912 over fourteen files (recompute per the candidate README; any byte change reopens this review). Namespace urn:kz:corpus:clir:employee-accident-insurance; lock root content hash sha256:857647ad88ed96d916401cecebe83937704b79a647002b4586f7e2069c09b37b; edition EAI_EDITION at PINNED_UNOFFICIAL_COPY. Tools: published `law` 0.1.0 (binary sha256:c56e69e761c20f9019753c4b22c9dc7e810e290512ac763d7bb89c69ef93210d, darwin-arm64) and local `law` 0.1.0 (binary sha256:78dea06ce928547e87bd9875a2556cc663def37cbb78c8b04aa0da57839c95d7), both semantics law.core/0.2; suite tally thirty-four of thirty-four on both.

## Reviewers

Checking reviewer: an automated agent reading the pinned source text and running the tooling — this is an AGENT review. No human subject-matter approval exists; no expert, signature, or official check is claimed.

## Kind

Subject-matter review (rules against fragments at branch granularity, EAI-R1 closure verified) plus automated checks (static check, full suite on two 0.1.0 builds, pinning check on the local build, mutant listing with hand-applied kill matrix) plus a compatibility note (debug 0.1.1 run, verdict: unsupported).

## Method

Article 19 read line by line against both payout rules: line 363 (employer, five through twenty-nine) against LowLossEmployerReimburses, line 364 (insurer, thirty through one hundred) against PayoutForThirtyToHundred. Tariff expectations re-derived from the source percents (percent times one million) rather than copied from rule literals. Static check run; full suite run on both 0.1.0 builds; each new boundary pair straddled from both sides; the R1 fix verified in three states (predicate absent: suite skips with LDC-E2102; predicate present without the rule: loss twenty answers NEITHER; rule present: loss twenty established); six hand mutants applied on scratch copies with the suite identical.

## Findings

| ID | Statement | Grounds | Severity |
|---|---|---|---|
| EAI-R1 | CLOSED — the employer branch for loss five through twenty-nine is modelled, tested, and inventoried | rule LowLossEmployerReimburses with two probes; three-state verification above; inventory v2 row with fate formalize | was high; closure verified |
| EAI-R2 | the debug 0.1.1 build answers NEITHER on all twenty-five Money checks while the nine non-Money checks pass | candidate run: 34 checked, 9 passed, 25 failed, every failure a Money expectation reading NEITHER | compatibility note, not a candidate defect: the candidate supports tool 0.1.0 only |

No further answer-changing findings were raised in this pass.

## Disposition

EAI-R1 fixed in the candidate and verified as above; the source snapshot still travels with R1 open and is kept as the before-state, not released. EAI-R2 dispositions the 0.1.1 divergence as an open engineering case with a recorded decision (support 0.1.0 only) rather than a silent incompatibility. Confirming runs on the candidate itself: the static check reports OK and the scenario run reports thirty-four checked, thirty-four passed, zero failed on both 0.1.0 builds. Remaining limits: five branches modelled, the rest of the act untouched by name; unofficial source standing; AGENT review with no human approval; tool 0.1.0 only; loss above 101, negative loss, and fractional payroll untested.

## Verdict

accept with recorded limits: no answer-changing finding remains open against candidate snapshot 8e3297deb2b7dba6e1f550a5469aff988d8604e213ebbff8b331a04ccefea912. This verdict applies to these exact files, edition EAI_EDITION, and tool `law` 0.1.0 only; any edit to the model, the pins, or the tool reopens the review.
