refactor(rescript): VCL rename stage B (3/5) — parser, playground, ReScript SDK#147
Merged
Conversation
…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
🔍 Hypatia Security ScanFindings: 144 issues detected
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 |
🔍 Hypatia Security ScanFindings: 186 issues detected
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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
VCL rename — stage B (3/5): ReScript
Continues the staged
VQL → VCL(VeriSim Consonance Language) rename. Stage2/5deliberately skipped ReScript; this completes it across all three independent ReScript projects (each has its ownrescript.json, flat module namespace).ReScript source
src/vql/→src/vcl/VQL*.res→VCL*.res(parser, type-checker, bidir, subtyping, proof obligations, circuits, explain, context, types, errors) — module renames carried through all intra-project refsplayground/VqlKeywords.res→VclKeywords.res;/vql/execute→/vcl/execute; "VQL Playground" → "VCL Playground" (rescript.json / package.json / deno.json /public/assets)connectors/clients/rescript/VeriSimVql.res→VeriSimVcl.res;/api/v1/vql/{execute,explain}→/vcl/{…};vqlResult→vclResult,VqlParseError/VqlExecutionError→Vcl*The acronym gloss was corrected from "Query Language" → "Consonance Language" per
CLAUDE.md. Incidentalquery/Queryidentifiers (e.g.executeQuery,query:fields) are left as-is, consistent withQueryRouterkeeping 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 Elixirvcl_bridge.exspawn path (vql-bridge/vql_parser_port.js) stays valid; the dir rename belongs to the Elixir stage..hypatia-ignore— renamed.reswhitelist paths..github/CODEOWNERS—/src/vql/→/src/vcl/.Must/Dust— directory assertions (test -d src/vql, mjs-trackingtarget) retargeted tosrc/vcl(thetest -d src/vqlassertion 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:
vql(any case) in the three projects + bridge + the fixed configs;tests/doc-consonance-gate.shstays green (it only flags the literal phrase "VeriSim Query Language" in docs).Deferred (other stages)
VQLBridge/VQLExecutormodule names,bench/vql_*_bench.exs, and thevql-bridge/dir rename (+ its spawn path).docs/*, machine-readable a2ml,.verisimdb/octads/*.jsonprovenance,*.vqlexamples.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/executein stage1/5with no alias, this Zig proxy is already broken upstream — a missed caller from the endpoint hard-rename..clusterfuzzlite/build.shnamesfuzz_vql_parser, but Cargo.toml renamed the target tofuzz_vcl_parserin1/5.🤖 Draft. Part of the staged
#84VCL rename.Generated by Claude Code