# Review record: eai-candidate (EAI-R3 closed, re-accepted)

## Scope

Candidate eai-candidate after the EAI-R3 premium-base fix: source snapshot 0.1.0 plus the EAI-R1 and EAI-R3 fixes plus tariff, upper-bound, fractional-penalty, and premium-base suites — thirty-seven checks over five modelled branches. Records read: scope card v3, source inventory v3, decision records EAI-D1 through EAI-D4, and all seven suites. Supersedes the pre-R3 review (snapshot 8e3297de…fea912), which stays on file as the history of the first acceptance.

## Identity

Candidate snapshot id 7635d197162f485ca5befe613670b0a8febb07a1c610151601f9b45fc822ec78 over fifteen 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 — byte-identical to the pre-R3 lock, so the lock digest does not cover the changed rules and the snapshot id above (not the lock) is what binds this verdict to these files; 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-seven of thirty-seven on both.

## Reviewers

Checking reviewer: an automated agent reading the pinned source text and running the tooling — this is an AGENT review. The EAI-R3 finding itself arrived as external review feedback and was reproduced against the pinned bytes before fixing. No human subject-matter approval exists; no expert, signature, or official check is claimed.

## Kind

Subject-matter re-review (premium rules against Articles 16–17 at unit granularity, EAI-R3 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 17 point 1 read against PremiumBaseFromInsuredSum and PremiumBaseStands (base is tariff times insured sum; the base stands at or above the floor); Article 17 point 2-1 against PremiumMinimumFloor (below-floor base rises to the wage); Article 16 point 1 against the recorded S ≥ F assumption (assumed, not enforced — confirmed by reading every rule for a payroll-to-sum comparison: none). Tariff expectations re-derived from the source percents (percent times one million) rather than copied from rule literals. Static check run (OK, no warnings after import cleanup); full suite run on both 0.1.0 builds; pinning check on the local build (exit 0); the premium boundary straddled from both sides (below-floor, equal, above); eight hand mutants applied on scratch copies with the suite identical.

## Findings

| ID | Statement | Grounds | Severity |
|---|---|---|---|
| EAI-R1 | CLOSED earlier — the employer branch for loss five through twenty-nine is modelled, tested, and inventoried | pre-R3 review record; rule and probes unchanged in this snapshot | was high; closure stands |
| EAI-R2 | the debug 0.1.1 build answers NEITHER on all twenty-eight Money checks while the nine non-Money checks pass | candidate run: 37 checked, 9 passed, 28 failed, every failure a Money expectation reading NEITHER | compatibility note, not a candidate defect: the candidate supports tool 0.1.0 only |
| EAI-R3 | CLOSED — the premium base read payroll instead of the insured sum and the minimum floor was missing | pinned Article 17 points 1 and 2-1 against the old PremiumFromPayroll rule; fixed by the base rule plus the two premium rules with three probes; both premium mutants killed | was high; closure verified |

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

## Disposition

EAI-R3 fixed in the candidate and verified as above; the pre-R3 snapshot travels as history with R3 open against it, 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-seven checked, thirty-seven passed, zero failed on both 0.1.0 builds. Remaining limits: five branches modelled, the rest of the act untouched by name; S ≥ F assumed without enforcement; unofficial source standing; AGENT review with no human approval; tool 0.1.0 only; loss above 101, negative loss, fractional payroll, and below-payroll insured sums untested.

## Verdict

accept with recorded limits: no answer-changing finding remains open against candidate snapshot 7635d197162f485ca5befe613670b0a8febb07a1c610151601f9b45fc822ec78. 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.
