Skip to content

refactor(rescript): VCL rename stage B (3/5) — parser, playground, ReScript SDK#147

Merged
hyperpolymath merged 2 commits into
mainfrom
vcl/rename-stage-b-rescript
Jun 14, 2026
Merged

refactor(rescript): VCL rename stage B (3/5) — parser, playground, ReScript SDK#147
hyperpolymath merged 2 commits into
mainfrom
vcl/rename-stage-b-rescript

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

VCL rename — stage B (3/5): ReScript

Continues the staged VQL → VCL (VeriSim Consonance Language) rename. Stage 2/5 deliberately skipped ReScript; this completes it across all three independent ReScript projects (each has its own rescript.json, flat module namespace).

ReScript source

Project Change
src/vql/src/vcl/ VQL*.resVCL*.res (parser, type-checker, bidir, subtyping, proof obligations, circuits, explain, context, types, errors) — module renames carried through all intra-project refs
playground/ VqlKeywords.resVclKeywords.res; /vql/execute/vcl/execute; "VQL Playground" → "VCL Playground" (rescript.json / package.json / deno.json / public/ assets)
connectors/clients/rescript/ VeriSimVql.resVeriSimVcl.res; /api/v1/vql/{execute,explain}/vcl/{…}; vqlResultvclResult, VqlParseError/VqlExecutionErrorVcl*

The acronym gloss was corrected from "Query Language" → "Consonance Language" per CLAUDE.md. Incidental query/Query identifiers (e.g. executeQuery, query: fields) are left as-is, consistent with QueryRouter keeping its name.

Functional couplings updated (so nothing breaks on rebuild/CI)

  • vql-bridge/vql_parser_port.js — dynamic imports retargeted ../src/vql/VQL*.res.mjs../src/vcl/VCL*.res.mjs. The filename is intentionally kept so the Elixir vcl_bridge.ex spawn path (vql-bridge/vql_parser_port.js) stays valid; the dir rename belongs to the Elixir stage.
  • .hypatia-ignore — renamed .res whitelist paths.
  • .github/CODEOWNERS/src/vql//src/vcl/.
  • contractiles Must/Dust — directory assertions (test -d src/vql, mjs-tracking target) retargeted to src/vcl (the test -d src/vql assertion would otherwise start failing the moment the dir moved).

Verification

There is no ReScript toolchain in this environment or in CI, so this was validated statically:

  • zero residual vql (any case) in the three projects + bridge + the fixed configs;
  • symmetric token diff (256 insertions / 256 deletions — pure rename);
  • no dangling references to the old module names anywhere functional.

tests/doc-consonance-gate.sh stays green (it only flags the literal phrase "VeriSim Query Language" in docs).

Deferred (other stages)

  • 4/5 — Elixir: VQLBridge/VQLExecutor module names, bench/vql_*_bench.exs, and the vql-bridge/ dir rename (+ its spawn path).
  • 5/5 — docs/specs: docs/*, machine-readable a2ml, .verisimdb/octads/*.json provenance, *.vql examples.

⚠️ Pre-existing leftovers found (NOT ReScript — separate follow-up)

  • ffi/zig/ GraphQL gateway still calls the Rust core's old /vql/execute (graphql.zig:108, router.zig:56). Since the Rust endpoint became /vcl/execute in stage 1/5 with no alias, this Zig proxy is already broken upstream — a missed caller from the endpoint hard-rename.
  • .clusterfuzzlite/build.sh names fuzz_vql_parser, but Cargo.toml renamed the target to fuzz_vcl_parser in 1/5.

🤖 Draft. Part of the staged #84 VCL rename.


Generated by Claude Code

…Script SDK

Renames the deprecated "VQL" misnomer to "VCL" (VeriSim Consonance Language)
across all three independent ReScript projects, completing the bucket skipped
by stage 2/5.

ReScript source:
- src/vql/ -> src/vcl/, VQL*.res -> VCL*.res (parser, type checker, bidir,
  subtyping, proof obligations, circuits, explain) — module renames carried
  through all intra-project references
- playground/: VqlKeywords.res -> VclKeywords.res, /vql/execute -> /vcl/execute,
  "VQL Playground" -> "VCL Playground" (configs + public assets)
- connectors/clients/rescript/: VeriSimVql.res -> VeriSimVcl.res,
  /api/v1/vql/{execute,explain} -> /vcl/{execute,explain}, vqlResult ->
  vclResult, VqlParseError/VqlExecutionError -> Vcl*; acronym gloss corrected
  from "Query Language" to "Consonance Language" per CLAUDE.md

Functional couplings updated so nothing breaks on rebuild/CI:
- vql-bridge/vql_parser_port.js: compiled-module imports retargeted to
  src/vcl/VCL*.res.mjs (filename kept so the Elixir spawn path stays valid)
- .hypatia-ignore: renamed .res whitelist paths
- .github/CODEOWNERS: /src/vql/ -> /src/vcl/
- contractiles Must/Dust: dir assertions retargeted to src/vcl

Verification: no ReScript toolchain in this environment or CI, so validated
statically — zero residual "vql" (any case) in the three projects + bridge +
fixed configs, symmetric token diff, and no dangling old module references.

Deferred (other stages): Elixir VCLBridge/VCLExecutor + benches + vql-bridge
dir rename (4/5); docs, machine-readable specs, provenance octads, *.vql
examples (5/5). Note: ffi/zig still calls the rust core's old /vql/execute and
.clusterfuzzlite names fuzz_vql_parser — pre-existing leftovers from the 1/5
endpoint rename, tracked separately.

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

Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 144 issues detected

Severity Count
🔴 Critical 17
🟠 High 54
🟡 Medium 73

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "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": "Issue in codeql.yml",
    "type": "codeql_missing_actions_language",
    "file": "codeql.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "User-defined Coq axiom -- not verified by kernel (1 occurrences, CWE-704)",
    "type": "coq_axiom",
    "file": "/home/runner/work/verisimdb/verisimdb/formal/Provenance.v",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "User-defined Coq axiom -- not verified by kernel (2 occurrences, CWE-704)",
    "type": "coq_axiom",
    "file": "/home/runner/work/verisimdb/verisimdb/formal/PlannerSemantic.v",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "User-defined Coq axiom -- not verified by kernel (1 occurrences, CWE-704)",
    "type": "coq_axiom",
    "file": "/home/runner/work/verisimdb/verisimdb/formal/Planner.v",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "User-defined Coq axiom -- not verified by kernel (6 occurrences, CWE-704)",
    "type": "coq_axiom",
    "file": "/home/runner/work/verisimdb/verisimdb/formal/Drift.v",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "User-defined Coq axiom -- not verified by kernel (1 occurrences, CWE-704)",
    "type": "coq_axiom",
    "file": "/home/runner/work/verisimdb/verisimdb/formal/WAL.v",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "User-defined Coq axiom -- not verified by kernel (2 occurrences, CWE-704)",
    "type": "coq_axiom",
    "file": "/home/runner/work/verisimdb/verisimdb/formal/Normalizer.v",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "getExn on external data -- use pattern matching (1 occurrences, CWE-754)",
    "type": "getexn_on_external",
    "file": "/home/runner/work/verisimdb/verisimdb/src/registry/Registry.res",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "critical"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

@hyperpolymath hyperpolymath merged commit 43feed3 into main Jun 14, 2026
15 checks passed
@hyperpolymath hyperpolymath deleted the vcl/rename-stage-b-rescript branch June 14, 2026 03:03
@github-actions

Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 186 issues detected

Severity Count
🔴 Critical 17
🟠 High 81
🟡 Medium 88

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "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": "Issue in codeql.yml",
    "type": "codeql_missing_actions_language",
    "file": "codeql.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "User-defined Coq axiom -- not verified by kernel (1 occurrences, CWE-704)",
    "type": "coq_axiom",
    "file": "/home/runner/work/verisimdb/verisimdb/formal/Provenance.v",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "User-defined Coq axiom -- not verified by kernel (2 occurrences, CWE-704)",
    "type": "coq_axiom",
    "file": "/home/runner/work/verisimdb/verisimdb/formal/PlannerSemantic.v",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "User-defined Coq axiom -- not verified by kernel (1 occurrences, CWE-704)",
    "type": "coq_axiom",
    "file": "/home/runner/work/verisimdb/verisimdb/formal/Planner.v",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "User-defined Coq axiom -- not verified by kernel (6 occurrences, CWE-704)",
    "type": "coq_axiom",
    "file": "/home/runner/work/verisimdb/verisimdb/formal/Drift.v",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "User-defined Coq axiom -- not verified by kernel (1 occurrences, CWE-704)",
    "type": "coq_axiom",
    "file": "/home/runner/work/verisimdb/verisimdb/formal/WAL.v",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "User-defined Coq axiom -- not verified by kernel (2 occurrences, CWE-704)",
    "type": "coq_axiom",
    "file": "/home/runner/work/verisimdb/verisimdb/formal/Normalizer.v",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "getExn on external data -- use pattern matching (1 occurrences, CWE-754)",
    "type": "getexn_on_external",
    "file": "/home/runner/work/verisimdb/verisimdb/src/registry/Registry.res",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "critical"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

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