unique-index vectors: three-holder key order and alias code-unit order (rows 34-37) #107

Merged
libby merged 1 commit from hands/variants-vector-residuals into main 2026-11-11 13:41:11 +00:00
Member

Closes the vector residuals of variants:follow_up:pair-order-vector-residuals (findings cut-pair-order-ts.s2.key-sort-nfd-unpinned, cut-pair-order-cs.s6.alias-code-unit-unpinned).

  • Rows 34-37 appended to refusals.msgpack (rows 1-33 byte-stable; array header 33 to 37): batch/load-three-holders-normal-form (keys e+U+0302, f, U+00E9 under one Sku; names e+U+0302, f; NFC would name f, U+00E9; NFD U+00E9, e+U+0302), batch/load-alias-code-unit (new schema tests.uq_wide, aliases U+FF21 and U+10400, id sha256:b79eecd1...fc03f; code unit names U+10400, code point would name U+FF21). New stores normal-three-store.cc, wide-store.cc.
  • Walk counts: C# and Rust 37, Python 35, TypeScript 20. All four runtimes can declare the aliases (C# emitted attribute, Python indexes dict, TS indexes record, Rust index = "\u{FF21}" literal).
  • Mutants in C# (CompareRefusals alias by code point; holder keys sorted by NFD, NFC, InvariantCulture) fail the new rows.

🤖 Generated with Claude Code

Closes the vector residuals of `variants:follow_up:pair-order-vector-residuals` (findings cut-pair-order-ts.s2.key-sort-nfd-unpinned, cut-pair-order-cs.s6.alias-code-unit-unpinned). - Rows 34-37 appended to refusals.msgpack (rows 1-33 byte-stable; array header 33 to 37): batch/load-three-holders-normal-form (keys `e`+U+0302, `f`, U+00E9 under one Sku; names `e`+U+0302, `f`; NFC would name f, U+00E9; NFD U+00E9, e+U+0302), batch/load-alias-code-unit (new schema `tests.uq_wide`, aliases U+FF21 and U+10400, id `sha256:b79eecd1...fc03f`; code unit names U+10400, code point would name U+FF21). New stores normal-three-store.cc, wide-store.cc. - Walk counts: C# and Rust 37, Python 35, TypeScript 20. All four runtimes can declare the aliases (C# emitted attribute, Python indexes dict, TS indexes record, Rust `index = "\u{FF21}"` literal). - Mutants in C# (`CompareRefusals` alias by code point; holder keys sorted by NFD, NFC, InvariantCulture) fail the new rows. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
unique-index vectors: rows 34-37 pin key order by code unit over three holders and alias order by code unit over an astral alias
Some checks failed
CultMesh QUIC native / Build win32-x64 (pull_request) Has been skipped
CultMesh QUIC native / Build linux-x64 (pull_request) Has been skipped
CultMesh QUIC native / Release native binaries (pull_request) Has been skipped
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (pull_request) Has been cancelled
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Has been cancelled
da28267bd8
Rows 1-33 byte-stable. Walk counts: C#/Rust 37, Python 35, TypeScript 20.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
libby merged commit 7c2e514941 into main 2026-11-11 13:41:11 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
GameCult/CultLib!107
No description provided.