Roadmap
Sailfin's path from alpha to a stable 1.0 release and beyond.
Release 1.0
119 of 144 items closed across 4 milestonesRuntime Enablement — Systems Primitives
Language features that unblock the pure Sailfin runtime rewrite. extern fn (✓), int/float numerics, raw pointer types (*T, *const T, *mut T), Result<T,E> + ? operator, bitwise int ops (✓), ${} string interpolation. Source of truth: sailfin.dev/roadmap.
Sailfin-Native Runtime
Replace the C runtime with pure Sailfin. M1 ABI lock + codegen switch, M2 core runtime in Sailfin (memory, strings, arrays, fs, process, exceptions, clock, crypto), M3 capability adapters + delete C runtime, M5 Sailfin entry point replaces native_driver.c. Depends on the Systems Primitives milestone.
- M4 — Scheduler and concurrency in Sailfin
- M1.7 — Centralize runtime helper call dispatch
- M5 — Sailfin entry point replaces native_driver.c
- M1 — ABI lock + codegen switch
- M3 — Capability Adapters in Sailfin + Delete C Runtime
- M2 — Core Runtime in Sailfin
- M0 — Atomic intrinsics (promoted from soft prereq #12)
- M1.5 — Drop Emission (split out of M2)
Tooling & Developer Workflow
CLI tools and build toolchain modernization. sfn check (✓), sfn fmt (✓), capsule resolver (✓), build cache (✓), per-capsule artifact layout, sfn package, sfn bench, sfn vet, sfn audit, native CLI binary, remove Python from release pipeline. Source of truth: sailfin.dev/roadmap.
1.0 — General Availability
The 1.0 release: pure Sailfin toolchain, no Python, no C runtime, no downstream fixup scripts. All language pillars enforced end-to-end (effects, capabilities, structured concurrency). Umbrella milestone — depends on Systems Primitives + Sailfin-Native Runtime + Tooling tracks landing first.
Post-1.0
These workstreams begin after a stable self-hosted toolchain ships.
Enterprise Hardening & AI Integration
Library-level AI support, taint tracking, and advanced safety features — delivered as capsules, not language syntax.
- sfn/ai capsule — model invocation, prompt templating, generation provenance (replaces the removed model/prompt/tool/pipeline keywords)
- Secret<T> / PII<T> taint tracking integrated with the effect system
- sfn lsp — language server for IDE integration
- sfn audit enhancements — transitive capability analysis, SBOM generation
- Ownership and borrowing enforcement (Affine<T>, Linear<T>, &T, &mut T)
Platform & Ecosystem
Runtime, tooling, and ecosystem infrastructure for post-1.0 growth.
- Async runtime — Sailfin-native event loop, task scheduler, and channels
- Runtime diagnostics — structured tracing and allocation telemetry
- WebAssembly emission target
- Native test framework — golden, adversarial, and replay test types
- |> pipeline operator with async and lazy semantics
- GPU effect enforcement and tensor dispatch
Backlog & Exploration
Workstreams without architected GitHub milestones yet. Some will graduate into milestones once design work lands; others stay exploratory.
- Structured concurrency — atomics, await, routine, channel, spawn, scheduler
- Effect system hardening — wire validate_effects() into compilation gate, hierarchical effects, polymorphism
- Phase 2 containers — closures with capture, generic constraints, drop emission
- Documentation expansion — production-quality site coverage, remove legacy stage references
- LLM adoption levers — llms.txt, sfn check --json, MCP server, Rosetta Code corpus
- Release pipeline hardening — signed checksums, installer CI, self-hosted-only artifacts
- unsafe capability enforcement
- Currency literals ($0.05) and time literals (1s, 150ms)
- Notebook and interactive tooling
- Effect handlers (algebraic effect semantics)
Contributing
Open an issue or start a discussion in a pull request. Tag it with the appropriate milestone
label so it can be triaged against the 1.0 scope. Major design changes that affect the language
or ABI should reference a written proposal in docs/proposals/ before implementation begins.