Skip to content

chore: Item 9 — retire ReScript guidance → AffineScript#5

Merged
hyperpolymath merged 1 commit into
mainfrom
chore/item9-rescript-to-affinescript-guidance
May 16, 2026
Merged

chore: Item 9 — retire ReScript guidance → AffineScript#5
hyperpolymath merged 1 commit into
mainfrom
chore/item9-rescript-to-affinescript-guidance

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Estate Tech-Debt — Item 9 (ReScript→AffineScript CI-text sweep)

Rewrites guidance/policy text that recommended ReScript as the
TypeScript/Python replacement to recommend AffineScript instead, per the
estate language policy (RS/TS/JS → AffineScript → typed-wasm).

Scope

  • ✅ In scope: "use ReScript instead" guidance, Rust/ReScript migration-guide
    phrasing, Rust or ReScript policy text.
  • ⛔ Out of scope (intentionally untouched): any rescript-named path/dir and
    ReScript adapters (e.g. proven). That work is preserved intact and usable
    for the ReScript ecosystem — only the forward-looking recommendation changes.

Mechanical, reviewed substitution; residual in-scope occurrences verified 0.

🤖 Generated with Claude Code

Estate language policy: RS/TS/JS → AffineScript → typed-wasm. This rewrites
guidance/policy text that recommended ReScript as the TypeScript/Python
replacement so it now points at AffineScript.

Scope guard (deliberate): rescript-named paths and ReScript adapters are NOT
touched — that work is preserved intact for the ReScript ecosystem. Only the
forward-looking "use ReScript instead" recommendation is updated.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@sonarqubecloud

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 48 issues detected

Severity Count
🔴 Critical 0
🟠 High 37
🟡 Medium 11
View findings
[
  {
    "reason": "innerHTML assignment -- XSS risk, use textContent or SafeDOM (4 occurrences, CWE-79)",
    "type": "js_innerhtml",
    "file": "/home/runner/work/empty-linter/empty-linter/userscript/empty-linter.user.js",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "high"
  },
  {
    "reason": "HTTP URL in code -- use HTTPS for non-localhost (1 occurrences, CWE-319)",
    "type": "js_http_url_in_code",
    "file": "/home/runner/work/empty-linter/empty-linter/userscript/empty-linter.user.js",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "Belt.Array deprecated -- use Array (6 occurrences)",
    "type": "deprecated_api",
    "file": "/home/runner/work/empty-linter/empty-linter/src/bindings/Deno.res",
    "action": "module_replace",
    "rule_module": "migration_rules",
    "severity": "high"
  },
  {
    "reason": "Js.Array2 deprecated -- use Array (2 occurrences)",
    "type": "deprecated_api",
    "file": "/home/runner/work/empty-linter/empty-linter/src/bindings/Deno.res",
    "action": "search_replace",
    "rule_module": "migration_rules",
    "severity": "high"
  },
  {
    "reason": "Js.Dict deprecated -- use Dict (1 occurrences)",
    "type": "deprecated_api",
    "file": "/home/runner/work/empty-linter/empty-linter/src/bindings/Deno.res",
    "action": "module_replace",
    "rule_module": "migration_rules",
    "severity": "high"
  },
  {
    "reason": "Js.Nullable deprecated -- use Nullable (3 occurrences)",
    "type": "deprecated_api",
    "file": "/home/runner/work/empty-linter/empty-linter/src/bindings/Deno.res",
    "action": "module_replace",
    "rule_module": "migration_rules",
    "severity": "medium"
  },
  {
    "reason": "Js.String2 deprecated -- use String (8 occurrences)",
    "type": "deprecated_api",
    "file": "/home/runner/work/empty-linter/empty-linter/src/bindings/Deno.res",
    "action": "search_replace",
    "rule_module": "migration_rules",
    "severity": "high"
  },
  {
    "reason": "Belt.Array deprecated -- use Array (1 occurrences)",
    "type": "deprecated_api",
    "file": "/home/runner/work/empty-linter/empty-linter/src/bindings/NickelConfig.res",
    "action": "module_replace",
    "rule_module": "migration_rules",
    "severity": "high"
  },
  {
    "reason": "Js.Dict deprecated -- use Dict (6 occurrences)",
    "type": "deprecated_api",
    "file": "/home/runner/work/empty-linter/empty-linter/src/bindings/NickelConfig.res",
    "action": "module_replace",
    "rule_module": "migration_rules",
    "severity": "high"
  },
  {
    "reason": "Js.Json deprecated -- use JSON (1 occurrences)",
    "type": "deprecated_api",
    "file": "/home/runner/work/empty-linter/empty-linter/src/bindings/NickelConfig.res",
    "action": "module_replace",
    "rule_module": "migration_rules",
    "severity": "medium"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

@hyperpolymath
hyperpolymath merged commit d120cec into main May 16, 2026
22 of 23 checks passed
@hyperpolymath
hyperpolymath deleted the chore/item9-rescript-to-affinescript-guidance branch May 16, 2026 23:54
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