# Supported Baseline
This page defines the currently supported baseline for Squidie.
## Supported Baseline
| Component | Supported baseline |
| --- | --- |
| Elixir | `1.19.5-otp-28` |
| Erlang/OTP | `28.4.1` |
| Postgres | `15+` |
| Jido | `2.0+` |
## What Supported Means
For the current release line, "supported" means:
- the combination is exercised in CI or repeatable local verification
- the documentation and example harnesses target that baseline
- bug reports on that baseline are in scope for active support
## Host App Expectations
Supported host apps are expected to provide:
- an Ecto `Repo`
- Postgres for durable state
- a supervised worker that calls `Squidie.execute_next/1`
- a scheduler that can deliver cron payloads to `Squidie.Runtime.Runner.perform/2`, if the app uses cron triggers
- step modules that conform to the current Squidie action contract
## Storage Compatibility
The currently supported bundled production relational storage path is
`Squidie.Runtime.Journal.Storage.Ecto` with a Postgres-compatible Ecto repo.
Other durable stores may be valid when they are exposed through a journal
storage adapter that provides the same ordered append, optimistic conflict,
checkpoint, rebuild, and error-shape guarantees. See [Storage
strategy](storage_strategy.md).
## Version Evaluation Policy
Before a new version is called supported, the team should:
1. Run the root test suite.
2. Run the example host app smoke path.
3. Run the restart resilience and soak/load verifications in the example app, including paused-run unblock after restart.
4. Review docs and configuration snippets for version-specific drift.
Until that work is done, newer versions may still work, but they should be
treated as unverified rather than supported.