Skip to content

chore(policy): add the ReScript BANNED row (post-retirement sync) - #75

Merged
hyperpolymath merged 1 commit into
mainfrom
policy/banned-row-rescript
Aug 31, 2026
Merged

hyperpolymath merged 1 commit into
mainfrom
policy/banned-row-rescript

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Estate-wide policy sync (task: BANNED-row campaign, 2026-08-31).

ReScript is retired outside the enclave (owner ruling 2026-08-31: rescript, rescript-ecosystem, and the proven adapters stay ReScript; nothing else). This repo's language-policy table in .claude/CLAUDE.md predated that ruling.

  • Adds | ReScript | AffineScript | to the BANNED table (whole-line insert after the TypeScript row, extra columns mirrored).
  • Where the Python row still recommended ReScript as a replacement, rewrites it to AffineScript.

Doc-only change; verified estate-wide by an origin-side GraphQL scan of all 428 non-archived repos (52 repos in this sweep).

🤖 Generated with Claude Code

ReScript is retired estate-wide (enclave ruling 2026-08-31: only the
rescript/rescript-ecosystem/proven-adapter repos remain ReScript). This syncs
the language-policy BANNED table: adds | ReScript | AffineScript | after the
TypeScript row, and where present rewrites the Python replacement row to no
longer recommend ReScript.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@sonarqubecloud

Copy link
Copy Markdown

@coderabbitai

coderabbitai Bot commented Aug 31, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 8cac9e8b-e354-4fc2-b8c7-113694634ed7

📥 Commits

Reviewing files that changed from the base of the PR and between fc0cd7d and 7080d5f.

📒 Files selected for processing (1)
  • .claude/CLAUDE.md

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.

📜 Recent review details
⏰ Context from checks skipped due to timeout. (2)
  • GitHub Check: rust-ci / Cargo audit (security)
  • GitHub Check: rust-ci / Coverage (tarpaulin + codecov)
⚠️ CI failures not shown inline (17)

GitHub Actions: CodeQL Security Analysis / 0_analyze (cpp, none).txt: chore(policy): add the ReScript BANNED row (post-retirement sync)

Conclusion: failure

View job details

##[group]Extracting cpp
 [command]/opt/hostedtoolcache/CodeQL/2.26.4/x64/codeql/codeql database trace-command --use-build-mode --working-dir /home/runner/work/dicti0nary-attack/dicti0nary-attack /home/runner/work/_temp/codeql_databases/cpp
 Running command in /home/runner/work/dicti0nary-attack/dicti0nary-attack: [/opt/hostedtoolcache/CodeQL/2.26.4/x64/codeql/cpp/tools/autobuild.sh]
 [] [build-stdout] Overlay mode: full (enabled: false)
 [] [build-stdout] Using 4 threads for extraction
 [] [build-stdout] Indexed folder "/home/runner/work/dicti0nary-attack/dicti0nary-attack", found 0 source files, 0 header files, 224 total files.
 [] [build-stdout] Extraction failed: No source files found.
 [] [build-stderr] cpp/autobuilder: autobuild summary.
 [] [ERROR] Spawned process exited abnormally (code 1; tried to run: [/opt/hostedtoolcache/CodeQL/2.26.4/x64/codeql/cpp/tools/autobuild.sh])
 A fatal error occurred: Exit status 1 from command: [/opt/hostedtoolcache/CodeQL/2.26.4/x64/codeql/cpp/tools/autobuild.sh]
 ##[error]Encountered a fatal error while running "/opt/hostedtoolcache/CodeQL/2.26.4/x64/codeql/codeql database trace-command --use-build-mode --working-dir /home/runner/work/dicti0nary-attack/dicti0nary-attack /home/runner/work/_temp/codeql_databases/cpp". Exit code was 2 and error was: A fatal error occurred: Exit status 1 from command: [/opt/hostedtoolcache/CodeQL/2.26.4/x64/codeql/cpp/tools/autobuild.sh]. See the logs for more details.

GitHub Actions: CodeQL Security Analysis / analyze (cpp, none): chore(policy): add the ReScript BANNED row (post-retirement sync)

Conclusion: failure

View job details

##[group]Extracting cpp
 [command]/opt/hostedtoolcache/CodeQL/2.26.4/x64/codeql/codeql database trace-command --use-build-mode --working-dir /home/runner/work/dicti0nary-attack/dicti0nary-attack /home/runner/work/_temp/codeql_databases/cpp
 Running command in /home/runner/work/dicti0nary-attack/dicti0nary-attack: [/opt/hostedtoolcache/CodeQL/2.26.4/x64/codeql/cpp/tools/autobuild.sh]
 [] [build-stdout] Overlay mode: full (enabled: false)
 [] [build-stdout] Using 4 threads for extraction
 [] [build-stdout] Indexed folder "/home/runner/work/dicti0nary-attack/dicti0nary-attack", found 0 source files, 0 header files, 224 total files.
 [] [build-stdout] Extraction failed: No source files found.
 [] [build-stderr] cpp/autobuilder: autobuild summary.
 [] [ERROR] Spawned process exited abnormally (code 1; tried to run: [/opt/hostedtoolcache/CodeQL/2.26.4/x64/codeql/cpp/tools/autobuild.sh])
 A fatal error occurred: Exit status 1 from command: [/opt/hostedtoolcache/CodeQL/2.26.4/x64/codeql/cpp/tools/autobuild.sh]
 ##[error]Encountered a fatal error while running "/opt/hostedtoolcache/CodeQL/2.26.4/x64/codeql/codeql database trace-command --use-build-mode --working-dir /home/runner/work/dicti0nary-attack/dicti0nary-attack /home/runner/work/_temp/codeql_databases/cpp". Exit code was 2 and error was: A fatal error occurred: Exit status 1 from command: [/opt/hostedtoolcache/CodeQL/2.26.4/x64/codeql/cpp/tools/autobuild.sh]. See the logs for more details.

GitHub Actions: CI/CD Pipeline / 2_Test (3.12).txt: chore(policy): add the ReScript BANNED row (post-retirement sync)

Conclusion: failure

View job details

##[group]Run python -m pip install --upgrade pip
 �[36;1mpython -m pip install --upgrade pip�[0m
 �[36;1mpip install -r requirements.txt�[0m
 �[36;1mpip install -e .�[0m
 shell: /usr/bin/bash -e {0}
 env:
   pythonLocation: /opt/hostedtoolcache/Python/3.12.14/x64
   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.14/x64/lib/pkgconfig
   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.14/x64
   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.14/x64
   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.14/x64
   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.14/x64/lib
 ##[endgroup]
 Requirement already satisfied: pip in /opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/site-packages (26.2.1)
 ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'
 ##[error]Process completed with exit code 1.

GitHub Actions: CI/CD Pipeline / Test (3.12): chore(policy): add the ReScript BANNED row (post-retirement sync)

Conclusion: failure

View job details

##[group]Run python -m pip install --upgrade pip
 �[36;1mpython -m pip install --upgrade pip�[0m
 �[36;1mpip install -r requirements.txt�[0m
 �[36;1mpip install -e .�[0m
 shell: /usr/bin/bash -e {0}
 env:
   pythonLocation: /opt/hostedtoolcache/Python/3.12.14/x64
   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.14/x64/lib/pkgconfig
   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.14/x64
   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.14/x64
   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.14/x64
   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.14/x64/lib
 ##[endgroup]
 Requirement already satisfied: pip in /opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/site-packages (26.2.1)
 ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'
 ##[error]Process completed with exit code 1.

GitHub Actions: CI/CD Pipeline / 3_Build Documentation.txt: chore(policy): add the ReScript BANNED row (post-retirement sync)

Conclusion: failure

View job details

##[group]Run python -m pip install --upgrade pip
 �[36;1mpython -m pip install --upgrade pip�[0m
 �[36;1mpip install -r requirements.txt�[0m
 shell: /usr/bin/bash -e {0}
 env:
   pythonLocation: /opt/hostedtoolcache/Python/3.11.16/x64
   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.11.16/x64/lib/pkgconfig
   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.16/x64
   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.16/x64
   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.16/x64
   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.11.16/x64/lib
 ##[endgroup]
 Requirement already satisfied: pip in /opt/hostedtoolcache/Python/3.11.16/x64/lib/python3.11/site-packages (26.2.1)
 ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'
 ##[error]Process completed with exit code 1.

GitHub Actions: CI/CD Pipeline / Build Documentation: chore(policy): add the ReScript BANNED row (post-retirement sync)

Conclusion: failure

View job details

##[group]Run python -m pip install --upgrade pip
 �[36;1mpython -m pip install --upgrade pip�[0m
 �[36;1mpip install -r requirements.txt�[0m
 shell: /usr/bin/bash -e {0}
 env:
   pythonLocation: /opt/hostedtoolcache/Python/3.11.16/x64
   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.11.16/x64/lib/pkgconfig
   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.16/x64
   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.16/x64
   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.16/x64
   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.11.16/x64/lib
 ##[endgroup]
 Requirement already satisfied: pip in /opt/hostedtoolcache/Python/3.11.16/x64/lib/python3.11/site-packages (26.2.1)
 ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'
 ##[error]Process completed with exit code 1.

GitHub Actions: CI/CD Pipeline / 5_Test (3.10).txt: chore(policy): add the ReScript BANNED row (post-retirement sync)

Conclusion: failure

View job details

##[group]Run python -m pip install --upgrade pip
 �[36;1mpython -m pip install --upgrade pip�[0m
 �[36;1mpip install -r requirements.txt�[0m
 �[36;1mpip install -e .�[0m
 shell: /usr/bin/bash -e {0}
 env:
   pythonLocation: /opt/hostedtoolcache/Python/3.10.21/x64
   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.10.21/x64/lib/pkgconfig
   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.21/x64
   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.21/x64
   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.21/x64
   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.10.21/x64/lib
 ##[endgroup]
 Requirement already satisfied: pip in /opt/hostedtoolcache/Python/3.10.21/x64/lib/python3.10/site-packages (26.2.1)
 ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'
 ##[error]The operation was canceled.

GitHub Actions: CI/CD Pipeline / Test (3.10): chore(policy): add the ReScript BANNED row (post-retirement sync)

Conclusion: failure

View job details

##[group]Run python -m pip install --upgrade pip
 �[36;1mpython -m pip install --upgrade pip�[0m
 �[36;1mpip install -r requirements.txt�[0m
 �[36;1mpip install -e .�[0m
 shell: /usr/bin/bash -e {0}
 env:
   pythonLocation: /opt/hostedtoolcache/Python/3.10.21/x64
   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.10.21/x64/lib/pkgconfig
   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.21/x64
   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.21/x64
   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.21/x64
   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.10.21/x64/lib
 ##[endgroup]
 Requirement already satisfied: pip in /opt/hostedtoolcache/Python/3.10.21/x64/lib/python3.10/site-packages (26.2.1)
 ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'
 ##[error]The operation was canceled.

GitHub Actions: CI/CD Pipeline / 6_Test (3.11).txt: chore(policy): add the ReScript BANNED row (post-retirement sync)

Conclusion: failure

View job details

##[group]Run python -m pip install --upgrade pip
 �[36;1mpython -m pip install --upgrade pip�[0m
 �[36;1mpip install -r requirements.txt�[0m
 �[36;1mpip install -e .�[0m
 shell: /usr/bin/bash -e {0}
 env:
   pythonLocation: /opt/hostedtoolcache/Python/3.11.16/x64
   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.11.16/x64/lib/pkgconfig
   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.16/x64
   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.16/x64
   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.16/x64
   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.11.16/x64/lib
 ##[endgroup]
 Requirement already satisfied: pip in /opt/hostedtoolcache/Python/3.11.16/x64/lib/python3.11/site-packages (26.2.1)
 ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'
 ##[error]Process completed with exit code 1.

GitHub Actions: CI/CD Pipeline / Test (3.11): chore(policy): add the ReScript BANNED row (post-retirement sync)

Conclusion: failure

View job details

##[group]Run python -m pip install --upgrade pip
 �[36;1mpython -m pip install --upgrade pip�[0m
 �[36;1mpip install -r requirements.txt�[0m
 �[36;1mpip install -e .�[0m
 shell: /usr/bin/bash -e {0}
 env:
   pythonLocation: /opt/hostedtoolcache/Python/3.11.16/x64
   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.11.16/x64/lib/pkgconfig
   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.16/x64
   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.16/x64
   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.16/x64
   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.11.16/x64/lib
 ##[endgroup]
 Requirement already satisfied: pip in /opt/hostedtoolcache/Python/3.11.16/x64/lib/python3.11/site-packages (26.2.1)
 ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'
 ##[error]Process completed with exit code 1.

GitHub Actions: Governance / 2_governance _ Well-Known (RFC 9116 + RSR).txt: chore(policy): add the ReScript BANNED row (post-retirement sync)

Conclusion: failure

View job details

##[group]Run SECTXT=""
 �[36;1mSECTXT=""�[0m
 �[36;1m[ -f ".well-known/security.txt" ] && SECTXT=".well-known/security.txt"�[0m
 �[36;1m[ -f "security.txt" ] && SECTXT="security.txt"�[0m
 �[36;1mif [ -z "$SECTXT" ]; then�[0m
 �[36;1m  echo "::warning::No security.txt found."�[0m
 �[36;1m  exit 0�[0m
 �[36;1mfi�[0m
 �[36;1mgrep -q "^Contact:" "$SECTXT" || { echo "::error::Missing Contact field"; exit 1; }�[0m

GitHub Actions: Governance / governance _ Well-Known (RFC 9116 + RSR): chore(policy): add the ReScript BANNED row (post-retirement sync)

Conclusion: failure

View job details

##[group]Run SECTXT=""
 �[36;1mSECTXT=""�[0m
 �[36;1m[ -f ".well-known/security.txt" ] && SECTXT=".well-known/security.txt"�[0m
 �[36;1m[ -f "security.txt" ] && SECTXT="security.txt"�[0m
 �[36;1mif [ -z "$SECTXT" ]; then�[0m
 �[36;1m  echo "::warning::No security.txt found."�[0m
 �[36;1m  exit 0�[0m
 �[36;1mfi�[0m
 �[36;1mgrep -q "^Contact:" "$SECTXT" || { echo "::error::Missing Contact field"; exit 1; }�[0m

GitHub Actions: Governance / governance _ Well-Known (RFC 9116 + RSR): chore(policy): add the ReScript BANNED row (post-retirement sync)

Conclusion: failure

View job details

##[group]Run MIXED=$(grep -rE 'src="http://|href="http://' --include="*.html" --include="*.htm" . 2>/dev/null | grep -vE 'localhost|127\.0\.0\.1|example\.com|lol/|node_modules/|third-party/|vendor/' | head -5 || true)
 �[36;1mMIXED=$(grep -rE 'src="http://|href="http://' --include="*.html" --include="*.htm" . 2>/dev/null | grep -vE 'localhost|127\.0\.0\.1|example\.com|lol/|node_modules/|third-party/|vendor/' | head -5 || true)�[0m
 �[36;1mif [ -n "$MIXED" ]; then�[0m
 �[36;1m  echo "::error::Mixed content (HTTP in HTML)"�[0m

GitHub Actions: Governance / 4_governance _ Security policy checks.txt: chore(policy): add the ReScript BANNED row (post-retirement sync)

Conclusion: failure

View job details

##[group]Run set -uo pipefail
 �[36;1mset -uo pipefail�[0m
 �[36;1mDIR=.github/canonical-references�[0m
 �[36;1mif [ ! -d "$DIR" ]; then�[0m
 �[36;1m  echo "ℹ️  [R5] no $DIR/ — skipped (repo has not opted in)"�[0m
 �[36;1m  exit 0�[0m
 �[36;1mfi�[0m
 �[36;1mif ! command -v python3 >/dev/null 2>&1; then�[0m
 �[36;1m  echo "❌ [R5] python3 missing on runner — required for YAML rule parsing"�[0m
 �[36;1m  exit 2�[0m
 �[36;1mfi�[0m
 �[36;1mpython3 - <<'PY'�[0m
 �[36;1mimport os, sys, glob, subprocess�[0m
 �[36;1mtry:�[0m
 �[36;1m    import yaml�[0m
 �[36;1mexcept ImportError:�[0m
 �[36;1m    sys.exit("❌ [R5] PyYAML not installed on runner; install python3-yaml")�[0m
 �[36;1m�[0m
 �[36;1mdir_ = ".github/canonical-references"�[0m
 �[36;1mfiles = sorted(glob.glob(f"{dir_}/*.yml") + glob.glob(f"{dir_}/*.yaml"))�[0m
 �[36;1mif not files:�[0m
 �[36;1m    print(f"ℹ️  [R5] {dir_}/ has no .yml/.yaml rules — skipped")�[0m
 �[36;1m    sys.exit(0)�[0m
 �[36;1m�[0m
 �[36;1mtotal = 0�[0m
 �[36;1mfor rf in files:�[0m
 �[36;1m    with open(rf, encoding="utf-8") as fh:�[0m
 �[36;1m        cfg = yaml.safe_load(fh)�[0m
 �[36;1m    if not isinstance(cfg, dict):�[0m
 �[36;1m        print(f"❌ [R5] {rf}: top-level must be a mapping"); total += 1; continue�[0m
 �[36;1m    rid  = cfg.get("id", os.path.basename(rf))�[0m
 �[36;1m    desc = cfg.get("description", "")�[0m
 �[36;1m    pats = cfg.get("patterns") or []�[0m
 �[36;1m    canon = cfg.get("canonical_pointer", "")�[0m
 �[36;1m    scope = (cfg.get("scope") or {})�[0m
 �[36;1m    includes = scope.get("include") or []�[0m
 �[36;1m    if not pats or not includes:�[0m
 �[36;1m        print(f"❌ [R5:{rid}] missing patterns or scope.include in {rf}")�[0m
 �[36;1m        total += 1; continue�[0m
 �[36;1m    # exclude self-references�[0m
 �[36;1m    skip = set(["CHANGELOG.md", "CHANGELOG.adoc", rf])�[0m
 �[36;1m    if canon: skip.add(canon)�[0m
 �[36;1m    rule_hits = 0�[0m
 �[36;1m    for f_ in includes:�[0m
 �[36;1m        if f_ in skip or not os...

GitHub Actions: Governance / governance _ Security policy checks: chore(policy): add the ReScript BANNED row (post-retirement sync)

Conclusion: failure

View job details

##[group]Run set -uo pipefail
 �[36;1mset -uo pipefail�[0m
 �[36;1mDIR=.github/canonical-references�[0m
 �[36;1mif [ ! -d "$DIR" ]; then�[0m
 �[36;1m  echo "ℹ️  [R5] no $DIR/ — skipped (repo has not opted in)"�[0m
 �[36;1m  exit 0�[0m
 �[36;1mfi�[0m
 �[36;1mif ! command -v python3 >/dev/null 2>&1; then�[0m
 �[36;1m  echo "❌ [R5] python3 missing on runner — required for YAML rule parsing"�[0m
 �[36;1m  exit 2�[0m
 �[36;1mfi�[0m
 �[36;1mpython3 - <<'PY'�[0m
 �[36;1mimport os, sys, glob, subprocess�[0m
 �[36;1mtry:�[0m
 �[36;1m    import yaml�[0m
 �[36;1mexcept ImportError:�[0m
 �[36;1m    sys.exit("❌ [R5] PyYAML not installed on runner; install python3-yaml")�[0m
 �[36;1m�[0m
 �[36;1mdir_ = ".github/canonical-references"�[0m
 �[36;1mfiles = sorted(glob.glob(f"{dir_}/*.yml") + glob.glob(f"{dir_}/*.yaml"))�[0m
 �[36;1mif not files:�[0m
 �[36;1m    print(f"ℹ️  [R5] {dir_}/ has no .yml/.yaml rules — skipped")�[0m
 �[36;1m    sys.exit(0)�[0m
 �[36;1m�[0m
 �[36;1mtotal = 0�[0m
 �[36;1mfor rf in files:�[0m
 �[36;1m    with open(rf, encoding="utf-8") as fh:�[0m
 �[36;1m        cfg = yaml.safe_load(fh)�[0m
 �[36;1m    if not isinstance(cfg, dict):�[0m
 �[36;1m        print(f"❌ [R5] {rf}: top-level must be a mapping"); total += 1; continue�[0m
 �[36;1m    rid  = cfg.get("id", os.path.basename(rf))�[0m
 �[36;1m    desc = cfg.get("description", "")�[0m
 �[36;1m    pats = cfg.get("patterns") or []�[0m
 �[36;1m    canon = cfg.get("canonical_pointer", "")�[0m
 �[36;1m    scope = (cfg.get("scope") or {})�[0m
 �[36;1m    includes = scope.get("include") or []�[0m
 �[36;1m    if not pats or not includes:�[0m
 �[36;1m        print(f"❌ [R5:{rid}] missing patterns or scope.include in {rf}")�[0m
 �[36;1m        total += 1; continue�[0m
 �[36;1m    # exclude self-references�[0m
 �[36;1m    skip = set(["CHANGELOG.md", "CHANGELOG.adoc", rf])�[0m
 �[36;1m    if canon: skip.add(canon)�[0m
 �[36;1m    rule_hits = 0�[0m
 �[36;1m    for f_ in includes:�[0m
 �[36;1m        if f_ in skip or not os...

GitHub Actions: Governance / 7_governance _ Workflow security linter.txt: chore(policy): add the ReScript BANNED row (post-retirement sync)

Conclusion: failure

View job details

##[group]Run unpinned=$(grep -rnE "^[[:space:]]+uses:" .github/workflows/ | \
 �[36;1munpinned=$(grep -rnE "^[[:space:]]+uses:" .github/workflows/ | \�[0m
 �[36;1m  grep -v "@[a-f0-9]\{40\}" | \�[0m
 �[36;1m  grep -v "uses: \./\|uses: docker://\|uses: actions/github-script\|uses: hyperpolymath/standards/" || true)�[0m
 �[36;1mif [ -n "$unpinned" ]; then�[0m
 �[36;1m  echo "ERROR: Found unpinned actions:"�[0m
 �[36;1m  echo "$unpinned"�[0m
 �[36;1m  exit 1�[0m
 �[36;1mfi�[0m
 �[36;1mecho "All actions are SHA-pinned"�[0m
 shell: /usr/bin/bash -e {0}
 ##[endgroup]
 ERROR: Found unpinned actions:
 .github/workflows/ci.yml:84:        uses: docker/setup-buildx-action@v4
 .github/workflows/ci.yml:86:        uses: docker/build-push-action@v7
 ##[error]Process completed with exit code 1.

GitHub Actions: Governance / governance _ Workflow security linter: chore(policy): add the ReScript BANNED row (post-retirement sync)

Conclusion: failure

View job details

##[group]Run unpinned=$(grep -rnE "^[[:space:]]+uses:" .github/workflows/ | \
 �[36;1munpinned=$(grep -rnE "^[[:space:]]+uses:" .github/workflows/ | \�[0m
 �[36;1m  grep -v "@[a-f0-9]\{40\}" | \�[0m
 �[36;1m  grep -v "uses: \./\|uses: docker://\|uses: actions/github-script\|uses: hyperpolymath/standards/" || true)�[0m
 �[36;1mif [ -n "$unpinned" ]; then�[0m
 �[36;1m  echo "ERROR: Found unpinned actions:"�[0m
 �[36;1m  echo "$unpinned"�[0m
 �[36;1m  exit 1�[0m
 �[36;1mfi�[0m
 �[36;1mecho "All actions are SHA-pinned"�[0m
 shell: /usr/bin/bash -e {0}
 ##[endgroup]
 ERROR: Found unpinned actions:
 .github/workflows/ci.yml:84:        uses: docker/setup-buildx-action@v4
 .github/workflows/ci.yml:86:        uses: docker/build-push-action@v7
 ##[error]Process completed with exit code 1.
🔇 Additional comments (1)
.claude/CLAUDE.md (1)

32-32: LGTM!


📝 Walkthrough

Summary by CodeRabbit

  • Documentation
    • Updated the language policy to list ReScript as prohibited.
    • Identified AffineScript as the recommended replacement.

Walkthrough

The language policy now lists ReScript as banned and AffineScript as its replacement.

Changes

Language policy

Layer / File(s) Summary
Add ReScript ban
.claude/CLAUDE.md
The BANNED table now lists ReScript, with AffineScript as its replacement.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk: ⚪ Minimal · up to 7080d

This is a localized documentation-only policy update, and no actionable merge-blocking risk remains beyond normal checks and review.

Poem

A rabbit reads the language chart
ReScript hops out with a gentle start
AffineScript takes its place
New policy rests in place
One neat row completes the art

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description accurately explains the policy synchronisation and the affected rows. However, it does not follow the repository template and omits required sections such as Type of Change, Related Is… Complete the repository pull request template. Add the required section headings, select the applicable change type, provide related issue information or state that none applies, document testing and results, complete the relevant checklist…
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the policy change: adding a ReScript row to the BANNED table. It is concise and relevant to the pull request.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description accurately explains the policy synchronisation and the affected rows. However, it does not follow the repository template and omits required sections such as Type of Change, Related Issues, Testing details, checklist confirmations, and Breaking Changes.

Resolution

Complete the repository pull request template. Add the required section headings, select the applicable change type, provide related issue information or state that none applies, document testing and results, complete the relevant checklists, and state the breaking-change status explicitly.

Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@hyperpolymath
hyperpolymath merged commit 95e5548 into main Aug 31, 2026
26 of 35 checks passed
@hyperpolymath
hyperpolymath deleted the policy/banned-row-rescript branch August 31, 2026 19:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant