Widget Stability¶
Rezi uses stability tiers so teams can choose widgets with clear behavior guarantees.
Tiers¶
stable: strongest widget tier inside the current pre-alpha line; documented behavior contracts and deterministic tests exist, and maintainers aim to avoid unnecessary breaking changes.beta: usable and tested for core invariants, but parts of the contract can still evolve.experimental: no compatibility guarantees; behavior and APIs can change quickly.
Stable Guarantees¶
When a widget is marked stable, Rezi guarantees:
- deterministic behavior for documented keyboard, pointer, and editing contracts
- deterministic regression tests that pin those contracts in
packages/core/src/**/__tests__ - clear changelog callouts when documented stable behavior changes
- stronger compatibility expectations than
beta/experimental, while the repo-wide pre-alpha status still applies to the package line as a whole
Daily Driver Status¶
These widgets are the EPIC-04 hardening targets and are currently stable.
| Widget | Tier | Contract coverage |
|---|---|---|
| Input | stable |
Cursor/edit/paste/focus-capture contract tests in packages/core/src/runtime/__tests__/inputEditor.contract.test.ts |
| Table | stable |
Selection/column-width/viewport/row-key tests in packages/core/src/widgets/__tests__/table.golden.test.ts and packages/core/src/app/__tests__/table.renderCache.test.ts |
| Virtual List | stable |
Visible-range/overscan/scroll-clamp/navigation tests in packages/core/src/widgets/__tests__/virtualList.contract.test.ts |
| Command Palette | stable |
Async fetch ordering/stale-cancel/query/nav/escape tests in packages/core/src/app/__tests__/commandPaletteRouting.test.ts and packages/core/src/widgets/__tests__/commandPalette.test.ts |
| File Picker | stable |
Expand/collapse/selection/open/toggle contracts in packages/core/src/app/__tests__/filePickerRouting.contracts.test.ts |
| File Tree Explorer | stable |
Focus/activation/toggle/context-menu contracts in packages/core/src/app/__tests__/fileTreeExplorer.contextMenu.test.ts |
Full Catalog Status¶
The full catalog is tiered below. stable is intentionally conservative and reserved for widgets with hardened behavior contracts.
| Category | Widget | Tier |
|---|---|---|
| Primitives | Text | stable |
| Primitives | Box | stable |
| Primitives | Row / Column | stable |
| Primitives | Spacer | stable |
| Primitives | Divider | stable |
| Indicators | Icon | beta |
| Indicators | Spinner | beta |
| Indicators | Progress | beta |
| Indicators | Skeleton | beta |
| Indicators | RichText | beta |
| Indicators | Kbd | beta |
| Indicators | Badge | beta |
| Indicators | Status | beta |
| Indicators | Tag | beta |
| Form Inputs | Button | beta |
| Form Inputs | Input | stable |
| Form Inputs | Slider | beta |
| Form Inputs | Checkbox | beta |
| Form Inputs | Radio Group | beta |
| Form Inputs | Select | beta |
| Form Inputs | Field | beta |
| Data Display | Table | stable |
| Data Display | Virtual List | stable |
| Data Display | Tree | beta |
| Overlays | Layers | beta |
| Overlays | Modal | beta |
| Overlays | Dropdown | beta |
| Overlays | Layer | beta |
| Overlays | Toast | beta |
| Overlays | Focus Zone | beta |
| Overlays | Focus Trap | beta |
| Layout | Split Pane | beta |
| Layout | Panel Group | beta |
| Layout | Resizable Panel | beta |
| Advanced | Command Palette | stable |
| Advanced | File Picker | stable |
| Advanced | File Tree Explorer | stable |
| Advanced | Code Editor | beta |
| Advanced | Diff Viewer | beta |
| Advanced | Logs Console | beta |
| Advanced | Tool Approval Dialog | experimental |
| Charts | Gauge | beta |
| Charts | Sparkline | beta |
| Charts | Bar Chart | beta |
| Charts | Mini Chart | beta |
| Feedback | Callout | beta |
| Feedback | Error Display | beta |
| Feedback | Empty | beta |