Grow Smith as a dependable coding-agent app, Rust library ecosystem, and long-lived plugin host.
Keep users' existing plugins working while improving implementation and introducing new contracts.
Priorities
Security and session integrity over compatibility in explicitly announced emergencies.
Existing plugin behavior and Rust SemVer guarantees over API cleanup.
Current dependencies and latest stable Rust without accidental contract breaks.
New capabilities through compatible evolution or independently versioned plugin worlds.
Decision defaults
Concern
Posture
Releases
App and workspace crates share one Smith release version.
Rust APIs
Ordinary SemVer across workspace library APIs; breaking changes require a Smith major release.
Plugin world
Stable contract begins at 1.0.0; world versions are independent of Smith releases.
Compatibility
Existing compiled plugins remain usable across Smith releases, including Smith major upgrades.
New worlds
World 2 and later may coexist with earlier worlds; introducing one never retires another.
Evolution
Stabilized contracts preserve backward compatibility within each world major.
Deprecations
Reserved for serious security or correctness emergencies, not routine cleanup.
Retirement
Explicitly announced emergency exceptions only; continued availability and retirement timing decided per case, with no fixed timetable.
Migration
Emergency guidance names impact, replacement, and migration instructions; built docs and doctor deprecator expose that guidance.
Compiler
Latest stable Rust; library consumers must keep their compiler current regardless of edition.
Dependencies
Upgrades preserve Rust and plugin contracts; engine version changes alone do not determine Smith or world major versions.
Quality
Required gates include Rust compatibility and previously built plugin behavior, alongside sandbox and session safety.
Debt
Ordinary cleanup never justifies removing supported plugin contracts.
Non-goals
Permanent compatibility for Rust APIs across Smith major releases.
Historical Rust compiler support.
Routine plugin-world retirement or fixed deprecation expiry.
Preserving exploitable behavior at the expense of security.
Exit criteria
This is an ongoing operating epoch, not a delivery milestone.
Any replacement posture explicitly accounts for existing Rust SemVer and permanent plugin-support obligations.
Prior compiled plugins remain verified on the replacement host, except individually announced emergency retirements.
---
id: SMH-PHASE-AIA1DB7F
type: phase
title: "Post-1.0"
label: post-1.0
---
# Post-1.0
## Sub-mission
Grow Smith as a dependable coding-agent app, Rust library ecosystem, and long-lived plugin host.
Keep users' existing plugins working while improving implementation and introducing new contracts.
## Priorities
1. Security and session integrity over compatibility in explicitly announced emergencies.
2. Existing plugin behavior and Rust SemVer guarantees over API cleanup.
3. Current dependencies and latest stable Rust without accidental contract breaks.
4. New capabilities through compatible evolution or independently versioned plugin worlds.
## Decision defaults
| Concern | Posture |
| --- | --- |
| Releases | App and workspace crates share one Smith release version. |
| Rust APIs | Ordinary SemVer across workspace library APIs; breaking changes require a Smith major release. |
| Plugin world | Stable contract begins at 1.0.0; world versions are independent of Smith releases. |
| Compatibility | Existing compiled plugins remain usable across Smith releases, including Smith major upgrades. |
| New worlds | World 2 and later may coexist with earlier worlds; introducing one never retires another. |
| Evolution | Stabilized contracts preserve backward compatibility within each world major. |
| Deprecations | Reserved for serious security or correctness emergencies, not routine cleanup. |
| Retirement | Explicitly announced emergency exceptions only; continued availability and retirement timing decided per case, with no fixed timetable. |
| Migration | Emergency guidance names impact, replacement, and migration instructions; built docs and doctor deprecator expose that guidance. |
| Compiler | Latest stable Rust; library consumers must keep their compiler current regardless of edition. |
| Dependencies | Upgrades preserve Rust and plugin contracts; engine version changes alone do not determine Smith or world major versions. |
| Quality | Required gates include Rust compatibility and previously built plugin behavior, alongside sandbox and session safety. |
| Debt | Ordinary cleanup never justifies removing supported plugin contracts. |
## Non-goals
- Permanent compatibility for Rust APIs across Smith major releases.
- Historical Rust compiler support.
- Routine plugin-world retirement or fixed deprecation expiry.
- Preserving exploitable behavior at the expense of security.
## Exit criteria
This is an ongoing operating epoch, not a delivery milestone.
- Any replacement posture explicitly accounts for existing Rust SemVer and permanent plugin-support obligations.
- Prior compiled plugins remain verified on the replacement host, except individually announced emergency retirements.