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 .github/workflows/hypatia-scan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
fetch-depth: 0 # Full history for better pattern analysis

- name: Setup Elixir for Hypatia scanner
uses: erlef/setup-beam@e6d7c94229049569db56a7ad5a540c051a010af9 # v1.18.2
uses: erlef/setup-beam@fc68ffb90438ef2936bbb3251622353b3dcb2f93 # v1.18.2
with:
elixir-version: '1.19.4'
otp-version: '28.3'
Expand Down
31 changes: 12 additions & 19 deletions .github/workflows/rsr-antipattern.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
# SPDX-License-Identifier: MPL-2.0
# SPDX-License-Identifier: PMPL-1.0-or-later
# RSR Anti-Pattern CI Check
# SPDX-License-Identifier: MPL-2.0
# SPDX-License-Identifier: PMPL-1.0-or-later
#
# Enforces: No TypeScript, No Go, No Python (except SaltStack), No npm
# Allows: AffineScript, Deno, WASM, Rust/SPARK, OCaml, Haskell, Guile/Scheme,
# ReScript (only as adapter shim to upstream ReScript-using systems —
# per estate-wide policy 2026-04-30, RS/TS/JS default is AffineScript)
# Allows: ReScript, Deno, WASM, Rust, OCaml, Haskell, Guile/Scheme

name: RSR Anti-Pattern Check

Expand Down Expand Up @@ -170,8 +168,7 @@ jobs:
- name: Check for tsconfig
run: |
if [ -f "tsconfig.json" ]; then
echo "❌ tsconfig.json detected — use AffineScript→typed-wasm instead"
echo " (Estate-wide policy 2026-04-30: see RSR Anti-Pattern Allows list.)"
echo "❌ tsconfig.json detected - use ReScript instead"
exit 1
fi
echo "✅ No tsconfig.json"
Expand All @@ -187,15 +184,11 @@ jobs:

- name: Summary
run: |
echo "╔══════════════════════════════════════════════════════════════════╗"
echo "║ RSR Anti-Pattern Check Passed ✅ ║"
echo "║ ║"
echo "║ Allowed (default for new code): ║"
echo "║ AffineScript→typed-wasm, Deno, WASM, Rust/SPARK, OCaml, ║"
echo "║ Haskell, Guile/Scheme, SaltStack (Python) ║"
echo "║ ║"
echo "║ Allowed (transitional / adapter-shim only): ║"
echo "║ ReScript — for shims to upstream RS-using systems ║"
echo "║ ║"
echo "║ Blocked: TypeScript, Go, npm, Python (non-Salt) ║"
echo "╚══════════════════════════════════════════════════════════════════╝"
echo "╔════════════════════════════════════════════════════════════╗"
echo "║ RSR Anti-Pattern Check Passed ✅ ║"
echo "║ ║"
echo "║ Allowed: ReScript, Deno, WASM, Rust, OCaml, Haskell, ║"
echo "║ Guile/Scheme, SaltStack (Python) ║"
echo "║ ║"
echo "║ Blocked: TypeScript, Go, npm, Python (non-Salt) ║"
echo "╚════════════════════════════════════════════════════════════╝"
Loading