# Refactor a React component contract — acceptance checklist

Record evidence for every checked item. Unchecked or untested is not a pass. This checklist does not execute an integration or authorise external actions.

## Required inputs

- [ ] Component, provider and consumer source at one revision.

- [ ] Installed React version and behaviour tests for the supported component variants.

## Output checks

- [ ] Supported variants and defaults have explicit cases.

- [ ] Invalid combinations are rejected or documented rather than silently reinterpreted.

- [ ] Provider scope and state ownership are checked at each consumer.

- [ ] The chosen React APIs match the installed version.

## Deliverables

- [ ] Variant and consumer inventory

- [ ] Proposed API/state contract

- [ ] Consumer migration diff

- [ ] Behaviour-preservation receipt

## Evidence and decision

Evidence links: [fill in]
Untested paths: [fill in]
Unresolved findings: [fill in]
Reviewer: [fill in]
Decision and scope: [fill in]

## Boundaries

- Composition guidance includes version-specific React APIs. Do not upgrade the framework merely to copy an example.

- The type reviewer’s numeric rubric is subjective; use concrete invariants and compiler/test evidence. Its inherited tools need host restrictions for a review-only pass.

Workflow: https://undominated.ai/workflows/#refactor-a-component-contract
