Proof check reference

Review deadline and timelock casts

A narrowing conversion near a deadline deserves a specific investigation. This check identifies cached signal reports that combine deadline or timelock language with a narrow integer conversion and still lack a terminal campaign disposition.

What the check reads

The default-on verify-stage check emits a warning. It searches rule IDs, messages and tags for both time-related and cast-related tokens, including deadline, executeAfter, uint32 and truncation. A terminal campaign linked to deadline_arithmetic_faithful, or a matching signal rule, counts as disposition. Terminal includes closed-null, closed-ki and deferred. With no signals directory, the check passes without inspecting source for this pattern.

proof audit --check code_signal_deadline_cast_unreviewed

An illustrative case

Illustrative case: a report describes executeAfter packed into uint32. Assigning a requirement owner alone leaves the arithmetic question open. Investigate whether the supported input range fits the storage type, whether conversion changes the effective delay, and which boundary values demonstrate the answer. A deferred campaign records unfinished work; it does not establish safe arithmetic.

Resolve the finding

  1. Inspect the original report and the affected conversion, including upstream range checks.
  2. Open or update a vector campaign for deadline_arithmetic_faithful. Record sites, assumptions and boundary checks.
  3. Retain the observed evidence, then record a supported null result, linked KnownIssue or explicit deferral. Rerun the check.

What a clear result means

The matcher reads report text, not the mathematical meaning of the code. A terminal campaign can clear this review prompt even when debt remains. Review the disposition and its evidence before treating the arithmetic as established.

Continue with one real issue

Vector campaign closure · Residual kill hygiene

Bring one finding, its requirement and the current evidence to scope a walkthrough of what your reviewer can establish and what still needs work.