Design records

Sailfin Enhancement Proposals

SFEPs capture the durable language, runtime, toolchain, and process decisions behind Sailfin.

Read SFEP-0001
63Total
16Implemented
30Accepted
16Draft
63 proposals
SFEP-0001Accepted

SFEP Purpose and Process

process
SFEP-0002Draft

Sailfin Capsule & Model Management

tooling
SFEP-0003Accepted

Built-in Tooling

informational
SFEP-0004Implemented

sfn check — Fast Analysis Without Codegen

tooling
SFEP-0005Implemented

Colon Type Annotations

language
SFEP-0006Implemented

Unified Build Architecture

tooling
SFEP-0007Implemented

sfn fmt — Canonical Formatter

tooling
SFEP-0008Accepted

Effect Validation as Build Gate

language
SFEP-0009Superseded

CLI Modularization

tooling

Tracks #351

SFEP-0010Accepted

Sailfin-Native Test Infrastructure

tooling

Tracks #965, #839, #842, #840

SFEP-0011Accepted

CI Test-Speed Plan

tooling

Tracks #1012, #843

SFEP-0012Accepted

Result<T, E> and the ? Operator

language

Tracks #321, #323

SFEP-0013Accepted

Host-Aware exe_path Intrinsic

runtime
SFEP-0014Draft

Agent-Legible Build/Test Output

tooling
SFEP-0015Accepted

Toolchain Independence — Sailfin-Native Backend

runtime

Tracks #1640, #1641

SFEP-0016Accepted

The Capability-Sealed Runtime

runtime

Tracks #1639, #934, #1642, #1643

SFEP-0017Implemented

Hierarchical Sub-Effects as Subsumption

language

Tracks #1180, #1182

SFEP-0018Accepted

Borrow / Ownership Checking for the Native Runtime

runtime

Tracks #1207, #1209

SFEP-0019Accepted

sfn/http — Typed HTTP Surface

tooling

Tracks #1321

SFEP-0020Accepted

Compiler Decomposition

tooling

Tracks #345

SFEP-0021Accepted

Native Windows Self-Host (MSVC ABI)

runtime

Tracks #1485

SFEP-0022Draft

Darwin (macOS arm64) Memory Governor

runtime
SFEP-0023Draft

Capsule-Defined Decorators

language

Tracks #1557

SFEP-0024Draft

Model Engines, Adapters, Tensors, Training

informational
SFEP-0025Accepted

Native Runtime Architecture

runtime

Tracks #321, #322, #451, #822, #1089, #1118, #1181, #1203, #1209

SFEP-0026Accepted

Delivery Process — Drift-Tolerant Issues, Seed Discovery, Release Cadence

process
SFEP-0027Implemented

CLI Modularization — Per-Worker RSS Relief First, Then Migration

tooling

Tracks #1671

SFEP-0028Draft

Typed / Generic-Element Array Higher-Order Functions (map / filter / reduce)

language

Tracks #1943, #1945

SFEP-0029Implemented

Lambda expression syntax for 1.0 — keep, reform, or defer

language

Tracks 690,1683

SFEP-0030Accepted

First-Class Function Values

language

Tracks #1609, #1610, #1172

SFEP-0031Implemented

Inline `export <declaration>` syntax

language

Tracks #1681, #1680

SFEP-0032Implemented

Infer untyped lambda parameter and return types from the expected call-site function type

language

Tracks 1683

SFEP-0033Accepted

Length-aware ({i8*, i64}) ABI for query-side string runtime helpers

proposal

Tracks 1704

SFEP-0034Accepted

Structured, Enforced `x is T` Type-Guard Operator

language

Tracks #1753

SFEP-0035Implemented

Deriving prelude-mirror registry signatures from the prelude (kill latent ABI drift)

runtime

Tracks #572, #1779, #1780

SFEP-0036Implemented

TLS termination + upstream TLS for the native runtime (OpenSSL)

runtime

Tracks #1540, #1820, #1821, #1822

SFEP-0037Accepted

Peer-Language Process Adoption — Merge Queue, ICE Discipline, Perf History, Corpus Runs, Reduction, Fuzzing

process

Tracks #1806, #1807, #1808, #1809 (Tier 1, §3.13)

SFEP-0038Implemented

Generic Type Parameter Constraints and Monomorphization

language

Tracks #1867, #1868, #1869, #1870, #1871, #1872

SFEP-0039Accepted

Nominal Object Model — Honest Rejection of TypeScript-Shaped Data Syntax

language

Tracks #1860, #1887, #1888, #1838, #1855, #1900, #1904, #1905

SFEP-0040Accepted

Global Artifact Cache Store and Garbage Collection

tooling

Tracks #1892, #1893

SFEP-0041Implemented

Unified expected-type + typing-environment context for the typecheck walk

tooling

Tracks #1900, #1904, #1905

SFEP-0042Accepted

Nested / Local Function Declarations (non-capturing static `fn` items)

language

Tracks #1609, #1922, #1935, #1940, #1950

SFEP-0043Implemented

Phase-scoped arena reclamation to reduce per-module peak RSS

runtime

Tracks #1989

SFEP-0044Implemented

Invocation-scoped runtime identity + in-process sha256 for the test runner

tooling

Tracks #1995, #1996, #1997, #1998, #1999, #2008, #2010

SFEP-0045Draft

Shared-frontend test runner — parent compiles, children only execute

tooling

Tracks SFN-152, #2010, #1997

SFEP-0046Accepted

Native Toolchain Version Pinning + Dispatch

tooling

Tracks SFN-167, SFN-168, SFN-169, SFN-170, SFN-171, SFN-172

SFEP-0047Accepted

Compiler Bootstrap Manifest

tooling

Tracks SFN-197

SFEP-0048Accepted

Native crypto + TLS stack — removing the OpenSSL dependency

runtime
SFEP-0049Implemented

Effect-transparency for concurrency-primitive leaves (spawn / parallel / channel send·receive)

language

Tracks SFN-86, #1702

SFEP-0050Accepted

Streamed per-test results over a captured pipe (retiring the results.log/fail.bin side-channel)

tooling

Tracks SFN-393

SFEP-0051Accepted

Workspace Manifest — Multi-Capsule Policy and the Capability Envelope

tooling

Tracks SFN-413 (Phase 1 member declaration — multi-line arrays + glob, Done), SFN-412 (workspace.toml reflow after seed pin), SFN-414 (Phase 2 root [toolchain] default), SFN-415 (Phase 3 [workspace.package]/[workspace.dependencies] inheritance), SFN-416 (Phase 4a declared-surface capability audit), SFN-418 (Phase 4b inferred-surface audit), SFN-419 (Phase 4c sfn capabilities audit + enforce/warn gate), SFN-417 (Phase 5 default-members + exclude). Epic: Linear project 'Workspace Manifest & Multi-Capsule Policy'

SFEP-0052Accepted

Accelerated ML — Substrate Interop and Capability-Typed Accelerator Programming

informational
SFEP-0053Accepted

Shape-Typed Tensor IR and Fusion

tooling

Tracks #2485, SFN-424, SFN-427, SFN-429

SFEP-0054Accepted

Low-Precision Numeric Substrate

language

Tracks #2484, SFN-423, SFN-426

SFEP-TBDDraft

Concurrency runtime maturity — cancel-on-fault and async I/O

runtime

Tracks #1540, #1963

SFEP-TBDDraft

Derivable Interface Implementations (@derive)

language
SFEP-TBDDraft

Compile-Time Match Exhaustiveness Checking

language
SFEP-TBDDraft

Generic Collections — Map, Set, and Tuple

language

Tracks #1941

SFEP-TBDDraft

Import-surface compaction across the phase rewind to cut emit peak RSS

runtime

Tracks SFN-382; supersedes SFN-94

SFEP-TBDDraft

Signature-Checked Interface Conformance

language
SFEP-TBDDraft

Nullable Access Operators (?. and ??)

language
SFEP-TBDDraft

Sized Integer Types and Overflow Semantics

language
SFEP-TBDDraft

String Interpolation with ${ } (migrating off {{ }})

language