# Versions and channels

How the @fayz-ai/* package versions are coordinated by channels, and how to read the support level of each surface.

{% callout type="warn" %}
Work in progress — structure up for review.
{% /callout %}

## Channels

| Channel | What it's for |
| --- | --- |
| `stable` | The tested set, recommended for production. |
| `latest` | The most recent published version of each package. |
| `preview` | Pre-release versions, for trying out what's coming. |

Channels are pinned version sets (pin sets) managed by release-channels: the resolver keeps every `@fayz-ai/*` package on a coherent set. To switch channels later, you update the app's pins to the set you want (`stable`, `latest` or `preview`).

**How the channel enters the scaffold depends on the CLI version:**

- **CLI 0.2.0** (published) — `fayz create` accepts the `--channel stable|latest|preview` flag; without it, the default is `stable`. You pick the version set when you create the app.
- **CLI ≥ 0.3.0** — `create` is flagless: the channel is decided by the scaffold itself (the set bundled in the CLI release), not by a flag. To switch later, you edit the app's pins.

## Support tiers

Every SDK surface declares a support level (SUPPORT). Use it to know what you can rely on: stable surfaces come with a compatibility guarantee; preview or experimental surfaces can change.
