e56148fa64
model::id adds slugify, which case folds, turns each run of spaces into one `_`, strips everything outside a-z, 0-9, `-` and `_`, then drops leading underscores. It also adds IdAllocator, which keeps one increment-only counter per document plus every id seen this session; claim admits hand-written ids verbatim. Full case folding comes from the unicase crate. Nothing calls it yet. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze