Complete editor memory, large-paste and scrolling performance verification #13
Open
opened 2026-09-13 13:34:43 +00:00 by kayg
·
13 comments
No Branch/Tag specified
dev
wave19/desktop-test
wave19/per-space-state
wave19/first-space-integration
wave19/first-space-draft-transfer
wave19/block-editor-craft
codex/wip/root-conflict-snapshot-20260914
wave12/first-space-draft-transfer
wave14/editor-overnight-combined
wave17/editor-diagnostics-3bbb
wave16/code-block-polish
wave16/image-controls
wave16/event-title-crash-control
wave16/image-preview-dispatch-repair
wave16/event-title-lifecycle-qa
wave16/editor-list-refinements
wave17/editor-layout-correction
wave16/event-edit-date
wave16/note-title-presentation
wave16/editor-final-combined
wave18/document-chrome-repair
wave17/cross-event-drop
wave16/editor-structural-combined
wave16/editor-hover-margins
wave16/editor-caret-relocation-perf
wave16/inspector-polish
wave16/image-preview-integration
wave16/english-transcription
wave16/document-background-edge
wave16/sidebar-live-layout
wave15/image-preview-ownership-repair
wave15/editor-handle-six-dot
wave15/titlebar-public-repair
wave15/sidebar-initial-restoration
wave15/editor-formatting-tooltips
wave15/editor-drag-mounted-repair
wave15/image-preview-foundation-isolated
wave15/editor-block-drag-feedback
wave15/sidebar-attachment-layout
wave14/editor-inline-plain-fastpath
wave14/editor-rendered-paste-replacement
wave14/clipboard-awaited-shutdown
wave14/editor-selectall-toolbar-perf
fix/clipboard-body-undo-group
diagnostic/clipboard-insertion-491
wave14/sidebar-unselected-drag-v2
diagnostic/sidebar-unselected-drag-trace
diagnostic/clipboard-phase-0225
wave14/sidebar-prime-access
wave14/nested-projection-handle-test-fix
wave14/sidebar-unselected-event-drag
fix/clipboard-task-ownership-6318
fix/editor-resource-url-invalidation
codex/wip/editor-handle-render-diagnostic-20260914
fix/central9c9-clipboard-crash
codex/wip/editor-handle-diagnostic-20260914
wave14/sidebar-event-runtime-repair
wave14/nested-projection-runtime-fix
wave14/sidebar-event-test-fixtures
wave14/sidebar-attachment-overlap
integration/rendered-image-clipboard
wave14/sidebar-event-preview-integration
wave14/editor-nested-list-integrate
wave14/editor-nested-list-projection
task/rendered-image-clipboard
wave14/sidebar-paste-preview-integration
wave14/sidebar-event-day-dnd
wave14/editor-preview-next
wave14/editor-list-handle-integrated
task/native-basic-paste
wave14/editor-list-keyboard-audit
task/native-clipboard-contract
codex/wip/editor-handle-geometry-20260914
wave14/editor-block-drag
wave14/editor-drag-integrated
wave14/editor-empty-marker-map-publication
wave14/editor-empty-marker-runtime-diag
wave14/editor-empty-marker-preview
wave14/editor-empty-marker-host-repro
wave14/editor-empty-marker-probe
codex/wip/editor-hr-leaf-fix-20260914
wave14/event-attachment-drop
wave14/editor-empty-marker-paint
wave14/editor-drop-list-preview
wave14/editor-finder-drop
wave14/editor-rule-caret
wave14/editor-list-enter-next
wave14/editor-image-qa
wave14/editor-mode-commands
wave13/editor-code-performance-preview
wave14/sidebar-overlap-repair
wave13/cross-day-compile-repair
wave13/spotlight-retry
wave13/editor-chrome-runtime-repair
wave13/editor-inline-fast-path
codex/wip/detached-87aa-20260914
wave12/editor-viewport-polish
wave12/craft-code-block-polish
wave12/editor-asset-return-preview
wave12/voice-polish-preview
wave12/editor-native-return-runtime-repair
wave12/editor-asset-focus
wave12/cross-day-reviewed-integration
wave12/optional-voice-provider-finish
wave12/event-move-descriptor-compile-fix
wave12/editor-image-geometry-preview
wave12/editor-native-return-undo-repair
wave12/image-native-geometry-fixture
wave12/editor-pattern-preview
wave12/editor-bullet-continuation
wave12/editor-top-chrome
wave12/voice-composer-restart
wave12/speech-variable-buffer-repair
wave12/editor-image-preview
wave12/event-move-descriptor-scale
wave12/editor-image-geometry
wave12/afternoon-ui-preview
wave12/sidebar-hosted-bounds-repair
wave12/sidebar-overlap-live
wave12/speech-e2e-verification
wave12/mentions-polish-finish
wave12/editor-structural-range-repair
wave12/sidebar-fade-desktop-preview
wave12/sidebar-design-ledger
wave12/voice-assets-physical-fixtures
wave12/native-event-marker-polish
wave12/sidebar-fade-undo-preview
wave12/event-move-fence-corrections
wave12/sidebar-fade-boundary-repair
wave12/parent-space-entry-integration
wave12/editor-undo-group-repair
wave12/native-event-row-performance
wave12/parent-swipe-integration
wave12/metadata-noteid-test-fix
wave12/space-composer-generation-fix
wave12/voice-lifecycle-clock-fixture
wave12/sidebar-child-binding
wave12/voice-provider-pool-preview
wave12/composer-recording-preview
wave12/event-cross-day-store-corrections
wave12/voice-async-test-locks
wave12/speech-buffer-lease-fix
wave12/composer-no-top-readouts
wave12/sidebar-child-target
wave12/space-required-composer
wave12/editor-correctness-preview
wave12/voice-provider-compile-corrected
wave12/event-move-integration
wave12/voice-assets-compile-fix
wave12/parakeet-compile-fix
wave12/note-metadata-flexibility
wave12/sidebar-event-drag-drop
wave12/editor-paste-source-guard
wave12/note-asset-import-safety-causal-tests
wave12/note-asset-import-safety
wave12/editor-readonly-command-guards
wave12/voice-provider-integration
wave12/editor-format-flexibility
wave12/hosted-sidebar-ui-sdk-fix
wave12/event-cross-day-store
wave12/voice-app-wiring
wave12/voice-parakeet-assets
wave12/voice-hosted-await-fix
wave12/event-edit-date-guard
wave12/event-cross-day-app
wave12/network-client-entitlement
wave12/sidebar-row-overlap
wave12/voice-settings-surface
wave12/parakeet-capture-adapter
wave12/task-marker-normalization
wave12/voice-polish-integration
wave12/voice-capture-hardening
wave12/voice-provider-settings-plan
wave12/copied-space-editor-io
wave12/hosted-background-sendability
wave12/voice-stop-nlp
wave12/voice-fixture-roots
wave12/voice-claim-collision
wave12/sidebar-add-swipe-plan
wave12/copied-space-app-wiring-plan
wave12/voice-fence-stat-compilefix
wave12/composer-dismiss-crash-hotfix
wave12/voice-retainer-defer-fix
wave12/overnight-recovery-space-preview
wave12/background-checkpoint-compilefix
wave12/copied-space-enumeration-fix
wave12/copied-space-local-state
wave12/voice-fence-fixture-fix
wave12/voice-manifest-fd-fix
wave12/voice-recovery-publication-proof
wave12/voice-retainer-bytecount-fix
wave12/overnight-navigation-background-compilefix
wave12/navigation-work-diagnostic
wave12/overnight-navigation-background-preview
wave12/background-import-bounds
wave12/overnight-voice-lifecycle-preview
wave12/voice-frozen-claim
wave12/voice-input-seam
wave12/voice-recovery-compile-fix
wave12/voice-terminal-cleanup-plan
wave12/voice-recovery-activation-plan-current
wave12/overnight-runtime-probe-preview
wave12/overnight-sandbox-startup-preview
wave12/startup-geometry-diagnostic
wave12/voice-source-sandbox-fix
wave12/image-root-sandbox-fix
wave12/perf-scroll-zero-args
wave12/overnight-document-geometry-preview
wave12/native-document-geometry-diagnostic
wave12/overnight-draft-root-preview
wave12/voice-recovery-c-session-fence
wave12/draft-root-direct-open
wave12/hosted-single-module-linkage
wave12/overnight-voice-recovery-preview
wave12/voice-recovery-checkpoint-a-finalization
wave12/copied-space-local-state-plan
wave12/overnight-refresh-hosted-preview
wave12/incremental-refresh-bounded-load
wave12/raw-source-reconciliation-test-fix
wave12/overnight-rendering-startup-preview
wave12/draft-root-diagnostic
wave12/day-event-bulk-load
wave12/speech-asset-install-test-preview
wave12/hr-material-contrast
wave12/height-clamp-followup
wave12/voice-recovery-checkpoint-a-corrections
wave12/overnight-cstore-caret-preview
wave12/voice-recovery-checkpoint-a
wave12/editor-adjacent-caret-boundary-v3
wave12/voice-recovery-index-query-fix
wave12/editor-adjacent-caret-boundary-v2
wave12/voice-recovery-index-query
wave12/startup-collector-empty-args
wave12/editor-adjacent-caret-boundary
wave12/overnight-hr-storage-preview
wave12/hr-native-diagnostic-followup
wave12/hr-native-diagnostic
wave12/overnight-storage-settings-preview
wave12/snapshot-native-move-followup
wave12/speech-local-fallback
wave12/settings-stream-test-compilefix
wave12/snapshot-path-identity-followup
wave12/corefrontmatter-join-fastpath
wave12/speech-fallback-plan
wave12/overnight-caret-control-registry
wave12/editor-registry-compilefix
wave12/voicea-test-compilefix
wave12/overnight-caret-control-ready
wave12/voicea-enum-compilefix
wave12/voice-recovery-phaseb
wave12/overnight-caret-control
wave12/overnight-polish-storage-preview
wave12/voicea-foundation-compilefix
wave12/snapshot-path-identity
wave12/overnight-native-polish-preview
wave12/hr-rule-geometry
wave12/speech-conversion-fixture
wave12/editor-deferred-caret
wave12/overnight-hosted-lifetime-preview
wave12/marker-glyph-clipping
wave12/voice-recovery-activation
wave12/overnight-package-fixture-preview
wave12/overnight-lifetime-voice-preview
wave12/app-tests-cleanup
wave12/snapshot-physical-fixtures
wave12/event-date-title-punctuation
wave12/overnight-lifetime-voice-plan
wave12/overnight-draw-before
wave12/overnight-picker-event-preview
wave12/settings-watcher
wave12/event-date-title-fix
wave12/note-background-picker-fix
wave12/editor-lifetime
wave12/overnight-draw-preview
wave12/snapshot-attribute-compile-fix
wave12/editor-accepted-draw-trace
wave12/overnight-runtime-preview
wave12/composer-test-concurrency-fix
wave12/editor-caret-performance
wave12/overnight-snapshot-correction
wave12/settings-model-callbacks
wave12/overnight-full-preview
wave12/overnight-store-preview
wave12/rendered-bullet-fix
wave12/settings-document-fixture-fix
wave12/composer-task-pill-ui
wave12/overnight-roadmap-preview
wave12/task-tag-readouts
wave12/event-snapshot-dependency
wave12/h1-strict-preview
wave12/settings-store-await-fix
wave12/settings-store-test-fix
wave12/overnight-pill-preview
wave12/composer-pill-accent-fix
wave12/composer-pill-final
wave11/sidebar-cold-index-prime
wave12/overnight-preview
wave11/voice-draft-recovery
wave11/voice-transcription-finish
wave11/note-save-rename
wave11/task-event-preview
wave11/settings-enabled-plugin-section
wave11/pill-fade-preview
wave11/sidebar-top-fade-regression
wave11/event-sidebar-preview
wave11/composer-pill-restore
wave11/settings-plugins-portability
wave11/composer-hash-semantics
wave11/event-composer-edit
wave11/sidebar-spacing-followup
wave11/editor-performance-evidence
wave11/voice-preview
wave11/voice-stop-repair
wave11/polish-verification
wave11/plugins-settings-ui
wave11/bullet-list-regression
wave11/sidebar-insert-stability
wave11/polish-preview
wave11/document-style-repair
wave11/composer-native-readouts
wave11/mentions-disclosure-motion
wave11/sidebar-swipe-compact
wave11/legacy-helper-path-fix
wave11/persistence-integration
wave11/capsule-instant-presentation
wave11/native-link-activation
wave11/desktop-integration
wave11/link-integration
wave11/synthetic-note-names
wave11/composer-overflow-actions
wave11/legacy-root-links
wave11/note-title-punctuation
wave11/note-title-metadata
wave11/spotlight-navigation
wave11/spotlight-trace-baseline
wave11/note-name-collisions
wave11/identity-query-indexes
wave11/note-heading-title
wave11/capsule-scroll-chrome
wave11/sidebar-context-menu
wave11/spotlight-metadata
wave11/rename-link-repair
wave11/analytics-native
wave11/sidebar-scroll-restoration
wave11/sidebar-bottom-spacing
wave11/capsule-optical-alignment
wave11/markdown-link-resolution
wave11/command-results-layout
wave11/capsule-outside-dismissal
wave11/events-folder
wave11/capsule-query-retention
wave11/capsule-snap-preview
wave11/composer-controls-preview
wave11/sidebar-fade-preview
wave11/selection-lookup
wave11/note-creation-routing
wave11/sidebar-header-spacing
wave11/block-editor
wave11/space-onboarding
wave11/space-terminology
wave4/voice
wave2/search
wave4/glur-probe
wave7/cli-integration
wave12/inspector-style
wave4/document-presentation
wave2/cli
wave2/sidebar
No results found.
Labels
Clear labels
No items
No labels
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set
Reference
kayg/calternal-macos#13
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Request and current status
Bounded Select All and parsing improvements were measured historically. No general leak or current strict launch/key-repeat acceptance.
Acceptance
Profile current Release through actual drawing with revision/hardware/corpus/boundaries/artifacts. Repeat large paste, selection and scroll with mixed blocks/images. Compare Mailternal startup and obtain performance review. Do not substitute unit timing/screenshots.
Keep open until the user-facing outcome is verified in a delivered build. Source review or a successful build alone is not completion.
Worker/role:
/root/sidebar_live_geometry_diagnosis, now owning bounded performance diagnosis for issue #13. No source ownership or edits are planned in this phase.Current candidate boundary: integrated Release revision
6ca85fd2d82428d4fe18db508535bc643f3a0ee4. Baseline boundary: retained signed Release153d7c1fd7a8a9f8d3e25df2b6f6dcb87e13dddf. The current candidate's executable hash and immutable VM path will be read from build/provenance receipts before capture; no unstamped or Debug artifact will be accepted.Plan:
.agents/editor-overnight-performance-protocol.mdand the frozen harness snapshot from63188563998dc1d0aa640712fd338c4ea32d7be5; verify all manifest, collector, parser, executable, signature, revision, hardware and corpus receipts before launch.lume@calternal-macos-vm, never the user's desktop or real vault./usr/bin/sampleprofiles spanning input, AppTrace actual-draw boundaries where available, and exact native input receipts./usr/bin/sampleand RSS alone cannot prove absence of leaks.Immediate next action: audit the retained
6ca85Release provenance and current harness/result inventory while waiting for root's VM lease. Issue remains open.Worker:
/root/sidebar_live_geometry_diagnosis(performance diagnosis), VM lease released after this comment.Completed one bounded, current-candidate Release paste profile. This is evidence for issue scoping, not performance acceptance.
Boundary and environment:
6ca85fd2d82428d4fe18db508535bc643f3a0ee4, source tree740c18c0a151887bf9fd6cfcda5d950b9922639b606412e94003538797fdfdc625aa9ded3e8267c8d7ecc929950b519cc62ce5d2, strict signature verification passed, ARM64 Releasecalternal-macos-vm.local, macOS 26.6.2 (25G83), exact 960×637 window at (0,30)6fb1e0c3-7cd4-4088-9034-f35d90bbb870; canonical no-image fixture 178,012 bytes, SHA-256865dfd01e37dbdf33e1e5562e609c25ce8772f780ae0274b88b35ae40ca8934211d4a13fb74de6d52709948fe005c3effe017fb7609a134f576542365609b149, no final newline/usr/bin/samplebegun two seconds before paste; AppTrace logger began before launchResult:
rendered-editor-edit-draw820,794,250 ns, generation 1, zero coalesced editsae04380a9607555b61d50bc82c9ef10b041dcca9b58d2324b4f8ed880ec088ccBlockEditorView.paste, 384 in the editor delegate, and 286 inapplyDisplayReplacement; the dominant mutation subtree wasMarkdownBlockDocument.applyingSourceRange/synchronizeEditedRegion, including 109 samples in block parsing and 115 in incremental projection rebuild. A later deferred caret reveal contributed 55 samples, including 33 in TextKit viewport relocation. The process was idle for 19,341 of 19,842 main-thread samples, so the captured active burst is bounded rather than a whole-run CPU average.last editedtimestamp. The app then quit normally; the fixture was replaced only after quit and verified back to canonical SHA-256. The exact app PID and owned AppTrace logger were absent at cleanup.Artifacts:
/Users/lume/Performance/results/6ca85fd2-paste-issue13-02/on the QA VM, with a 59-file SHA-256 manifest, raw AppTrace NDJSON, full sample, memory snapshots, exact source before/after/Undo files, clipboard receipt, native-action receipts, screenshots used only for state identity, and cleanup receipts. Invalid setup attempt.../6ca85fd2-paste-issue13-01/is explicitly markedINVALID: an untargeted deep link launched a second installed process; it made no mutation and was excluded.Limits and next action: baseline
153d7c1fd7a8a9f8d3e25df2b6f6dcb87e13dddfwas not run in this short lease, so no A/B claim is made. Select-All, Page Down, mixed-image workload, strict sidebar key-repeat, repeated memory cells, Mailternal comparison, and independent performance review remain open. The compiler hold is released now so the user preview build can proceed; resume with separate fresh processes and the same exact boundaries.Worker:
/root/sidebar_live_geometry_diagnosis(bounded performance follow-up).Isolated worktree:
/Users/kayg/Developer/calternal-app/.worktrees/editor-caret-relocation-perfBranch:
wave16/editor-caret-relocation-perfBase: exact integration
37c5d40de40a2d0b279aad8d13d6f68837533c2d(Extend note background through top safe area), clean at creation.Current state: planning only; no source edits, build, compiler lease, or VM use. The retained
6ca85Release profile measured 820,794,250 ns from accepted paste mutation to post-super editor draw. Its 30-second sample localized the synchronous mutation to parse/projection work and separately caught the deferred caret-reveal closure spending 55 samples, including 33 in TextKit viewport relocation.Immediate next action: reread the editor architecture and viewport/caret invariants at this exact base, propose the smallest reversible change that can be measured A/B against the existing paste protocol, and obtain independent reviewer feedback before implementation. The plan will preserve source mapping, caret visibility, EOF behavior, undo ownership, and the current viewport-recovery fixes. Issue stays open.
Bounded source plan from the retained current-Release trace (planning only; issue remains open).
The
6ca85fd2native large-paste sample contains three distinct reveal workloads for one accepted replacement:applyDisplayReplacement->revealAndScheduleScroll: 96 samples, including 89 in TextKit viewport relocation;_readSelectionFromPasteboard-> this view'sscrollRangeToVisible: another 39 samples, split between layout and relocation;The 55-sample closure root can aggregate more than one invocation, so the trace does not justify claiming all 190 sampled milliseconds are removable. It does prove that the same native paste transaction requests an immediate reveal through the canonical replacement seam and then asks the editor to reveal again through AppKit. Source synchronization, parsing, and projection rebuilding remain the larger synchronous cost.
Proposed first candidate, on isolated branch
wave16/editor-caret-relocation-perfat exact base37c5d40de40a2d0b279aad8d13d6f68837533c2d:BlockEditorView, keyed by source revision, requested display range, selected range, and reveal mode.revealAndScheduleScroll, suppress only an exact duplicate request that arrives before the already scheduled reconciliation runs.revealInsertionPointsucceeds. If TextKit cannot reveal, leave no token so AppKit's later request remains a recovery attempt.This preserves one immediate TextKit relocation and one deferred post-layout reconciliation, which prior caret fixes established as necessary for distant and EOF positions. It also avoids relying on undocumented paste callback ordering: any exact same-turn duplicate can coalesce, while a different range, revision, selection, or later-turn request still executes.
Risks to review before implementation:
Planned A/B after review and build-owner handoff: exact
37c5d40baseline versus candidate Release, same VM/hardware, restored 1,200-day corpus, canonical 10k selection, exact 177,779-byte payload, fresh process and actual content draw. Compare accepted-edit-to-draw, hotkey return, reveal/relocation sample subtrees, exact postimage, Undo source recovery, RSS, and repeat enough matched cells to distinguish noise. Then exercise distant navigation, EOF paste/typing, native selection, and mixed blocks/images. This bounded cell is only one part of issue #13's broader launch, key-repeat, mixed-image, leak, and Mailternal acceptance.Reviewer outcome on the first plan: changes required before implementation. The retained trace proves a repeated reveal inside native
super.paste, but it does not justify changing same-turn behavior for Find, Accessibility, Undo, navigation, or structural commands. The reviewer also identified two lifecycle requirements: fence the deferred work to the same attached window and enclosing scroll view, and never describerevealInsertionPointreturningtrueas complete caret resolution—the value means that scrolling occurred.Amended candidate awaiting final reviewer approval:
super.paste(sender)call. Custom host-routed image/attachment paste remains outside this scope.scrollRangeToVisiblereceived while still inside that native paste consumes the marker regardless of match. Suppress it only if every field still matches. A changed range, revision, selection, window, or scroll view proceeds normally and cannot leave the older marker armed.deferclears any unconsumed marker. No request outside that synchronous dynamic scope can be suppressed.If the first reveal cannot schedule reconciliation, do not arm the marker; AppKit's follow-up remains a recovery attempt. This confines the behavior change to the exact stack observed in the profile and leaves canonical Markdown, parsing, projection, Find, Accessibility, Undo, block selection, and navigation unchanged.
Focused regression: native full-selection paste in the real shared-scroll-view shape, followed by one main-queue settlement, must preserve exact canonical source, collapsed result selection, visible distant/EOF caret, and Undo. The existing stale-reveal, repeated-insertion, and source-mapping tests remain required. This test establishes correctness, while the exact Release A/B must establish that the AppKit duplicate subtree is removed and that latency changes beyond noise.
Shared exact note-editor route from the valid
6ca85fd2capture for current VM QA reuse:6fb1e0c3-7cd4-4088-9034-f35d90bbb870at/Users/lume/Documents/Calternal Overnight Perf QA.notes/editor-performance-10k-no-image-32900000.md, UUID32900000-0000-4000-8000-000000000001./Users/lume/Performance/editor-overnight-harness/normalized-canonical.mdand requirecmpsuccess.open -na "$APP" --env CALTERNAL_PERF_TRACE=1 "calternal://open/v1/vault/6fb1e0c3-7cd4-4088-9034-f35d90bbb870/note/32900000-0000-4000-8000-000000000001". Wait for indexing/navigation, then resolve the PID from the exact$APP/Contents/MacOS/Calternalpath and target its exact window.This route mounted the rendered 10k editor in the center pane even though the timeline sidebar showed 13 June. The valid run retained a 960×637 window at
(0,30)and a safe body focus point around logical(350,300), followed by native Select All. The full launch command is preserved in.agents/performance-current/6ca85fd2-paste-issue13-02/processes-prelaunch.txt.Do not launch the staged app first and then dispatch an untargeted deep link. That sequence was the explicitly invalid
...issue13-01attempt because LaunchServices opened a second installed Calternal process; it was excluded from evidence.Source candidate ready for build-owner validation; issue remains open.
/Users/kayg/Developer/calternal-app/.worktrees/editor-caret-relocation-perfwave16/editor-caret-relocation-perf37c5d40de40a2d0b279aad8d13d6f68837533c2d51628eb9(Coalesce duplicate native paste reveal)BlockEditorView.swiftplus one focused editor regression;git diff --checkpassed. No local compilation, build-host use, or VM use.Implementation: only the
super.pastefallback opens a synchronous native-paste scope. After the canonical replacement has scrolled and enqueued its existing deferred reconciliation, it records a one-shot key containing revision, target range, selection, window, and enclosing scroll view. The first paste-time AppKitscrollRangeToVisibleconsumes the key and returns only on an exact match. Mismatches, failures, custom paste handlers, and every request outsidesuper.pastekeep the normal reveal path. The retained deferred reconciliation is independent and now verifies the same window and scroll view before and after host layout.The focused async test performs native full-selection paste inside the shared-scroll hierarchy and asserts exact source, collapsed result selection, visible distant/EOF caret after reconciliation, and Undo recovery.
Independent implementation review: PASS, no P1/P2/P3 findings. The reviewer confirmed the dynamic scope, one-shot lifecycle, key, independent host-fenced reconciliation, and test route. A theoretical nested/reentrant native paste could disable coalescing for the outer call, but normal AppKit paste is non-reentrant and the outcome falls back to the original reveal behavior rather than losing correctness.
Pending: agents@mbp compile/focused tests, then exact Release A/B. Performance evidence must show whether the 39-sample AppKit duplicate subtree disappears and whether only one deferred reconciliation remains, with matched latency/source/Undo/RSS receipts. This candidate alone does not satisfy #13's selection/scroll, mixed-image, leak, launch, key-repeat, or Mailternal acceptance.
Combined integration candidate — worker
/root/block_drag_finishReviewed paste/caret coalescing commit
51628eb92208b8e980acf0ddca91d5a328397c52was integrated conflict-free as8d3dd56dbb76805747783ba662b1150f366dfc0conto base26eb1552; stable patch ID is identical (27e46fe6…). Combined tip after reviewed code-block and list-selection deltas isf99ed4f28ae3b21beb87e4a99c4bf4a05acaaae8in.worktrees/editor-structural-combined.Exact interaction review is active, specifically checking paste reveal scheduling against list multi-selection restoration and code-fragment layout. No local build or GUI run. Focused selectors:
testCaretRevealKeepsTypedTextVisibleInSharedScrollPage,testRepeatedCaretRevealKeepsWrappedInsertionsVisibleInSharedScrollPage,testNativePasteKeepsDistantCaretVisibleAndUndoesInSharedScrollPage, andtestStaleCaretRevealDoesNotOverrideNewSelectionOrFocus.Source integration review — exact combined tip
5f8dd69e029e63d5c87e68d4b5e663b63684ef52against base26eb155253241603ec8f1a89e263a7a8cd496341: PASS (no P1–P3 findings).The #13/#14 paste-reveal commit has an identical stable patch to its reviewed source. Its pending marker is scoped to the synchronous native paste, revision, selection, window, and scroll view, then cleared on the first AppKit follow-up/defer. The added multi-range list restoration does not leak into that state. After a list source transaction changes the selection, the earlier deferred reveal fails its selection fence and the explicit primary-range reveal owns the current selection. No image, focus, title, or existing selection path was reverted in the combined diff.
This is a source-only integration verdict. Compile and mounted runtime verification remain with the build/QA lanes.
Root fast-forwarded the clean preview integration branch from26eb1552 to exact5f8dd69e after independent combined source review PASS and diff-check. Includes code-block presentation, atomic disjoint list indentation, native-paste reveal coalescing, and hover lifecycle/footer-width correction. The known roughly7pt visible text/mentions alignment gap remains for native measurement. This is a NEXT build candidate; it does not supersede the current26eb event/title build and is not installed. No runtime/performance acceptance is claimed.
Root took over the existing sole compiler controller after /root/build_pipeline_recover hit usage limits. Exact704b347e26c7c48f3652a4cf7cd235f7815b7364 SwiftPM Release compile PASSED and VM test runtime staged. Tests executed:0 so far. Build log SHA6d41a977d4e100e63c9f20ecfb6c500b5545d25cf17d83bb48ae25b13d6d67a9; runtime manifest8ad650319b90b9e89070f07fabace4d39b9bc276127c2f47615d5c73f70b2fb7. /root/image_preview_qa assigned exact runtime tests. Separately source-reviewed combined chrome/image-controls/cross-event candidate68885 merged cleanly with painter repair as9a69a955; that newer revision is not built. Each thread owns updates in its relevant issues. Desktop remains26eb1552.
704b focused native-paste check:
MarkdownBlockDocumentTests/testNativePasteKeepsDistantCaretVisibleAndUndoesInSharedScrollPageexecuted 1 test with 0 failures. This covers distant-caret visibility and shared-page Undo in the package runtime; it is not a broad image/Quick Look or desktop UI acceptance result.Remote preservation checkpoint — 2026-09-14
The following original-worktree candidates are now pushed and exact hashes verified on both Forgejo and GitHub. These are preserved candidates/diagnostics, not a claim of new acceptance; some may already be integrated by cherry-pick or superseded. Use the issue’s existing evidence before choosing changes to resume.
wave13/editor-inline-fast-path—6184226830e6494c32f25d91d2f75d1ddbf8a41awave16/editor-caret-relocation-perf—51628eb92208b8e980acf0ddca91d5a328397c52Master #20 contains the resume instructions. No force push; dev remains
1d8f4adf.