Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ cargo test
## Key Design Decisions

- Follows hyperpolymath ABI-FFI standard (Idris2 ABI, Zig FFI)
- MPL-2.0 license
- MPL-2.0 license (code) + CC-BY-SA-4.0 (docs); full texts in LICENSES/
- RSR (Rhodium Standard Repository) template
- Author: Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/rhodibot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# Reads root-hygiene rules and auto-fixes what it can:
# - Delete banned files (AI.djot, duplicate CONTRIBUTING.adoc, stale snapshots)
# - Rename misnamed files (AI.a2ml → 0-AI-MANIFEST.a2ml)
# - Fix SPDX headers (AGPL → PMPL in dotfiles)
# - Fix SPDX headers (AGPL → MPL-2.0 in dotfiles)
# - Create missing required files (SECURITY.md, CONTRIBUTING.md)
# - Report unfixable issues as PR comments
#
Expand Down Expand Up @@ -87,7 +87,7 @@ jobs:
for dotfile in .gitignore .gitattributes .editorconfig; do
if [ -f "$dotfile" ] && grep -q "AGPL-3.0" "$dotfile" 2>/dev/null; then
sed -i 's/AGPL-3.0-or-later/MPL-2.0/g; s/AGPL-3.0/MPL-2.0/g' "$dotfile"
FIXES="$FIXES\n- Fixed SPDX header in \`$dotfile\` (AGPL → PMPL)"
FIXES="$FIXES\n- Fixed SPDX header in \`$dotfile\` (AGPL → MPL-2.0)"
CHANGED=true
fi
done
Expand Down
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,11 @@ Thumbs.db
/dist/
/out/

# Idris2 build artifacts
**/build/
*.ttc
*.ttm

# Dependencies
/node_modules/
/vendor/
Expand Down
7 changes: 7 additions & 0 deletions .machine_readable/compliance/reuse/dep5
Original file line number Diff line number Diff line change
Expand Up @@ -52,3 +52,10 @@ License: MPL-2.0
Files: cliff.toml
Copyright: {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>
License: MPL-2.0

# Documentation prose is CC-BY-SA-4.0 (code/config is MPL-2.0).
# Last-match-wins in the Debian copyright format, so this overrides the
# `Files: *` default above for prose docs.
Files: *.adoc *.md docs/* docs/**/*
Copyright: {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>
License: CC-BY-SA-4.0
2 changes: 1 addition & 1 deletion .machine_readable/contractiles/trust/Trustfile.a2ml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ is traceable.

### license-content
- description: LICENSE contains expected identifier
- run: grep -q 'PMPL\|MPL\|MIT\|Apache\|LGPL' LICENSE
- run: grep -q 'MPL-2.0' LICENSE
- severity: warning

## Container Security
Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ version = "0.1.0"
edition = "2024"
authors = ["Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>"]
description = "Generate formally verified real-time embedded code via Lustre/Esterel synchronous reactive programming"
license-file = "LICENSE"
license = "MPL-2.0"
repository = "https://github.com/hyperpolymath/lustreiser"
keywords = ["lustre", "esterel", "embedded", "real-time", "safety"]
categories = ["command-line-utilities", "development-tools"]
Expand Down
2 changes: 2 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
SPDX-License-Identifier: MPL-2.0

Mozilla Public License Version 2.0
==================================

Expand Down
2 changes: 1 addition & 1 deletion QUICKSTART-MAINTAINER.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ Or via OPSM: `opsm update {{PACKAGE_NAME}}`

== Security Notes

* License: MPL-2.0 (Palimpsest License)
* License: MPL-2.0 (code) / CC-BY-SA-4.0 (docs)
* All dependencies SHA-pinned
* `panic-attacker` scan results: link:INSTALL-SECURITY-REPORT.adoc[]
* OpenSSF Scorecard: see badge in README
Expand Down
2 changes: 1 addition & 1 deletion contractiles/trust/Trustfile.a2ml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Maximal trust by default — LLM may read, build, test, lint, format.

### license-content
- description: LICENSE contains expected SPDX identifier
- run: grep -q 'SPDX\|License\|MIT\|Apache\|PMPL\|MPL' LICENSE
- run: grep -q 'SPDX\|MPL-2.0' LICENSE
- severity: critical

### no-secrets-committed
Expand Down
4 changes: 2 additions & 2 deletions docs/RSR_OUTLINE.adoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
= RSR Template Repository

image:[Palimpsest-MPL-1.0,link="https://github.com/hyperpolymath/palimpsest-license"] image:[Palimpsest,link="https://github.com/hyperpolymath/palimpsest-license"]
image:https://img.shields.io/badge/license-MPL--2.0-blue[MPL-2.0,link="LICENSES/MPL-2.0.txt"] image:https://img.shields.io/badge/docs-CC--BY--SA--4.0-blue[CC-BY-SA-4.0,link="LICENSES/CC-BY-SA-4.0.txt"]
:toc:
:sectnums:

Expand Down Expand Up @@ -78,7 +78,7 @@ just validate-rsr
|Container build (Wolfi base, Podman)

|`LICENSE`
|MPL-2.0 (Palimpsest MPL)
|MPL-2.0 (code) / CC-BY-SA-4.0 (docs)

|`EXHIBIT-A-ETHICAL-USE.txt`
|Ethical use guidelines (LICENSE Exhibit A)
Expand Down
2 changes: 1 addition & 1 deletion docs/STATE-VISUALIZER.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ CONTAINER ECOSYSTEM (Phase 2)

REPO INFRASTRUCTURE
.machine_readable/ ██████████ 100% STATE/META/ECOSYSTEM active
Governance & License ██████████ 100% PMPL & Ethical use verified
Governance & License ██████████ 100% MPL-2.0 & Ethical use verified
Development Shells (Nix/Guix) ██████████ 100% Reproducible env stable

─────────────────────────────────────────────────────────────────────────────
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,9 @@ getClockTree h = do
if ptr == 0
then pure Nothing
else pure (Just (prim__getString ptr))
where
%foreign "support:idris2_getString, libidris2_support"
prim__getString : Bits64 -> String

--------------------------------------------------------------------------------
-- Stream Buffer Management
Expand Down Expand Up @@ -211,11 +214,6 @@ checkMemoryFit h ram = do
-- String Operations
--------------------------------------------------------------------------------

||| Convert C string to Idris String
export
%foreign "support:idris2_getString, libidris2_support"
prim__getString : Bits64 -> String

||| Free C string allocated by the library
export
%foreign "C:lustreiser_free_string, liblustreiser"
Expand All @@ -237,6 +235,9 @@ getString h = do
let str = prim__getString ptr
primIO (prim__freeString ptr)
pure (Just str)
where
%foreign "support:idris2_getString, libidris2_support"
prim__getString : Bits64 -> String

--------------------------------------------------------------------------------
-- Error Handling
Expand All @@ -255,6 +256,9 @@ lastError = do
if ptr == 0
then pure Nothing
else pure (Just (prim__getString ptr))
where
%foreign "support:idris2_getString, libidris2_support"
prim__getString : Bits64 -> String

||| Get error description for result code
export
Expand Down Expand Up @@ -282,6 +286,9 @@ version : IO String
version = do
ptr <- primIO prim__version
pure (prim__getString ptr)
where
%foreign "support:idris2_getString, libidris2_support"
prim__getString : Bits64 -> String

||| Get library build info
export
Expand All @@ -294,6 +301,9 @@ buildInfo : IO String
buildInfo = do
ptr <- primIO prim__buildInfo
pure (prim__getString ptr)
where
%foreign "support:idris2_getString, libidris2_support"
prim__getString : Bits64 -> String

--------------------------------------------------------------------------------
-- Callback Support
Expand Down
Loading
Loading