Skip to content

Ban ReScript estate-wide (Hyperpolymath Standard)#69

Merged
hyperpolymath merged 1 commit into
mainfrom
claude/practical-newton-9eFe2
Jun 4, 2026
Merged

Ban ReScript estate-wide (Hyperpolymath Standard)#69
hyperpolymath merged 1 commit into
mainfrom
claude/practical-newton-9eFe2

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

Adds ReScript to the banned-languages list in the Hyperpolymath Standard (.claude/CLAUDE.md), alongside TypeScript. AffineScript is the mandated replacement for all application code.

Changes

  • BANNED table: add ReScript -> AffineScript; remove ReScript as a Python replacement (now Python -> Julia/Rust).
  • Enforcement rule 1: now covers TypeScript and ReScript (.ts/.tsx/.res/.resi -> AffineScript).

Context — removing ReScript + TypeScript everywhere

This is the policy half of an estate-wide removal of ReScript and TypeScript. The first concrete migration (QuandleDB frontend: ReScript + React SPA -> AffineScript TEA) is in quandledb#45, modelled on the canonical nextgen-databases/nqc/src/ui/tea/nqc_gui.affine.

Remaining ReScript/TS across the in-scope repos, to migrate in sequence (each needs the affinescript compiler + the affinescript-ecosystem DOM mounter present in-session to be verifiable):

  • nextgen-databases/lithoglyph/** — ~100 .res (analytics, clients, distributed, glyphbase UI, Directus/Ghost/Payload/Strapi integrations, perf, stability, studio, e2e + fuzz). Much is library/server code, not UI.
  • nextgen-databases/nqc/web/** — ReScript + rescript-tea SPA.
  • TypeScript: lithoglyph/gql-dt/cli/{debugger,lsp-server}.ts, lithoglyph/studio/src/main.tsx.
  • KnotTheory.jl/examples/SafeDOMExample.res and sibling SafeDOMExample.res copies.

https://claude.ai/code/session_017TXizM5c1Yd9HWf7Y15YH2


Generated by Claude Code

ReScript joins TypeScript as a banned language; AffineScript is the
mandated replacement for all application code.

- BANNED table: add `ReScript -> AffineScript`; drop ReScript as a Python
  replacement (now Python -> Julia/Rust).
- Enforcement rule 1 now covers TypeScript and ReScript
  (.ts/.tsx/.res/.resi -> AffineScript).

https://claude.ai/code/session_017TXizM5c1Yd9HWf7Y15YH2
@github-actions

github-actions Bot commented Jun 4, 2026

Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 31 issues detected

Severity Count
🔴 Critical 5
🟠 High 10
🟡 Medium 16

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Action perpolymath/standards/.github/workflows/governance-reusable.yml@main\n needs attention",
    "type": "unpinned_action",
    "file": "governance.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in governance.yml",
    "type": "missing_timeout_minutes",
    "file": "governance.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in hypatia-scan.yml",
    "type": "missing_timeout_minutes",
    "file": "hypatia-scan.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in mirror.yml",
    "type": "missing_timeout_minutes",
    "file": "mirror.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in scorecard.yml",
    "type": "missing_timeout_minutes",
    "file": "scorecard.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in secret-scanner.yml",
    "type": "missing_timeout_minutes",
    "file": "secret-scanner.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in scorecard-enforcer.yml",
    "type": "scorecard_publish_with_run_step",
    "file": "scorecard-enforcer.yml",
    "action": "split_scorecard_publish_job",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Issue in instant-sync.yml",
    "type": "secret_action_without_presence_gate",
    "file": "instant-sync.yml",
    "action": "peter-evans/repository-dispatch",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Agda postulate assumes without proof -- potential soundness hole (2 occurrences, CWE-704)",
    "type": "agda_postulate",
    "file": "/home/runner/work/nextgen-languages/nextgen-languages/kitchenspeak/proofs/agda/PoachedEgg.agda",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "critical"
  },
  {
    "reason": "Agda postulate assumes without proof -- potential soundness hole (1 occurrences, CWE-704)",
    "type": "agda_postulate",
    "file": "/home/runner/work/nextgen-languages/nextgen-languages/kitchenspeak/proofs/agda/Dough.agda",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "critical"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

@hyperpolymath hyperpolymath marked this pull request as ready for review June 4, 2026 07:03
@hyperpolymath hyperpolymath merged commit 0cf2a26 into main Jun 4, 2026
24 checks passed
@hyperpolymath hyperpolymath deleted the claude/practical-newton-9eFe2 branch June 4, 2026 07:03
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.

2 participants