Skip to content

Requests for Comments (RFCs)

RFCs are governed design and evolution proposals (PEP-style). They are primarily for contributors and advanced readers.

Design records, not canonical user docs

RFCs explain why a design exists and how it evolved. User-facing behavior remains canonical in the Language and Tooling documentation.

Index

Tip: press Esc to clear.

RFC Status Track Title
RFC 000 Done closed / implemented Incan Core Language RFC (Phase 1)
RFC 001 Superseded closed / superseded Test Fixtures
RFC 002 Superseded closed / superseded Parametrized Tests
RFC 003 Superseded closed / superseded Frontend and WebAssembly Support
RFC 004 Done closed / implemented async fixtures
RFC 005 Done closed / implemented Rust Interop
RFC 006 Done closed / implemented Python-style generators
RFC 007 Superseded closed / superseded Inline Tests
RFC 008 Done closed / implemented Const Bindings
RFC 009 Done closed / implemented Numeric type system and builtin type registry
RFC 010 Done closed / implemented Python-style tempfile standard library
RFC 011 Done closed / implemented Precise Error Spans in F-Strings
RFC 012 Superseded closed / superseded JsonValue, enum methods, and enum trait adoption
RFC 013 Done closed / implemented Rust Crate Dependencies
RFC 014 Rejected closed / rejected user-facing runtime error behavior for generated code
RFC 015 Done closed / implemented hatch-like tooling (project lifecycle CLI)
RFC 016 Done closed / implemented loop and break <value> (Loop Expressions)
RFC 017 Done closed / implemented Validated newtypes with implicit coercion (pydantic-like feel)
RFC 018 Done closed / implemented language primitives for testing
RFC 019 Done closed / implemented test runner, CLI, and ecosystem
RFC 020 Done closed / implemented offline / locked / reproducible builds (Cargo policy + generated project contract)
RFC 021 Done closed / implemented Model field metadata and schema-safe aliases
RFC 022 Done closed / implemented Namespaced stdlib modules and compiler→stdlib handoff
RFC 023 Done closed / implemented Compilable Stdlib & Rust Module Binding
RFC 024 Done closed / implemented extensible derive protocol
RFC 025 Done closed / implemented multi-instantiation trait dispatch
RFC 026 Superseded closed / superseded User-Defined Trait Bridges
RFC 027 Done closed / implemented incan-vocab — Library Vocabulary Registration Crate
RFC 028 Done closed / implemented trait-based operator overloading
RFC 029 Done closed / implemented union types and type narrowing
RFC 030 Done closed / implemented std.collections — extended collection types
RFC 031 Done closed / implemented Incan Library System — Phase 1 (Local Path Dependencies)
RFC 032 Blocked (by RFC 033) proposed / active value enums — StrEnum and IntEnum
RFC 033 Planned proposed / active ctx — typed configuration context
RFC 034 Superseded closed / superseded incan.pub — The Incan Package Registry
RFC 035 Done closed / implemented First-Class Named Function References
RFC 036 Done closed / implemented user-defined decorators
RFC 037 Planned proposed / active native web stdlib redesign
RFC 038 Done closed / implemented Variadic Args and Unpacking (*args / **kwargs)
RFC 039 Done closed / implemented race for awaitable concurrency
RFC 040 Done closed / implemented Scoped DSL Surface Forms
RFC 041 Done closed / implemented First-Class Rust Interop Authoring
RFC 042 Done closed / implemented Traits Are Always Abstract
RFC 043 Done closed / implemented Rust Trait Implementation from Incan
RFC 044 Done closed / implemented Open-Ended Trait Methods
RFC 045 Done closed / implemented Scoped DSL symbol surfaces
RFC 046 Done closed / implemented Computed properties (property name -> Type)
RFC 047 Done closed / implemented Lightweight directed graph types (stdlib)
RFC 048 Done closed / implemented Checked contract metadata, Incan emit, and interrogation tooling
RFC 049 Done closed / implemented if let and while let pattern control flow
RFC 050 Done closed / implemented Enum methods and enum trait adoption
RFC 051 Done closed / implemented JsonValue for std.json
RFC 052 Done closed / implemented Module Static Storage
RFC 053 Done closed / implemented Formatter vertical spacing (three blank-line buckets)
RFC 054 Done closed / implemented Explicit call-site generic arguments for function and method calls
RFC 055 Done closed / implemented std.fs — pathlib-shaped filesystem APIs with chunked file I/O
RFC 056 Done closed / implemented std.io — in-memory byte streams and binary parsing helpers
RFC 057 Done closed / implemented @rust.allow(...) — targeted Rust lint suppression for generated code
RFC 058 Done closed / implemented std.datetime — temporal values, intervals, and runtime timing
RFC 059 Done closed / implemented std.regex — regular expressions, matches, captures, and replacement
RFC 060 Done closed / implemented std.uuid — UUID parsing, generation, and formatting
RFC 061 Done closed / implemented std.compression — codec-based compression and decompression
RFC 062 Planned proposed / active std.archive — archive container creation and extraction
RFC 063 Planned proposed / active std.process — process spawning and command execution
RFC 064 Done closed / implemented std.encoding — binary-text encoding and decoding utilities
RFC 065 Done closed / implemented std.hash — stable hashing primitives for data and integrity workflows
RFC 066 Planned proposed / active std.http — Incan-first HTTP client and request/response surface
RFC 067 Rejected closed / rejected std.ci — deterministic CI and automation scripting primitives
RFC 068 Done closed / implemented protocol hooks for core language syntax
RFC 069 Done closed / implemented list.repeat Helper for Fixed-Length Initialization
RFC 070 Done closed / implemented Result Combinators for Result[T, E]
RFC 071 Done closed / implemented Pattern alternation in match and if let
RFC 072 Done closed / implemented std.logging — logger acquisition, configuration, and structured events
RFC 073 Planned proposed / active environment matrices and toolchain constraints
RFC 074 Planned proposed / active template rendering and boilerplate provenance
RFC 075 Planned proposed / active starter profiles and mixes
RFC 076 Planned proposed / active project mutation policy and recovery
RFC 077 Done closed / implemented workspace and multi-package projects
RFC 078 Planned proposed / active tool execution and typed workflow actions
RFC 079 Planned proposed / active loaves.pub artifact graph
RFC 080 Planned proposed / active Declared AI assets
RFC 081 Done closed / implemented Language-shaped DSL embeddings
RFC 082 Planned proposed / active Checked API documentation generation
RFC 083 Done closed / implemented Symbol and method aliases
RFC 084 Done closed / implemented RHS partial callable presets
RFC 085 Planned proposed / active Field metadata and type-shaped constraints
RFC 086 Deferred proposed / active Schema descriptors and adapters
RFC 087 Planned proposed / active Reusable field contracts and model contract composition
RFC 088 Done closed / implemented Iterator adapter surface
RFC 089 Done closed / implemented std.environ runtime environment access
RFC 090 Planned proposed / active typed CLI framework
RFC 091 Planned proposed / active Integer storage carriers
RFC 092 Rejected closed / rejected Interactive Runtime Stdlib Contracts
RFC 093 Planned proposed / active std.telemetry — OpenTelemetry-aligned observability
RFC 094 Planned proposed / active Context managers
RFC 095 Planned proposed / active span vocabulary blocks
RFC 096 Planned proposed / active Declaration metadata blocks
RFC 097 Planned proposed / active Rust-hosted Incan caller
RFC 098 Planned proposed / active Native associated types for traits
RFC 099 Planned proposed / active Generic trait-targeted methods
RFC 100 Planned proposed / active std.re — Pythonic regular expressions
RFC 101 Done closed / implemented std.collections.OrdinalMap — deterministic compact key-to-ordinal lookup
RFC 102 Planned proposed / active Incan Semantic Layer Inspection Surface
RFC 103 Planned proposed / active std.secrets — Secret strings, secret bytes, and redaction-safe values
RFC 104 In Progress proposed / active Ambient Runtime Capabilities and Receipts
RFC 105 Planned proposed / active oven architect rule engine for design, safety, idiom, maintainability, and risk findings
RFC 106 In Progress proposed / active Compiler-backed agent context graph
RFC 107 Planned proposed / active Type-directed library APIs and compile-time type tokens
RFC 108 Planned proposed / active Import-scoped extensions
RFC 109 Planned proposed / active Receiver chain combinators (tap and then)
RFC 110 Planned proposed / active Three-way comparison with __cmp__
RFC 111 Planned proposed / active Proof-aware agentic contract feedback
RFC 112 Done closed / implemented Crash-safe local publication and file coordination
RFC 113 Done closed / implemented std.registry and declaration descriptors
RFC 114 Done closed / implemented Compiled providers, SDK components, and package features
RFC 115 Done closed / implemented Fallible iteration and combinators
RFC 116 Done closed / implemented Typed C ABI interop
RFC 117 Planned proposed / active loaf.toml and Oven's language-neutral project model
RFC 118 Planned proposed / active Incan and Oven command-line surfaces
RFC 119 In Progress proposed / active Oven-native Rust build facets and Cargo interoperation
RFC 120 Done closed / implemented canonical source symbol identity
RFC 121 Planned proposed / active Unified Incan/Rust type substrate
RFC 122 Planned proposed / active Composable model construction with fieldmethods and new
RFC 123 In Progress proposed / active Package executable representation
RFC 124 Planned proposed / active Oven store unit identity and cross-plan artifact sharing
RFC 125 Planned proposed / active loaves.pub Loaf registry and baked asset distribution
RFC 126 Planned proposed / active Evidence-backed investigations
RFC 127 Planned proposed / active The Incan lint catalog: clippy-conformant rules, loaf.toml configuration, incan architect as engine and fixer, incan fmt as canonicalizer
RFC 128 Planned proposed / active One Callable[(A, B) -> R] trait over function types
RFC 129 Planned proposed / active Shared or copied bindings and the mut parameter contract
RFC 130 Planned proposed / active Implicit None return annotations
RFC 131 Planned proposed / active First-class error declarations
RFC 132 Planned proposed / active Frozen classes and models
RFC 133 Planned proposed / active Literal types and compile-time value sets
RFC 134 Planned proposed / active Pattern bindings with exiting fallbacks
RFC 135 Planned proposed / active Lazy Option defaults with or
RFC 136 Planned proposed / active Chained comparisons
RFC 137 Planned proposed / active Named enum payload fields
RFC 138 Planned proposed / active Chained pattern conditions
RFC 139 Planned proposed / active Sequence patterns
RFC 140 Planned proposed / active Typed holes
RFC 141 Planned proposed / active Type matching with infer and named type operations
RFC 142 Planned proposed / active Async composition, iteration, and streams
RFC 143 Planned proposed / active Cloning with field overrides
RFC 144 Planned proposed / active Trait fields and type-owned constants
RFC 145 Planned proposed / active Oven storage lifecycle, retention and compact evidence
RFC 146 Planned proposed / active Typed JSON decoding and complete validation
RFC 147 Planned proposed / active Result matching with except
RFC 148 Planned proposed / active Must-use values and deliberate discard
RFC 149 Planned proposed / active Non-exhaustive public contracts
RFC 150 Planned proposed / active Deprecation diagnostics
RFC 151 Planned proposed / active Final classes
RFC 152 Planned proposed / active Recursion that never overflows the stack
RFC 153 Planned proposed / active Async closures
RFC 154 Planned proposed / active Retained capturing callables
RFC 155 Planned proposed / active Relaxed floating-point arithmetic
RFC 156 Planned proposed / active Typed MCP servers
RFC 157 Planned proposed / active Chained pattern guards
RFC 158 Planned proposed / active Incremental XML records over split and compressed inputs
RFC 159 Planned proposed / active Cloves (C-library Loaves) and the managed C toolchain
RFC 160 Planned proposed / active Vocabulary in Incan and native desugarers
RFC 161 Planned proposed / active The semantic core (SCIR)
RFC 162 Planned proposed / active File syntax: vocabularies, dialects and frontends
RFC 163 Planned proposed / active Cross-target builds and toolchain target support
RFC 164 Planned proposed / active Explicit ownership and borrowing contracts
RFC 165 Planned proposed / active Typed embedded storage with std.db
RFC 166 Planned proposed / active Indexed graphs and snapshot-bound graph access
RFC 167 Planned proposed / active Debugging and diagnostics for Incan programs and tools
RFC 168 Planned proposed / active std.primitives
RFC 169 Planned proposed / active Typed record sets and record streams
RFC 171 In Progress proposed / active Retire @rust.allow, @rust.extern and rust.module
RFC 172 In Progress proposed / active Async syntax without an import
RFC 173 Planned proposed / active Walking and reconstructing typed values
RFC 174 Planned proposed / active Overloaded functions and methods
RFC 175 Planned proposed / active Bidirectional controls and confusable identifiers
RFC 176 Planned proposed / active Visibility
RFC 177 Planned proposed / active Comprehensions

See also