Preserve raw include diagnostic provenance and derive bands from the existing shaped editor. Retain deferred tooltip paragraphs through rendering. Include source, regression, failure and native-trial evidence; corrected native acceptance remains pending.
6.8 KiB
Isolated geometry probe attempt 1 — independent result audit
PASS for the bounded CPU editor-access seam. Reviewed by Codex-9e8r6t /root/publication_review, 2026-09-13. No builds, program/helper execution, source edits, GUI or network. Read only the specific reported probe executable for binary hash verification; no shared-target inventory or mutation.
Probe: C:/ar-text-9e8r6t/.local/text-diagnostics-probe; records: records/attempt-1. Completed cargo run exit 0, start 2026-09-13T05:24:42.584465+00:00, finish 05:41:58.515577+00:00. Recorded timed Cargo duration is 1035.5273136 seconds. Timestamp interval is 1035.931112 seconds; run_probe.py records start before its tool-version subprocesses and starts the elapsed timer afterward, accounting for the small difference in scope. Exactly one terminal PASS line follows six FRAME lines.
Input, patch and execution bindings
Independently enumerated and verified 77 input files, not 78: 70 vendored files plus seven probe files. Exact current membership, byte counts and SHA-256 all match inputs.json. Started receipt fields are preserved in result.json; stdout/stderr sizes and hashes independently match the result. inputsUnchanged is true and the independent readback agrees.
All 70 entries of vendor-original-manifest.json match the current pinned registry source bytes. The vendored file membership is exactly the same. Only src/text_editor.rs differs: eight added lines documenting and defining Content::with_editor<T>, whose body is read(&self.0.borrow().editor). No event, layout, draw, selection, clipboard or other vendor source was changed. Original text_editor hash is cecf8686c90aa92066d55075beba545dfb7dd5a44bad0c1519fcb110a56070e1.
Standalone Cargo.lock has 337 packages. All 335 registry package name/version/source/checksum identities match entries in the production worktree lock; the other two are the local patched iced_widget 0.14.2 and the local probe. Iced 0.14.0, iced_renderer/iced_graphics 0.14.0 and cosmic-text 0.15.0 remain pinned. The manifest uses the production Iced feature list, an isolated workspace and a local path patch. The recorded command is cargo run --locked --offline --manifest-path <probe>/Cargo.toml; environment records Windows gnullvm, one compiler job, clang linker, rustc/cargo 1.98.1. Stderr explicitly reports compilation of the local patched widget and probe, then Running the recorded executable path.
The exact reported executable currently reads back as 7,511,040 bytes, SHA-256 0b22491b6387a8fc8f1c50acce05df9b9f2fb7357bae44e6b222ba597af7a120. This is a current readback of the named shared-target file matching the completion receipt, not a preserved executable copy or a Cargo JSON artifact receipt: this runner produces neither. Preserve a copy separately if later distribution/audit needs the binary to remain available after target reuse.
What the source assertions and output establish
Read all of src/main.rs. The actual Iced TextEditor uses the concrete graphics Editor/Paragraph with a CPU recording renderer. Every draw asserts exactly one fill_editor call, identical editor reference address through the accessor, equality of recorded run/cluster geometry, and exact padded origin/clip. The pointer identity assertion distinguishes actual editor access from a copied buffer; the shared geometry extraction function is suitable for this identity seam but is not an independent oracle for diagnostic projection.
| Actual frame | Width | Scroll vertical | Visible runs | Logical line 0 runs |
|---|---|---|---|---|
| narrow-original | 260 | 0 | 7 | 5 |
| wider-original | 560 | 0 | 7 | 2 |
| word | 260 | 0 | 7 | 5 |
| word-scrolled | 260 | 41.6 | 7 | 3 |
| line | 260 | 0 | 7 | 5 |
| line-scrolled | 260 | 41.6 | 7 | 3 |
The nonzero layout origin is (23,31), padding 13, editor height 170. The source includes CRLF/LF, repeated words, CJK, combining and Arabic text. Assertions require real wrapping, changed wrapping at wider width, multibyte cluster presence, and valid UTF-8 cluster endpoints. Word and Line selections are created using supported Content actions, selected text is checked, and layout/draw/repeated accessor reads preserve cursor, selected bytes, exact text and nonzero scroll. The same Tree holder is reused and diffed for the same widget implementation. No physical gesture or focus simulation is involved.
This establishes the narrow accessor experiment: the callback reads the same current shaped editor used by the actual child draw without these observed state changes. It does not establish the source_annotations range/anchor algorithm, independent cluster-band coverage, highlighter-induced font changes, ancestor transformations/clips, pointer/tooltip behavior, IME, GPU pixels, performance or native UX. No negative control was executed here. No insertion-after-selection behavior test or actual mouse Word/Line gesture is in this probe. The implementation's final PASS explicitly excludes GPU/native/tooltip claims; preserve that scope when adopting the seam.
Documentation precision
README is preserved preparation-time documentation and still says not executed/no settled lock. Its historical status is superseded by the actual attempt receipt, not grounds to disregard that receipt. One factual preparation sentence is wrong: it says .cargo-checksum.json was retained, but neither the 70-file original manifest nor the vendored tree contains that file; .cargo-ok is present. This does not affect the verified original-byte/patch comparison. Correct future summaries rather than claiming a checksum control that was absent.
Exact evidence hashes
| File | Bytes | SHA-256 |
|---|---|---|
| records/attempt-1/inputs.json | 11618 | 9f0f2fbe6e5502d867b6f6e800f5663ce783a9dcdf9fd4e7c3140d368a21c00f |
| records/attempt-1/started.json | 995 | 79c5b131c67cbc23f4d058efd4149488733fc043b3d7fdb22d706d59eed2941e |
| records/attempt-1/result.json | 1845 | 43bff4a5becd03bdc04fd92aef45e453badd2800291ae7d01e27cc33fc93a62e |
| records/attempt-1/stdout.log | 84949 | 24969ca70271a2ffc0117b6121d62b72525a16a3dc5cc4b36e0c27e4566ab29a |
| records/attempt-1/stderr.log | 2077 | cab270b4d7ccc58d6f24f0822e022ddf997121db9a657511f9da64bab511da72 |
| Cargo.lock | 85353 | 5b9f594cda7feb99b2cbc46c5227effd17bc8aae12fd3189c108783fccbf3e14 |
| src/main.rs | 8157 | 3c238869d1cad9f1d72e80f7501c52d8c55a3c32461eda15e720e1c888f71137 |
| vendor/iced_widget/src/text_editor.rs | 48646 | 70e2b5fa29b38ceb9b7688982712647bbb60b751681bfb6c3ca6bcacb51a08e1 |
| vendor-original-manifest.json | 10283 | 1be311c5d9c328dd986231deac742ceff1d53a309aa06569f8928546770a7393 |
The 77-file manifest also pins Cargo.toml 07ced2a0234abb851d5fa699baa523d368a0c6e3b13e9b4831551ad66ad1fd75, run_probe.py 1c599356319acfb4a6ac4a399dec95656dd598e6b08123ce5f559ac0c8bb49ba, and README.md 47cdaeef669698bdca56f3bf733ec8ee0b060359fd0e856d88f809719bd48098.