> ## Documentation Index
> Fetch the complete documentation index at: https://docs.canary.effectiveai.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Checks and guarantees

> What rslc checks, the assumptions behind those checks, and the evidence needed to validate a rating implementation.

`rslc check` verifies the implemented inputs, calculations, tables, rounding, and citations.
A passing check describes that implementation; source review and independent examples establish its fidelity to the filing.
[Language guarantees](https://docs.canary.effectiveai.app/rsl/guarantees.md) states what holds for every program that passes. This page covers the evidence that a review still gathers.

## What the check establishes

| Area | Checked property |
| - | - |
| Input rules | Types, precision, ranges, keys, and declared constraints define accepted inputs |
| Calculations | Accepted input domains support safe divisions, list operations, lookups, and choices |
| Arithmetic | Declared precision is established or supplied by explicit rounding |
| Sources | Required declarations have citations or explicit reasons |
| Outcomes | The rater declares premium outcomes with supported rounding |
| Work | Cost expressions describe calculation work as input lists grow |

## What still needs review

* Check extracted rates and interpreted rules against the applicable filing.
* Reconcile independent premiums, coverage scope, fees, assignments, and rounding.
* Inspect mapping assumptions before comparing programs.
* Keep unrated submissions and their reasons alongside premium statistics.

[Validate a program](https://docs.canary.effectiveai.app/relativities/how-to/validate-a-program.md) describes that workflow.

## Input checks and refusals

The runtime checks input shape, keys, and rules before returning rating outcomes.
A refusal identifies detected violations, with codes, messages, and available citations.
The [refusal reference](https://docs.canary.effectiveai.app/rsl/reference/refusals.md) defines evaluation order and truncation limits.

## Calculation checks

The compiler checks each operation against the values it can receive.
For example, a division needs a nonzero divisor and a table lookup needs a row for each reachable key.

Fix the implementation in the way the filing supports: narrow accepted inputs or handle the case explicitly.
[Check messages](https://docs.canary.effectiveai.app/rsl/reference/check-messages.md) lists diagnostic codes and suggested fixes.

## Exact values and rounding

RSL preserves exact arithmetic between explicit rounding operations.
A declared precision is a property of the value, rather than an instruction to round it.
[Exact numbers](https://docs.canary.effectiveai.app/rsl/explanation/exact-numbers.md) explains the distinction.

## Citations identify the evidence

The compiler checks source names, citation presence, and region syntax.
A reviewer establishes whether the cited material supports the implemented rule or value.
[Citations](https://docs.canary.effectiveai.app/rsl/explanation/citations.md) describes source locations and citation requirements.

## Work and runtime limits

Cost expressions describe operations as input lists grow; they are bounds rather than elapsed-time predictions.
Runtime request and refusal limits still apply, as described in [Refusals](https://docs.canary.effectiveai.app/rsl/reference/refusals.md#size-limits).

## Next steps

* [Use the rslc commands](https://docs.canary.effectiveai.app/rsl/commands.md) to check a rater.
* [Test a rater](https://docs.canary.effectiveai.app/rsl/how-to/test-a-rater.md) against independent examples and business rules.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.