# Public API Review

This review records the current public surface of `@schedulespark/rrule` before npm publishing.

## Package Entrypoints

- `@schedulespark/rrule`
  - RRULE parser and occurrence expansion utilities.
  - Public recurrence rule types.

## Stability Notes

- The package is beta. APIs may change before `1.0.0`.
- Expansion is bounded by caller-provided start and end windows.
- Date behavior is UTC-based in the current beta.
- Unsupported RRULE fields are ignored by design instead of throwing.
- The package is dependency-light and has no runtime network, storage, or React requirements.

## Reviewed Export Areas

- Rule parsing: `parseRRule`.
- Occurrence expansion: `expandRRuleOccurrences`.
- Supported recurrence fields: `FREQ`, `INTERVAL`, `BYDAY`, `COUNT`, `UNTIL`.
- Sanitization behavior for unsupported or malformed fields.

## Before Removing Beta Status

- Decide whether unsupported RRULE fields should keep being ignored or become validation errors.
- Confirm timezone-aware recurrence behavior after SCH-46.
- Confirm public type names and function signatures are stable.
- Confirm package bundle contents and exports match the documented entrypoint.
