Skip to content

Commit 9b7285e

Browse files
hyperpolymathclaude
andcommitted
fix: RSR compliance — fix SPDX, resolve placeholders, rewrite stale SCM files
- Fix AGPL-3.0-or-later → PMPL-1.0-or-later in .gitignore, .gitattributes, SCM files - Fix PLMP typos → PMPL in 4 contractile files - Fix wrong email (jonathan.jewell → j.d.a.jewell) in 9 files - Resolve template placeholders in SECURITY.md, CODE_OF_CONDUCT.md, CONTRIBUTING.md - Rewrite stale .machine_readable/ SCM files (had language-bridges data) - Add .well-known/ (security.txt, humans.txt, ai.txt) - Add .github/CODEOWNERS - Fix .editorconfig header, mix.exs author attribution Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 70b3181 commit 9b7285e

33 files changed

Lines changed: 275 additions & 110 deletions

.editorconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# RSR-template-repo - Editor Configuration
1+
# polyglot-formalisms-elixir - Editor Configuration
22
# https://editorconfig.org
33

44
root = true

.gitattributes

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# SPDX-License-Identifier: AGPL-3.0-or-later
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
22
# RSR-compliant .gitattributes
33

44
* text=auto eol=lf

.github/CODEOWNERS

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
# CODEOWNERS for polyglot-formalisms-elixir
3+
# See https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
4+
5+
# Default owner for everything in the repo
6+
* @hyperpolymath

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# SPDX-License-Identifier: AGPL-3.0-or-later
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
22
# RSR-compliant .gitignore
33

44
# OS & Editor

.machine_readable/ECOSYSTEM.scm

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,30 @@
11
;; SPDX-License-Identifier: PMPL-1.0-or-later
2-
(ecosystem (metadata (version "0.1.0") (last-updated "2026-02-08"))
3-
(project (name "language-bridges") (purpose "FFI bridges between languages via Zig") (role ffi-infrastructure)))
2+
;; ECOSYSTEM.scm - Ecosystem relationships for polyglot-formalisms-elixir
3+
;; Media-Type: application/vnd.ecosystem+scm
4+
5+
(ecosystem
6+
(version "1.0.0")
7+
(name "polyglot-formalisms-elixir")
8+
(type "library")
9+
(purpose "Elixir implementation of the PolyglotFormalisms Common Library specification, providing fundamental arithmetic, comparison, logical, and string operations with proven semantic equivalence across multiple programming languages.")
10+
11+
(position-in-ecosystem
12+
"Elixir component of the cross-language PolyglotFormalisms specification. "
13+
"Part of the hyperpolymath ecosystem of 500+ repositories "
14+
"following Rhodium Standard Repository (RSR) conventions.")
15+
16+
(related-projects
17+
(specification "PolyglotFormalisms.jl" "Julia reference implementation and specification")
18+
(sibling "alib-for-rescript" "ReScript implementation")
19+
(sibling "polyglot_formalisms_gleam" "Gleam implementation")
20+
(dependency "hypatia" "Security scanning")
21+
(consumer "gitbot-fleet" "Quality enforcement"))
22+
23+
(what-this-is
24+
"The Elixir implementation of the PolyglotFormalisms Common Library. "
25+
"Provides arithmetic, comparison, logical, and string operations "
26+
"that are semantically equivalent across Julia, ReScript, Gleam, and Elixir.")
27+
28+
(what-this-is-not
29+
"This is not a standalone library — it is part of a cross-language "
30+
"specification ensuring behavioral equivalence across ecosystems."))

.machine_readable/META.scm

Lines changed: 47 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,48 @@
11
;; SPDX-License-Identifier: PMPL-1.0-or-later
2-
(meta (metadata (version "0.1.0") (last-updated "2026-02-08"))
3-
(project-info (type monorepo) (languages (zig ada gleam idris2 julia ocaml rescript rust swift)) (license "PMPL-1.0-or-later")))
2+
;; META.scm - Architectural decisions and meta-information for polyglot-formalisms-elixir
3+
;; Media-Type: application/meta+scheme
4+
5+
(define-meta polyglot-formalisms-elixir
6+
(version "1.0.0")
7+
8+
(architecture-decisions
9+
((adr-001 accepted "2026-01-23"
10+
"Need Elixir implementation of PolyglotFormalisms specification"
11+
"Implement using standard Elixir/BEAM idioms with explicit type specs"
12+
"Enables cross-language verification with Julia, ReScript, and Gleam implementations")
13+
(adr-002 accepted "2026-01-23"
14+
"Function naming conflicts with Elixir Kernel reserved words"
15+
"Use logical_ prefix for boolean operations (logical_and, logical_or, logical_not)"
16+
"Avoids shadowing Kernel.and/2, Kernel.or/2, Kernel.not/1")
17+
(adr-003 accepted "2026-01-23"
18+
"String indexing convention"
19+
"Use 1-based indexing to match Julia and Idris formalisms"
20+
"Consistent cross-language behavior despite Elixir's 0-based String.slice")))
21+
22+
(development-practices
23+
(code-style
24+
"Standard Elixir conventions with @moduledoc and @doc annotations. "
25+
"Explicit @spec type signatures on all public functions.")
26+
(security
27+
"Hypatia neurosymbolic scanning enabled. "
28+
"OpenSSF Scorecard tracking.")
29+
(testing
30+
"ExUnit test suite with property verification. "
31+
"Doctests for inline examples.")
32+
(versioning
33+
"Semantic versioning (semver).")
34+
(documentation
35+
"README.md for overview. "
36+
"STATE.scm for current state. "
37+
"ECOSYSTEM.scm for relationships.")
38+
(branching
39+
"Main branch protected. "
40+
"Feature branches for new work."))
41+
42+
(design-rationale
43+
(why-elixir
44+
"BEAM runtime provides excellent concurrency and fault tolerance. "
45+
"Pattern matching and guard clauses enable clean implementation of formal operations.")
46+
(why-cross-language
47+
"Semantic equivalence across languages proves correctness "
48+
"and enables polyglot codebases to share verified behavior.")))

.machine_readable/STATE.scm

Lines changed: 77 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,78 @@
11
;; SPDX-License-Identifier: PMPL-1.0-or-later
2-
(state (metadata (version "0.1.0") (last-updated "2026-02-08") (status active))
3-
(project-context (name "language-bridges") (purpose "FFI bridges between languages via Zig") (completion-percentage 20))
4-
(components (component "ada-zig-ffi") (component "gleam-zig-ffi") (component "idris2-zig-ffi") (component "julia-zig-ffi") (component "ocaml-zig-ffi") (component "rescript-zig-ffi") (component "rust-zig-ffi") (component "swift-zig-ffi") (component "zig-c-ffi") (component "zig-container-ffi") (component "zig-fuse-ext") (component "zig-libgit2-ffi") (component "zig-nickel-ffi") (component "zig-systemd-ffi") (component "zig-wireguard")))
2+
;; STATE.scm - Project state tracking for polyglot-formalisms-elixir
3+
;; Media-Type: application/vnd.state+scm
4+
5+
(define-state polyglot-formalisms-elixir
6+
(metadata
7+
(version "0.3.0")
8+
(schema-version "1.0.0")
9+
(created "2026-01-23")
10+
(updated "2026-03-02")
11+
(project "polyglot-formalisms-elixir")
12+
(repo "hyperpolymath/polyglot-formalisms-elixir"))
13+
14+
(project-context
15+
(name "polyglot-formalisms-elixir")
16+
(tagline "Elixir implementation of the PolyglotFormalisms Common Library specification")
17+
(tech-stack (elixir mix ex-unit)))
18+
19+
(current-position
20+
(phase "stable")
21+
(overall-completion 90)
22+
(components
23+
(component "arithmetic" 100 "add, subtract, multiply, divide, modulo")
24+
(component "comparison" 100 "less_than, greater_than, equal, not_equal, less_equal, greater_equal")
25+
(component "logical" 100 "logical_and, logical_or, logical_not")
26+
(component "string-ops" 100 "concat, length, substring, index_of, contains, starts_with, ends_with, etc."))
27+
(working-features
28+
"Arithmetic operations with IEEE 754 parity"
29+
"Comparison operations with formal properties"
30+
"Logical operations with De Morgan's laws"
31+
"String operations with 1-based indexing"
32+
"Comprehensive ExUnit test suite"))
33+
34+
(route-to-mvp
35+
(milestones
36+
((name "Core Implementation")
37+
(status "complete")
38+
(completion 100)
39+
(items
40+
("Arithmetic module" . done)
41+
("Comparison module" . done)
42+
("Logical module" . done)
43+
("String operations module" . done)
44+
("ExUnit test suite" . done)))
45+
((name "Cross-Language Verification")
46+
(status "in-progress")
47+
(completion 80)
48+
(items
49+
("Julia parity verified" . done)
50+
("ReScript parity verified" . done)
51+
("Gleam parity" . todo)))))
52+
53+
(blockers-and-issues
54+
(critical ())
55+
(high ())
56+
(medium ())
57+
(low ()))
58+
59+
(critical-next-actions
60+
(immediate
61+
"Verify Gleam cross-language parity")
62+
(this-week
63+
"Add property-based tests with StreamData")
64+
(this-month
65+
"Publish to Hex.pm"))
66+
67+
(session-history ()))
68+
69+
;; Helper functions
70+
(define (get-completion-percentage state)
71+
(current-position 'overall-completion state))
72+
73+
(define (get-blockers state severity)
74+
(blockers-and-issues severity state))
75+
76+
(define (get-milestone state name)
77+
(find (lambda (m) (equal? (car m) name))
78+
(route-to-mvp 'milestones state)))

.machines_readable/6scm/AGENTIC.scm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
;; SPDX-License-Identifier: PMPL-1.0-or-later
2-
;; AGENTIC.scm - AI agent interaction patterns for rsr-template-repo
2+
;; AGENTIC.scm - AI agent interaction patterns for polyglot-formalisms-elixir
33

44
(define agentic-config
55
`((version . "1.0.0")

.machines_readable/6scm/ECOSYSTEM.scm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
;; SPDX-License-Identifier: AGPL-3.0-or-later
1+
;; SPDX-License-Identifier: PMPL-1.0-or-later
22
;; ECOSYSTEM.scm - Ecosystem relationships for polyglot_formalisms_elixir
33
;; Media-Type: application/vnd.ecosystem+scm
44

.machines_readable/6scm/META.scm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
;; SPDX-License-Identifier: AGPL-3.0-or-later
1+
;; SPDX-License-Identifier: PMPL-1.0-or-later
22
;; META.scm - Architectural decisions and project meta-information
33
;; Media-Type: application/meta+scheme
44

0 commit comments

Comments
 (0)