Skip to content

Reject Unicode lookalikes and verify the installed alpha package - #1

Merged
PerchAnton merged 1 commit into
mainfrom
refmint/alpha-hardening
Oct 27, 2026
Merged

PerchAnton merged 1 commit into
mainfrom
refmint/alpha-hardening

Conversation

@PerchAnton

@PerchAnton PerchAnton commented Oct 27, 2026 •

Copy link
Copy Markdown
Owner

A ticket reference containing the Unicode Kelvin sign (K) could pass validation after JavaScript folded it to ASCII k. Reject non-ASCII input before case normalization. Also snapshot configuration once: a changing prefix getter previously made the generated namespace disagree with the length plan.

The first-alpha candidate now verifies its actual distribution archive: an offline installation with an empty store, public ESM imports, TypeScript namespace brands, private-export boundaries, documentation links, licenses and measured JavaScript hashes. Include the README graphic and supporting documents in the package; use LF builds across platforms and default future npm publications to the alpha tag.

Extend finite checksum tests with insertions, deletions, adjacent swaps and 3,000 distinct multi-substitution samples. Add a Unicode regression to the browser form and refresh the specification, changelog and measured README graphic. Runtime dependencies remain zero; no speed advantage or human-error reduction is claimed.

Validation: pnpm check passes (22 tests plus TypeScript), pnpm evidence rejects all 4,216 enumerated single substitutions, and pnpm test:package passes locally on Node 24.19.0. CI run 40477403419 passed all six jobs on head fed62ebb4866a90e45eec444030ed0193223724a: Node 22/24/26 across Windows/macOS/Linux, plus all nine form tests in Chromium/Firefox/WebKit. Local browser binaries are absent; browser results above are from hosted CI.

This updates the unreleased 0.1.0-alpha.1 candidate. It does not publish to npm or create a GitHub Release.

@PerchAnton
PerchAnton merged commit ddb416e into main Oct 27, 2026
6 checks passed
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.

1 participant