Skip to content

VIR: update the SDK and export host calls through IO - #10

Merged
FawadHa1der merged 2 commits into
FawadHa1der:mainfrom
ejgallego:fix/vir-sdk-io
Oct 29, 2026
Merged

FawadHa1der merged 2 commits into
FawadHa1der:mainfrom
ejgallego:fix/vir-sdk-io

Conversation

@ejgallego

@ejgallego ejgallego commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Adopt the qualified public VIR dependency/runtime pair in the isolated vir/ project and replace the host's local unfolding of RuntimeM with supported IO exports. Use RuntimeM.run only for creation and recovery of the opaque JSL session. This is a dependency update and public-API cleanup; Bench/Life already worked, and RuntimeM.run was available at the previous pin.

Pin producer bf8b6a80a5d4011ffd6804fb7a395b9cd2d0d668 and Lean 4.36.0-rc1. Its tracked resource lock selects public runtime content 0d7d7edd3dde264439803e247dab0376116d5527d280359a67f80980e715bea6. Update the toolchain documentation and label existing performance ratios as historical.

The four export names and flat command-packet results stay compatible with the existing JavaScript adapter. Both JavaScript files are byte-for-byte identical to upstream main. This PR targets main independently of #9; lifecycle integration and byte effects are separate work.

Validation:

  • The migrated host checks with no errors or warnings through lean-beam on the pinned compiler.
  • vir/build.sh bench life builds and publishes both applications with the matching public runtime.
  • Chromium 145 and Firefox 146: Life reaches generation 100, 53 live cells, board hash bdbe4aa6; all nine keyed-table operations match the vanilla lane after every operation.
  • A no-op callback/take ABI smoke invokes an unallocated callback slot with a Unicode/NUL string. It checks successful invocation and an empty drain, not payload preservation through an application callback.
  • Used the existing race assertions with VIR/vanilla lanes; the local driver also enables the normally Chromium-only table check in Firefox. No performance claim is made.
  • Whitespace checks and workflow syntax lint pass. Full site/Roster/QED64 CI has not been run locally.

ejgallego and others added 2 commits October 28, 2026 21:04
Pin the public producer and matching Lean toolchain, replace the RuntimeM unfolding helper with the public run boundary, and retain the existing four exports and flat packet format. Clarify the separate project toolchains and historical benchmark figures.

Co-Authored-By: Codex <noreply@openai.com>
Distinguish the VIR and QED64 releases, label old performance figures as historical, attribute missing byte callbacks to the adapter, and link the producer change.

Co-Authored-By: Codex <noreply@openai.com>
@FawadHa1der
FawadHa1der merged commit 4421daf into FawadHa1der:main Oct 29, 2026
3 checks passed
@ejgallego
ejgallego deleted the fix/vir-sdk-io branch October 29, 2026 23:21
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