/ 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")))))