Skip to content

Triage ReScript deprecated API findings as a language-migration bucket #240

Description

@hyperpolymath

Failure type

echidna has a large migration_rules/deprecated_api alert bucket for ReScript migration work.

Evidence

On 2026-06-06, echidna has 73 open Hypatia alerts under hypatia/migration_rules/deprecated_api.

Examples from local source include ReScript files using older or policy-sensitive APIs/patterns:

  • src/rescript/src/Main.res
  • src/rescript/src/state/Store.res
  • src/rescript/src/api/Client.res
  • src/rescript/src/components/*.res
  • src/provers/clients/*.res
  • echidna-playground/src/*.res

Expected behavior

This should be handled as a language-migration bucket, not as 73 independent security bugs.

Route

Suggested route: rhodibot PR-only, with ReScript/AffineScript migration context. If the policy is now AffineScript-first, the issue should decide whether echidna keeps ReScript as legacy source, migrates it, or adds documented scoped suppressions for deliberate compatibility surfaces.

Safety notes

Do not auto-rewrite all .res files without build verification. This should be batched by module, with before/after compile checks and no semantic no-op masking.

Acceptance criteria

  • Findings are grouped by API/pattern and source subtree.
  • Intentional externals/FFI bindings are documented or suppressed with local rationale.
  • Real migration changes are made in reviewable PRs.
  • Hypatia output names this as language-migration, not generic deprecated API noise.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    migrationPorting between languages or toolchains (e.g. -> AffineScript)researchOpen investigation; the outcome is knowledge, not code

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions