Skip to content

KeyTips: prefix-free collision suffixes (0-9A-Z, fixed width per group, clear of explicit keys) - #77

Merged
mstrobel merged 1 commit into
developfrom
feat/keytips-inline-badges
Sep 12, 2026
Merged

mstrobel merged 1 commit into
developfrom
feat/keytips-inline-badges

Conversation

@mstrobel

Copy link
Copy Markdown
Owner

Follow-up on the same branch as #76 (merged, branch kept).

The digit suffixes broke past nine colliders: B1 became a prefix of B10 and could never commit. Suffixes now draw from 0-9A-Z at a fixed width per letter group — one character for up to 36 colliders, two beyond (B00B10), and so on — so no sibling's suffix prefixes another's. Two related holes closed while there: a generated suffix that would land on an explicit key is skipped (an explicit B1 beside two auto Bs yields B0/B2), and a lone auto letter that an explicit key extends (auto C beside explicit CX, a dead prefix) is suffixed so it can commit. Explicit keys are still reserved first; duplicates still drop with a diagnostic.

Tests: eleven colliders take 0-9 then A; thirty-seven widen the whole group to two characters and are checked pairwise prefix-free; explicit-key avoidance and the dead-prefix case; an alphabetic suffix drills (B, A). Bars 322 green.

🤖 Generated with Claude Code

https://claude.ai/code/session_013qbF5ru6uh5w7fqhP3yoPE

…at a fixed width per letter group, clear of explicit keys

The digit suffixes broke past nine colliders: 'B1' became a prefix of 'B10' and could never commit (maintainer,
2026-09-12). Suffixes now draw from 0–9A–Z at a FIXED width per letter group — one character for up to 36
colliders, two beyond (B00 … B10), and so on — so no sibling's suffix prefixes another's. A generated suffix that
would land on an explicit key is skipped (an explicit B1 beside two auto Bs yields B0/B2), and a lone auto letter
that an explicit key extends (auto C beside explicit CX, a dead prefix) is suffixed so it can commit. Explicit keys
are still reserved first; duplicates still drop with a diagnostic.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013qbF5ru6uh5w7fqhP3yoPE
@mstrobel
mstrobel merged commit ec407b8 into develop Sep 12, 2026
3 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