From b17bcb068bef266c7033a75ea3f10129ccacbe15 Mon Sep 17 00:00:00 2001 From: "Claude (adr007-slug)" Date: Fri, 9 Oct 2026 12:55:14 -0700 Subject: [PATCH] docs(context): core.md section 20 traces its rules to all three clauses and says folding output becomes _ (improvise-cq1q.14) Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze --- context/code/core.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/context/code/core.md b/context/code/core.md index 67a004ef..24f123bb 100644 --- a/context/code/core.md +++ b/context/code/core.md @@ -1692,7 +1692,8 @@ probability (`> ||[||]` is a self-parent), so `generated_file_parses` accepts a piece of ADR 007. They are pure functions of their arguments and the allocator's own history. Nothing calls them yet: the creation sites move onto them in the re-key step (improvise-cq1q.4). Each rule traces to ADR 007's clause 4 (slugify, the counter, hand-written -ids) or clause 1 (reserved ids). +ids, natural order), clause 1 (reserved ids) or clause 2 (display suffixes), +as amended by amendment 1. **Case folding is full Unicode folding, and it comes from `unicase`.** `str::to_lowercase` is not folding: `ß` lowercases to itself and then @@ -1700,9 +1701,9 @@ becomes `_`, so `Straße` would slug to `stra_e` (clause 4, step 1: full case folding). The same goes for `ſ` (long s) and the `fi` ligature. `unicase` 2.9 is `no_std` and has no dependencies, so it passes the wasm gate. Its `to_folded_case` applies the C+F mappings of Unicode's CaseFolding.txt, and its own tests pin `Maße` → -`masse`. Most of what folding produces is stripped anyway: only an ASCII -letter survives step 3. Deriving that ASCII-producing subset of the table by -hand was rejected. It is a second copy of the Unicode data, and nothing would +`masse`. Most of what folding produces becomes `_` anyway: only ASCII +letters, digits and `-` survive step 2. Deriving that ASCII-producing subset of +the table by hand was rejected. It is a second copy of the Unicode data, and nothing would say when it drifted. **Slugify is the amendment's six steps** (ADR 007 amendment 1, clause 4):