$ nightshade vulnerable.compact --config config.json --compiler /path/to/compactc MEDIUM — Required absence lacks a surviving matching insertion [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: 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.