Skip to content

RefMint v0.1.0-alpha.2

Pre-release
Pre-release

Choose a tag to compare

@PerchAnton PerchAnton released this 27 Oct 16:46
6c89051

RefMint v0.1.0-alpha.2

This alpha adds reversible references for existing uint64 and UUID values, detailed input diagnostics and a versioned format. Random references from alpha.1 keep their existing behavior. No alias table or second random ID is required for the existing-ID workflow.

  • Use createReferenceCodec from refmint or the smaller refmint/codec entry. Both export the same implementation and TypeScript brands.
  • diagnose reports raw-input character positions and expected/actual lengths without guessing a corrected reference.
  • The existing-ID v1 wire format is documented and frozen, with compatibility vectors. Package APIs remain experimental during alpha.
  • The tagged source includes a complete return-lookup form and an independent bech32@2.0.0 Bech32m adapter using identical inputs, records and validation rules.

Measured improvements

All sizes below include the application adapter. They are unminified JavaScript module totals, not install-archive or bundle sizes.

Measurement Previous RefMint RefMint alpha.2 Bech32m + adapter
Form JS bytes 15,255 8,773 (codec-only import) 9,327
Summed per-file gzip bytes 5,791 3,353 3,160
Median diagnostic checks/s 556,352 1,779,391 822,457

The complete RefMint root import is 14,147 bytes with its adapter, 7.3% smaller than before. The codec-only form loads 42.5% less JS than the previous form. RefMint removes implementation comments from shipped JS while preserving source and declaration documentation. Bech32m remains smaller after gzip.

The three-way timing run used the same 28 cases in one process on Node 24.19.0 / Apple M3: nine rotated-order rounds with warmup and consumed results. It measured 3.20× the previous RefMint and 2.16× this Bech32m adapter for this workload. This is not a general speed guarantee, browser benchmark or human-entry study. Reference lengths and checksum behavior are the same in both form implementations.

Methods and reproduction · Format v1

Validation

  • 36 core tests, including standard vectors, an independent checksum oracle, integer/UUID boundaries and ASCII input-error precedence.
  • All 123,146 differential comparisons against the previous build matched.
  • Both adapters matched all 28 shared scenarios and rejected all 1,576 selected single-symbol mutations.
  • TypeScript checks, two HTTP-server tests, evidence hashes and offline installation of the package with both public import paths.
  • 15 Chromium/Firefox/WebKit tests in hosted CI, including verification that the comparison form does not load the full root module.

All six release-preparation CI jobs passed. Release commit: 6c89051; its tree is identical to the tested preparation commit. The merge preserves the baseline commit for benchmark reproduction. Browser CI uses a pinned Playwright image with preinstalled engines and system dependencies.

CI on the merged main commit also passed.

Install

Published on npm on 2026-10-28: refmint@0.1.0-alpha.2.

npm install refmint@alpha

To pin this release: npm install --save-exact refmint@0.1.0-alpha.2. npm also assigned the first published version to latest, so npm install refmint currently installs this same alpha. Both commands were tested in fresh consumers; the public registry archive matches the verified npm package.

The npm archive updates only README, changelog and contributor documentation. All 21 other files (runtime, declarations, package metadata, evidence and remaining documents) are identical to the original GitHub alpha.2 archive. The original tag and attached archive are unchanged. npm archive SHA-256: 582c57f77265722e94497f934f8bcaf8857c1fc21b0125734aea63567420a6f4.

Alternatively, download the attached GitHub .tgz and install it:

npm install ./refmint-0.1.0-alpha.2.tgz

Or, with npm 12:

npm install --allow-remote=root https://github.com/PerchAnton/refmint/releases/download/v0.1.0-alpha.2/refmint-0.1.0-alpha.2.tgz

This remains an alpha prerelease. RefMint 0.1.0-alpha.2 is also published on npm. Node.js 22+ and ES modules are required for Node consumers. The archive includes JavaScript, TypeScript declarations, documentation and licenses. Run the forms and benchmark scripts from the tagged source checkout.

Assets include evidence.json, comparison.json, optimization.json, verification.json and SHA256SUMS.txt. The comparison reports retain their measurement timestamps, environment and source hashes.

Checksums are public error detection, not authentication. Existing-ID encoding is reversible, including sequential IDs; authorize lookups in the application. License: MIT OR Apache-2.0, with retained third-party notices.

Full changes · PR #4