check_make
Adjudicate a D20 ability check against a DC, applying condition-aware advantages, disadvantages, and penalties to return a clear success or failure verdict.
Instructions
Adjudicate an ability check (a D20 Test) against a DC, condition-aware. Actor conditions: Blinded/Deafened auto-fail a check that requires sight/hearing (supply check_requires, including an explicit empty array for neither); Poisoned/Frightened impose Disadvantage; Exhaustion its flat d20 penalty. Condition-sensitive observations are required rather than defaulted. On a social check where the actor is the target's charmer (target_charmed_by_actor + social), the actor has Advantage. Caller rolls (T6): with d20_result it returns {total, dc, success, roll[, auto_fail]}; without it composes {roll, dc, net_modifier}. Missing required facts return exact paths; malformed inputs or unsupported condition content return their structured recovery class.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| dc | Yes | the Difficulty Class to meet or exceed | |
| social | No | true if this is a social interaction check | |
| ability | No | str | dex | con | int | wis | cha | |
| modifier | No | ability + proficiency + situational modifier | |
| d20_result | No | the rolled d20; omit to get the composed mode + net modifier | |
| request_id | No | ||
| table_policy | No | ||
| asserted_facts | No | ||
| check_requires | No | required for a Blinded or Deafened actor: 'sight', 'hearing', 'neither', or an array of required senses; an empty array means neither | |
| policy_context | No | ||
| table_decision | No | ||
| actor_conditions | No | the checking creature's active conditions | |
| exhaustion_level | No | applies Exhaustion's flat d20 penalty | |
| target_charmed_by_actor | No | true if the target is Charmed by the actor (grants social Advantage) | |
| frightened_source_in_sight | No | required when the actor is Frightened: can it see the source of its fear? |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| why | Yes | ||
| data | No | ||
| facts | Yes | ||
| adapter | Yes | ||
| verdict | Yes | ||
| rule_ids | Yes | ||
| citations | Yes | ||
| exit_code | Yes | ||
| assumptions | Yes | ||
| explanation | Yes | ||
| rule_result | Yes | ||
| checked_scope | Yes | ||
| coverage_level | Yes | ||
| state_mutation | Yes | ||
| table_decision | Yes | ||
| unchecked_scope | Yes |