Architecture Decisions

Key design decisions with context, alternatives considered, and consequences.

#DecisionStatus
0001No Compound Assignment in BeamtalkImplemented (2026-02-08)
0002Use Erlang Comparison Operators DirectlyImplemented (2026-02-08)
0003Keep Core Erlang as Primary Code Generation TargetImplemented (2026-02-08)
0004Persistent Workspace ManagementImplemented (2026-02-15)
0005BEAM Object Model - Pragmatic Hybrid ApproachImplemented (2026-02-08)
0006Unified Method Dispatch with Hierarchy WalkingImplemented (2026-02-08)
0007Compilable Standard Library with Primitive InjectionImplemented (2026-02-07)
0008Doc Comments and API DocumentationImplemented (2026-02-15)
0009OTP Application Structure — Split Workspace from RuntimeImplemented (2026-02-07)
0010Global Objects and Singleton DispatchImplemented (2026-02-15). Phase 1 gen_server deprecation in progress (BT-1093).
0011Robustness Testing — Layered Fuzzing and Error QualityImplemented (2026-02-15)
0012Collection Literal Syntax and the `#` Data Literal SystemImplemented (2026-02-15)
0013Class Variables, Class-Side Methods, and Instantiation ProtocolImplemented (2026-02-15)
0014Beamtalk Test Framework — Native Unit Tests and CLI Integration TestsImplemented (2026-02-15)
0015Signal-Time Exception Objects and Error Class HierarchyImplemented (2026-02-15)
0016Universal Module Naming with @ SeparatorAccepted (2026-02-10), Implemented (BT-454)
0017Browser Connectivity to Running WorkspacesImplemented (Phases 0–2, 2026-02-17)
0018Document Tree Code Generation (Wadler-Lindig Pretty Printer)Implemented (2026-02-15)
0019Singleton Access via Class VariablesImplemented (2026-02-15)
0020Connection Security — mTLS, Proxies, and Network OverlaysImplemented (2026-02-18)
0021Stream — Lazy Pipeline for Value-Side DataImplemented (2026-02-15), Revised (2026-03-05)
0022Embedded Compiler via OTP Port (with NIF option)Implemented (2026-02-15)
0023String Interpolation Syntax and CompilationImplemented (2026-02-17)
0024Static-First, Live-Augmented IDE ToolingImplemented (Phase 1, 2026-02-17)
0025Gradual Typing and ProtocolsImplemented (Phases 1–2, 2026-02-15)
0026Package Definition and Project ManifestImplemented (2026-02-17)
0027Cross-Platform SupportImplemented (2026-02-17)
0028BEAM Interop StrategyImplemented (2026-02-18)
0029Streaming Eval OutputImplemented (2026-02-18)
0030cargo-dist Evaluation for Release PackagingRejected (2026-02-18)
0031Flat Namespace for v0.1Implemented (2026-02-18)
0032Early Class Protocol — Behaviour and Class in Beamtalk StdlibImplemented (2026-02-24)
0033Runtime-Embedded Documentation on Class and CompiledMethodImplemented (2026-02-24)
0034Stdlib Self-Hosting — Moving Logic from Erlang to BeamtalkImplemented (2026-02-24)
0035Rename Instance Variable Reflection API from instVar to fieldImplemented (2026-02-24)
0036Full Metaclass TowerImplemented (2026-02-24)
0037Collection Class Hierarchy — Shallow Abstract Layer with Minimal Primitive SurfaceImplemented (2026-02-24)
0038`subclass:` Grammar Desugaring to ClassBuilder ProtocolAccepted | Implemented (2026-02-24)
0039Syntax Pragmatism vs SmalltalkImplemented (2026-02-24)
0040Workspace-Native REPL Commands, Facade/Dictionary Split, and Class-Based ReloadAccepted | Implemented (2026-02-24)
0041Universal State-Threading Block ProtocolImplemented (2026-02-24)
0042Immutable Value Objects and Actor-Only Mutable StateAccepted | Implemented (2026-02-26)
0043Sync-by-Default Actor MessagingAccepted | Implemented (2026-02-26)
0044Comments as First-Class AST NodesAccepted | Implemented 2026-02-28
0045REPL Expression-Level Completion via Gradual Type InferenceAccepted | Implemented 2026-03-01
0046VSCode Live Workspace SidebarAccepted | Implemented (2026-03-02)
0047Return Type Arrow Token DisambiguationImplemented (2026-03-06)
0048Class-Side Method SyntaxDeferred (2026-03-15)
0049Remove Method-Level `sealed` — Infer Protection from `@primitive`/`@intrinsic`Deferred (2026-03-15)
0050Incremental Compiler ClassHierarchy via BEAM Metadata StreamingAccepted | Implemented (2026-03-04)
0051Subprocess Execution — System Commands and Interactive Subprocess ActorAccepted | Implemented (2026-03-05)
0052Recursive Descent Parser with Pratt Parsing for Binary OperatorsAccepted | Implemented (2026-03-05)
0053Double-Colon Type Annotation SyntaxImplemented (2026-03-05)
0054Communication ProtocolsImplemented (2026-03-05)
0055Erlang-Backed Class Authoring ProtocolImplemented (2026-03-06)
0056Native Erlang-Backed Actors — `native:` and `self delegate`Accepted (partial, 2026-03-07)
0057Authoritative Superclass Source for Abstract Stdlib ClassesImplemented (2026-03-07)
0058Platform Security ModelAccepted (policy, 2026-03-07)
0059Supervision Tree SyntaxImplemented (2026-03-07)
0060Result Type — Hybrid Error Handling for Expected FailuresImplemented (2026-03-08)
0061Program Entry Points and Run LifecycleImplemented (2026-03-10)
0062Bundled Example Corpus and Search Tool for MCP ServerImplemented (2026-03-15)
0063Remove File Path SandboxImplemented (2026-03-16)
0064Runtime Logging Control and Observability APIImplemented (2026-03-17)
0065Complete OTP Primitives for Actor Lifecycle and SupervisionImplemented (2026-03-17)
0066Open Class Extension Methods (`>>` Syntax)Implemented (2026-03-18)
0067Separate state:/field: Keywords by Class KindImplemented (2026-03-18)
0068Parametric Types and ProtocolsAccepted | Implemented (2026-03-20)
0069Actor Observability and TracingAccepted | Implemented (2026-03-21)
0070Package Namespaces and DependenciesImplemented (2026-03-24)
0071Class Visibility — `internal` Modifier for Package-Scoped Access ControlImplemented (2026-03-28)
0072User Erlang Sources in Beamtalk PackagesImplemented (2026-03-29)
0073Package Distribution and DiscoveryImplemented (Phase 1, 2026-03-31)
0074Deferred MetaprogrammingAccepted (deferral, 2026-04-01)
0075Erlang FFI Type DefinitionsImplemented (Phase 1, 2026-04-02; Phase 2 deferred)
0075Auto-Extract Quality AssessmentUnknown
0076Convert Erlang ok/error Tuples to Result at FFI BoundaryImplemented (2026-04-03)
0077Type Coverage VisibilityImplemented (2026-04-05)
0078Actor Initialize InheritanceImplemented (2026-04-12)
0079Named Actor RegistrationImplemented (2026-04-15)
0080Migrate Supervisor Lifecycle to ResultImplemented (2026-04-16)
0082Method-Level Edit and Save in the Live WorkspaceProposed (2026-05-17)
0083Metaclass-Aware Type InferenceImplemented (2026-05-23)
0084Class-Side Runtime Method Installation and Fun DispatchAccepted (in progress, 2026-05-24)
0085Editor Live-Image RepresentationProposed (2026-05-24)
0086Make String a Subclass of BinaryImplemented (2026-03-21)