$ taskset -c 0-3 <pack>/install/released/node_modules/.bin/nightshade <pack>/findings/nullifier-check-without-insert/vulnerable.compact --config <pack>/findings/nullifier-check-without-insert/config.json --compiler <compact-toolchains>/0.34.0/compactc

MEDIUM — Required absence lacks a surviving matching insertion [nullifier-check-without-insert]
<pack>/findings/nullifier-check-without-insert/vulnerable.compact:7:11
  7 |   assert(!used.member(disclose(id)), "fresh");
    |           ^
accept has a modeled successful state-changing history requiring absence from used, without a definite surviving insertion of that exact value/key into the same collection. Review whether this check is intended to consume a one-use identifier.
Source: <pack>/findings/nullifier-check-without-insert/vulnerable.compact:7:11
Call path: accept
Remediation: If this is a one-use identifier, insert the checked value/key into the same persistent collection on every successful history and retain it through transaction completion. Review intentional absence validation separately.

Semantic profile: compact-0.34.0-zkir2.
Baseline analysis: complete; selected rules: complete.
Rule coverage: 1 selected rule(s); 0 with incomplete entries.
1 finding(s), 0 suppressed, 0 baseline; 1/1 entrypoint(s) completed; analysis complete. Compiler validation passed.
