/ META.scm
META.scm
1 ;; SPDX-License-Identifier: AGPL-3.0-or-later 2 ;; META.scm - Project metadata and architecture decisions 3 4 (define project-meta 5 `((version . "1.0.0") 6 (name . "affinescript-playground") 7 (architecture-decisions 8 ((adr-001 9 ((status . "accepted") 10 (date . "2025-12-30") 11 (context . "Need affine type semantics for WebAssembly resource management") 12 (decision . "Implement affine types with at-most-once usage semantics") 13 (consequences . "Resources can be dropped without use, simpler than linear types"))) 14 (adr-002 15 ((status . "accepted") 16 (date . "2025-12-30") 17 (title . "Hyperpolymath Language Policy") 18 (context . "Consistent language stack across all repositories") 19 (decision . "Use ReScript (not TypeScript), Deno (not npm/Node), Rust (not Go/Python)") 20 (consequences . ("Type safety via ReScript" 21 "No npm dependencies" 22 "Performance via Rust" 23 "Python only for SaltStack")))))) 24 (development-practices 25 ((code-style . "ocaml-standard") 26 (security . "openssf-scorecard") 27 (testing . "property-based") 28 (versioning . "semver") 29 (documentation . "asciidoc") 30 (branching . "trunk-based"))) 31 (design-rationale 32 ((why-ocaml . "Strong type system for compiler implementation") 33 (why-wasm . "Universal target for web and edge computing") 34 (why-affine . "Simpler resource management than linear types")))))