--- id: SMH-PHASE-U8CA7NFU type: phase title: "Pre-1.0" label: pre-1.0 --- # Pre-1.0 ## Sub-mission Release Smith for real coding work while its library and plugin contracts mature through external use. Make change explicit and plugin migration practical without promising stability. ## Priorities 1. Safety and working user workflows over release speed. 2. Real app, library, and plugin consumers over speculative API design. 3. Clear migration guidance over preserving obsolete contracts. 4. Current dependencies and latest stable Rust over historical toolchain support. ## Decision defaults | Concern | Posture | | --- | --- | | Releases | App and workspace crates share one release version below 1.0. | | Rust APIs | Breaking changes permitted; no stability guarantee. | | Plugin world | Independent SemVer package versions advance from 0.1.0 by minor increments; no 0.99 ceiling. | | Deprecations | Available for exactly their introducing world minor line; deprecated in 0.2.0 means removal in 0.3.0, not a patch release. | | Migration | Each deprecation names replacement and removal version, with instructions and before/after examples included in built Smith docs. | | Agent assistance | Doctor deprecator provides a Smith skill or command for agent-assisted plugin refactoring using migration guidance. | | Compiler | Latest stable Rust; library consumers must keep their compiler current regardless of edition. | | Dependencies | Track new compatible and breaking releases; accept upgrades through deliberate verification. | | Quality | Existing warning, test, architecture, sandbox, and session-safety gates remain mandatory. | | Experimentation | Plugin experiments stay outside core; unstable contracts are identified explicitly. | | Debt | Retire obsolete APIs on schedule; migration guidance is part of the change. | ## Non-goals - Stable Rust library APIs or permanent compiled-plugin compatibility. - Supporting historical Rust compilers. - Silently migrating user plugins or promising automatic migration correctness. ## Exit criteria - Released Smith is exercised by app, library, and external plugin consumers. - A plugin deprecation survives its introducing minor line and is removed in the next, with migration guidance available through built docs and doctor deprecator. - Rust library and plugin-world compatibility boundaries for 1.0 are documented and verified. - The 1.0 plugin world has no unstable items. - Smith 1.0 and plugin world 1.0.0 are released with required gates passing.