docs: correct RD-27's occurrence count, the fourth time in one pattern

Decision 3 said the `@shared/ui/` occurrence count must not change at 200,
while decision 4, nine lines below, mandated converting five relative imports
into `@shared/ui/` aliases — five new occurrences by construction. The answer
is 205, and the agent verified by hand that the 21 occurrences now inside
`libs/shared/src/ui/` are the 16 from before plus exactly those five.

This is the fourth instance of the pattern named in the previous docs commit,
and the first ticket written after naming it. Recorded as such: when two
decisions both touch the thing you are counting, add them up first.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
eho
2026-09-05 08:15:20 +02:00
co-authored by Claude Opus 5
parent 43dc3210cd
commit 57fc72f254
2 changed files with 17 additions and 2 deletions
@@ -67,7 +67,15 @@ fine and only fails when Storybook builds. The README says it must not be pushed
Do it longest-first anyway — it costs nothing and the property is not guaranteed to hold if
this is ever repeated.
There are 200 occurrences across 73 files. The count of occurrences must not change.
There are 200 occurrences across 73 files, and this rewrite alone changes none of them.
**Corrected after the ticket ran: the total lands at 205, not 200.** Decision 4 converts five
relative imports into `@shared/ui/` aliases, and each of those is itself a new occurrence.
This decision's "must not change" governs _this_ rewrite; decision 4 adds five on top. The
two decisions were written as if they counted different things, and they do not.
The honest check is per-source: 200 from the specifier rewrite, plus exactly the 5 that
decision 4 names.
4. **Five of the seven relative imports inside `upload/` become aliases; two stay relative.**
A `../sibling/` import only breaks when the sibling lands in a different layer:
@@ -168,7 +176,7 @@ git grep -ho "@shared/ui/[a-z0-9-]*" -- apps libs | sort -u # is 26 values ->
Nothing was lost or duplicated in the rewrite:
```bash
git grep -ho "@shared/ui/" -- apps libs | wc -l # is 200 -> MUST still be 200
git grep -ho "@shared/ui/" -- apps libs | wc -l # is 200 -> MUST be 205 (200 + decision 4's 5)
git grep -c "src/ui/" -- '*.mdx' | awk -F: '{s+=$NF} END {print s+0}' # is 7 -> MUST still be 7
git grep -c "from '\.\./" -- libs/shared/src/ui/ | awk -F: '{s+=$NF} END {print s+0}' # is 7 -> MUST be 2
```