Files
ARCADIA-Studio/harness/experiments/text-diagnostics-20260913/reviews/geometry-probe-result-review.md
T
sorokin.oleg.edu 9fd76aef3a Add current-draft diagnostic underlines and passive hover
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.
2026-09-13 01:43:22 -07:00

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.