Files
ARCADIA-Studio/harness/release-grapheme-shortening-ytr83r-20260911.md
T

24 lines
5.0 KiB
Markdown

# Grapheme shortening checkpoint — 2026-09-11
Current source `cb91525` adds a bounded three-file presentation correction after the preserved a57/108b checkpoint. Independent review found no remaining actionable finding in `views.rs`, desktop `Cargo.toml` and `Cargo.lock`. Four focused shortening tests, full desktop 756 and strict desktop Clippy passed on this source. The four focused tests overlap the 756. Its GUI build was intentionally superseded by the saved-destination repair union; no matching native Unicode result is claimed. The [full user goal](../PROJECT_GOAL.md) remains incomplete. [STATE](STATE.md) retains the other work and platform limits.
Actual old865/BF9 typography observations exposed scalar truncation at the label cutoff: OA `abcdefghijklmnope\u{0301}尾` lost its accent, and SA `abcdefghijklmnop👩\u{200d}🔬 tail` retained only the woman part of the joined emoji. Header/Create containment and unchanged source bytes did not establish correct grapheme presentation. [Original native typography evidence](experiments/lifecycle-header-correction-native-865483b-20260911/README.md).
The shared `short` helper now counts and retains extended grapheme clusters through `graphemes(true)`, preserving whitespace collapse, ellipsis policy and empty/zero/one-limit behavior in the new cluster unit. It does not normalize or modify stored names. Clips, camera transforms, geometry and model/source logic remain unchanged. Four focused tests cover native names and cutoff boundaries, decomposed accents, joined emoji, modifiers, flags, ASCII/CJK, whitespace and small limits. All four passed on the corrected input freeze; 752 other tests were filtered out.
Desktop now directly declares the already cached/locked `unicode-segmentation` 1.13.3. The initial candidate missed the corresponding direct dependency edge in Cargo.lock. Root resolved that edge with full offline metadata for the Windows target (20:41:05 UTC, exit0); no package version or checksum changed. The initial `6c41f7ea` input freeze is preserved as premature pre-resolution history, with **no tests/build executed against it**. The corrected input freeze is SHA256 **8f787f119e8d82acb52c4f28bf4c3c6635d8970f1bc9d669deb7c1fcc8373eb5**, covering **529 files / 9,715,008 bytes**. The [closed Windows archive](experiments/grapheme-windows-cb91525-20260911/README.md) preserves exact inputs, terminal receipts and independent readbacks.
The first focused gate invocation, `cargo test -p oa-desktop --lib views::tests::short_ --offline --locked`, exited101 solely because oa-desktop has no library target. No tests executed in that attempt. The corrected `cargo test -p oa-desktop --bin arcadia-studio views::tests::short_ --offline --locked` completed at **2026-09-11 20:59:36.0538079 UTC**, exit0, with **4 passed / 0 failed / 0 ignored / 752 filtered**. Overall duration was 492.3081682 seconds including compilation. Original receipts are `.local/grapheme-fixed-windows-20260911/short-bin-tests-status.json` and `short-bin-tests.log`; the staged-checkpoint receipt records their exact hashes. The full desktop gate subsequently passed 756 tests at 21:11:22.8440284 UTC; strict desktop all-target Clippy with `-D warnings` exited 0 at 21:26:01.5762309 UTC. Before/between/after input checks confirmed all frozen working bytes and HEAD blobs. No GUI build started: root superseded it with the [repair union](release-repair-union-ytr83r-20260912.md). Combined gates, build and native Unicode acceptance require their own evidence.
The [verbatim independent review](release-grapheme-shortening-review-20260911.md) preserves the initial finding, correction, exact test expectations and final source identities. Its copied bytes match original SHA256 **A28A270F6C87B11A5FD0EDE837DDF280D8B451762053A187229B0D0C330EE87B**. Final reviewed source hashes are:
| Path | SHA256 |
| --- | --- |
| crates/oa-desktop/src/views.rs | FAFF0E813A12F89C32034A5AA6D0A83B8ADCF19CB68369B948760CFF195E0098 |
| crates/oa-desktop/Cargo.toml | E4FC5D2C14D9AA84EC493D0C6BEF47A1046B4929CA502E4BD096C27D4FE22587 |
| Cargo.lock | 78B405543FB7B66287457E9476CA1E555838FCDADADE114AEAB9B76597726787 |
Grapheme-safe shortening does not measure shaped pixel width or guarantee font support. Hard clipping can still cut a complete retained cluster or hide the ellipsis. Matching native checks must distinguish string integrity, containment and shaping. Other independent scalar truncators are outside this patch.
Separately, the [old865 packaged Home/Guide/close archive](experiments/packaged-gui-close-865483b-20260911/README.md) now durably records bounded navigation, example loading and eventual normal closure after one Alt+F4. The target process was later absent and its closed logs empty; **no application exit code was captured**. Package readback covers the complete 559-file extraction and 558 checksum entries. This is BF9 evidence, not native acceptance of a57 or cb91525. Existing [a57 Windows gates and source evidence](release-canvas-union-ytr83r-20260911.md) remain valid within their original scope. Linux remains paused by explicit user instruction.