Complete stale worktree cleanup without losing unmerged work #19
Open
opened 2026-09-13 13:34:45 +00:00 by kayg
·
25 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#19
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
Some completed clean worktrees removed; full request remains incomplete and historical dirty/unmerged work protected.
Acceptance
Inventory active/merged/abandoned/unmerged work. Integrate or retain needed changes before removing stale checkouts. Never discard active agent changes. Report remaining worktrees and reasons, keeping source/evidence traceable.
Keep open until the user-facing outcome is verified in a delivered build. Source review or a successful build alone is not completion.
Worker: document_title_semantics (cleanup inventory role)
Worktree/branch: repository root /Users/kayg/Developer/calternal-app on dev; inspecting all registered worktrees read-only
State: starting issue #19 inventory; active worktrees listed in root context are protected
Next: read-only enumerate worktrees, dirtiness, branches, ancestry against central/dev, and classify removal candidates with exact evidence
Relevant commit: root dev
d1795607(inventory baseline only)Validation/limits: no worktree deletion, branch mutation, checkout, or source edits authorized; results will be posted after readback
Worker: document_title_semantics (cleanup inventory role)
Worktree/branch: root /Users/kayg/Developer/calternal-app on dev; all registered worktrees inspected read-only
State: snapshot complete at 2026-09-13T19:22:26+0530. Registry has 91 worktrees: 82 clean, 9 dirty, 0 missing. Root dev is
d1795607and dirty (77 status entries); origin/dev is84de4235. No central/dev ref exists.Ancestry result: against literal root dev
d1795607, no non-root clean worktree has HEAD as an ancestor, so there are no unconditional merged removal candidates under that baseline.Active integration baseline: protected editor-overnight-combined is
fb4c66d5. Twelve clean, non-protected worktrees have exact merged ancestry (merge-base equals HEAD and central..HEAD is zero): editor-asset-return-previewbb8f3215; editor-drag-integrated84d9e55b; editor-drop-list-preview0b4c3276; editor-finder-dropec184bde; editor-image-geometry-preview59174114; editor-image-qa153d7c1f; editor-native-return-undo-repairc87f67f5; editor-nested-list-integratef32793bb; editor-pattern-previewc4a87a9a; editor-preview-next8979efeb; editor-undo-group-repairac03731f; sidebar-paste-preview-integration97086849. These are conditional removal candidates only; no path or branch was removed, and root must approve each exact path.Protected active/pending from root context: editor-overnight-combined clean
fb4c66d5; event-edit-date dirty6ca85fd2(3 entries); editor-hover-margins dirty85117d15(2); english-transcription dirty 44cec67f (1); note-title-presentation dirty31d9f475(1); document-background-edge cleana1a8b163; image-preview-ownership-repair clean39915dabpending. Other dirty/unmerged worktrees retained: root dev; editor-block-drag (untracked Package.resolved); editor-list-enter-next (untracked Package.resolved); first-space-draft-transfer (3 tracked edits); image-preview-foundation-isolated (1 tracked edit). The remaining clean worktrees are divergent/non-ancestor and retained pending owner/root review.Evidence/limits: one-line-per-worktree TSV snapshot is /tmp/calternal_issue19_inventory_20260913.tsv. No checkout, branch, source, or worktree mutation was performed. Snapshot is point-in-time; concurrently active branches may advance after readback.
Next: submit the bounded result and wait for root’s exact removal approvals.
Worker: document_title_semantics (cleanup inventory role)
Worktree/branch: root /Users/kayg/Developer/calternal-app on dev; read-only inventory complete
Result snapshot: 2026-09-13T19:23:38+0530. The registry remains 91 worktrees (82 clean, 9 dirty, 0 missing). No checkout, branch, source, or worktree was removed or mutated.
Baseline conclusion: local dev
d1795607is dirty and has no non-root clean ancestor worktrees. There is no central/dev ref; origin/dev is84de4235. Literal dev-based cleanup therefore has zero safe candidates.Conditional candidates against the protected active integration worktree wave14/editor-overnight-combined at
fb4c66d5: the following 12 paths are clean, their HEAD is an exact ancestor (merge-base equals HEAD), and central..HEAD is zero. Branch refs remain intact; each still requires root’s explicit approval before removal:bb8f321584d9e55b0b4c3276ec184bde59174114153d7c1fc87f67f5f32793bbc4a87a9a8979efebac03731f97086849Protected root-context worktrees verified: editor-overnight-combined clean
fb4c66d5; event-edit-date dirty6ca85fd2; editor-hover-margins dirty85117d15; english-transcription dirty 44cec67f; note-title-presentation dirty31d9f475; document-background-edge cleana1a8b163; image-preview-ownership-repair clean39915dabpending. Other dirty/unmerged paths remain retained: root dev, editor-block-drag, editor-list-enter-next, first-space-draft-transfer, image-preview-foundation-isolated. The 67 other clean worktrees are divergent/non-ancestor of the protected integration tip and remain retained pending owner/root review.Evidence: /tmp/calternal_issue19_inventory_20260913.tsv records one row per registered worktree with branch, registry/live HEAD, clean/dirty, ancestry flags, and protection marker. The final candidate check recorded central..HEAD=0 and merge-base equality for all 12 paths. Limits: this is point-in-time; active branches can advance after this readback.
Handoff: root may independently approve exact candidate paths; no deletion was attempted.
Root cleanup execution
Independently rechecked clean status and exact ancestry against integration
fb4c66d5, then removed 12 stale worktrees using git worktree remove without force. Branches/commits were retained. Removed: editor-asset-return-preview, editor-drag-integrated, editor-drop-list-preview, editor-finder-drop, editor-image-geometry-preview, editor-image-qa, editor-native-return-undo-repair, editor-nested-list-integrate, editor-pattern-preview, editor-preview-next, editor-undo-group-repair, sidebar-paste-preview-integration.Active and dirty/unmerged checkouts remain protected. Receipt: .agents/forgejo-backlog/worktree-removal-receipt.json. This is partial completion, not permission to discard the remaining work. Next: inspect equivalent/cherry-picked clean branches and retain any unique changes before further retirement.
Worker: document_title_semantics (patch-equivalence cleanup role)
Worktree/branch: repository root /Users/kayg/Developer/calternal-app on dev; central integration worktree is wave14/editor-overnight-combined at
37c5d40dState: root removed the prior 12 exact ancestors and preserved their branches. I am starting a read-only classification of remaining clean worktrees with git cherry/patch equivalence against
37c5d40d.Protected owners: prior active/pending worktrees from root context remain protected; new image-preview-integration and inspector-polish are protected at
37c5d40d.Next: identify clean all-minus patch-equivalent candidates versus branches with unique + patches, record actual branch/tip/owner evidence, and post only reversible candidates. No checkout, branch, source, or worktree deletion is authorized.
Worker
document_title_semantics, read-only follow-up. I captured one worktree registry snapshot and classified each live worktree withgit cherry -v <central> HEAD, using central integrationwave14/editor-overnight-combined@37c5d40de40a2d0b279aad8d13d6f68837533c2as the patch-equivalence reference. The rootdev@d1795607e574remains dirty (85 entries).Snapshot: 81 registered worktrees; 73 clean and 8 dirty. Cherry states: 35 all-minus (every branch commit patch-equivalent to central), 1 central tip, 2 no-commit deltas, 33 unique-plus, and 10 mixed. After excluding explicit active/protected lanes and any dirty or moving path, 32 clean all-minus worktrees are conditional next removal candidates. Every branch remains intact; no worktree or ref was removed or mutated.
Protected owner context is retained for
editor-overnight-combined,event-edit-date,editor-hover-margins,english-transcription,note-title-presentation,document-background-edge,image-preview-ownership-repair, newimage-preview-integration, newinspector-polish, and dirty retained laneseditor-block-drag,editor-list-enter-next,first-space-draft-transfer, andimage-preview-foundation-isolated. The complete bounded row-level evidence, including unique subjects that must remain available for integration, is at/tmp/calternal_issue19_patch_equivalence_20260913.tsvon the shared host. Exact conditional candidates follow in the result comment.Worker
document_title_semanticsresult: read-only patch-equivalence inventory against central37c5d40de40a2d0b279aad8d13d6f68837533c2. No removal, checkout, branch update, or source mutation was performed.Conditional next candidates (root approval still required). Each row is clean at this snapshot, registry/live HEAD matched, has no supplied active-owner protection marker, and every listed commit is
-undergit cherry -v central HEAD; branch refs remain preserved.central9c9-clipboard-crash—fix/central9c9-clipboard-crash@5ddaac344275;minus=1; Keep native editor test window ARC-owned through closeclipboard-body-undo-group—fix/clipboard-body-undo-group@73a372fd0d4a;minus=1; Group asynchronous body undo registration safelyeditor-asset-focus—wave12/editor-asset-focus@e386c89c1119;minus=1; Repair note asset insertion selection fencingeditor-block-drag-feedback—wave15/editor-block-drag-feedback@4738227f64c8;minus=1; Add native block drag feedbackeditor-drag-mounted-repair—wave15/editor-drag-mounted-repair@33a23deaea6e;minus=1; Align native block drag geometry checkseditor-formatting-tooltips—wave15/editor-formatting-tooltips@d95c8ee98420;minus=2; Describe editor formatting controls || Disambiguate formatting shortcut test metadataeditor-handle-overlay—(detached)@6a939496e3be;minus=3; Render block handle in native overlay view || Keep native handle overlay above text content || Avoid block handle overlay churneditor-handle-six-dot—wave15/editor-handle-six-dot@67174f629e7d;minus=1; Use native six-dot block handleeditor-hover-central—(detached)@866b61d9bee2;minus=2; Show native block handle for selected block fallback || Make selected handle fallback viewport awareeditor-hover-discoverability—(detached)@47074362aac8;minus=1; Make block handle hover discoverable from guttereditor-mode-commands—wave14/editor-mode-commands@e3ca92508c2f;minus=3; Expose explicit note editor mode commands || Keep rendered mode command available for raw notes || Keep imported images in standalone blockseditor-native-return-runtime-repair—wave12/editor-native-return-runtime-repair@2276bbdc3f22;minus=1; Repair native line-break and hidden list ID handlingeditor-nested-list-projection—wave14/editor-nested-list-projection@5d8b3912fd65;minus=1; Project nested list markers nativelyeditor-preview-prepare—(detached)@cdf60632054d;minus=1; Validate image paste menu routingeditor-rule-caret—wave14/editor-rule-caret@e233e5d1f46d;minus=1; Preserve atomic rule caret end affinityeditor-selectall-toolbar-perf—wave14/editor-selectall-toolbar-perf@74d45923ca4b;minus=1; Bound formatting toolbar select-all worknative-basic-paste—task/native-basic-paste@3edb2a7c2049;minus=7; Add basic native image paste dispatch || Cover bounded bitmap paste rejection || Correct hosted formatted paste range || Assert oversized paste preserves source || Expose formatted source replacement envelope || Test formatted source replacement mapping || Complete hosted clipboard rejection and TIFF supportnested-projection-handle-test-fix—wave14/nested-projection-handle-test-fix@77ae82f68208;minus=1; Isolate projection bitmap from editor handlenested-projection-runtime-fix—wave14/nested-projection-runtime-fix@bda3cef8e9a6;minus=1; Align nested projection tests with live viewport geometryrendered-image-clipboard-integration—integration/rendered-image-clipboard@397f264be688;minus=1; Call coordinated snapshot through Store IOsidebar-attachment-layout—wave15/sidebar-attachment-layout@17d775c479de;minus=1; Prevent sidebar attachment row overlapsidebar-attachment-overlap—wave14/sidebar-attachment-overlap@7487e1e902b1;minus=4; Separate sidebar row reuse by kind || Call coordinated snapshot through Store IO || Repair sidebar event move test compilation || Use set-based sidebar selections in testssidebar-event-day-dnd—wave14/sidebar-event-day-dnd@12347474e597;minus=1; Add transactional sidebar event movessidebar-event-preview-integration—wave14/sidebar-event-preview-integration@a0cac0e28d6e;minus=2; Repair sidebar event move test compilation || Use set-based sidebar selections in testssidebar-event-runtime-repair—wave14/sidebar-event-runtime-repair@68974d9cc3e8;minus=1; Repair event move runtime regressionssidebar-event-test-fixtures—wave14/sidebar-event-test-fixtures@f9c55eaf8213;minus=1; Use physical roots for event move fixturessidebar-initial-restoration—wave15/sidebar-initial-restoration@783500573685;minus=2; Invalidate sidebar heights after initial expansion || Cover sidebar persisted expansion selectionsidebar-live-layout—wave16/sidebar-live-layout@bb8e48b2e382;minus=1; Stabilize equal-size sidebar disclosure swapssidebar-prime-access—wave14/sidebar-prime-access@1379772e6ab2;minus=1; Expose sidebar drag priming to table setupsidebar-unselected-drag-v2—wave14/sidebar-unselected-drag-v2@d411ed665e76;minus=1; Defer sidebar event expansion during drag trackingsidebar-unselected-event-drag—wave14/sidebar-unselected-event-drag@1ff26b6d29e7;minus=1; Start event drag from unselected sidebar rowstitlebar-public-repair—wave15/titlebar-public-repair@f36e1e1a8748;minus=2; Revert "Clear rebuilt titlebar backing for translucent window" || Hide main window toolbar backing publiclyProtected/retained owner check:
document-background-edge—wave16/document-background-edge@a1a8b1631176; dirty=no; state=all-minus-equivalent;root-context active.editor-block-drag—wave14/editor-block-drag@05fefc988900; dirty=yes; state=mixed;dirty retained lane.editor-hover-margins—wave16/editor-hover-margins@cb9b7b85526f; dirty=no; state=all-minus-equivalent;root-context active.editor-list-enter-next—wave14/editor-list-enter-next@66c4af4aaddb; dirty=yes; state=all-minus-equivalent;dirty retained lane.editor-overnight-combined—wave14/editor-overnight-combined@37c5d40de40a; dirty=no; state=central-tip;central integration.english-transcription—wave16/english-transcription@464ed7e83d85; dirty=yes; state=unique-plus;root-context active.event-edit-date—wave16/event-edit-date@6ca85fd2d824; dirty=yes; state=no-commits;root-context active.first-space-draft-transfer—wave12/first-space-draft-transfer@a5d71c4c5713; dirty=yes; state=unique-plus;dirty retained lane.image-preview-foundation-isolated—wave15/image-preview-foundation-isolated@81654d9acec4; dirty=yes; state=no-commits;dirty retained lane.image-preview-integration—wave16/image-preview-integration@8af579cbae37; dirty=no; state=unique-plus;new protected lane.image-preview-ownership-repair—wave15/image-preview-ownership-repair@39915dabc31f; dirty=no; state=mixed;root-context active.inspector-polish—wave16/inspector-polish@d10f0cd349ec; dirty=no; state=unique-plus;new protected lane.note-title-presentation—wave16/note-title-presentation@71c2bc278c22; dirty=yes; state=unique-plus;root-context active.Unique or mixed clean lanes were retained for integration review. Highest unique counts in this snapshot:
cross-day-compile-repair—wave13/cross-day-compile-repair@f98ea493c925;plus=73, minus=4; docs: refine exact sidebar parent target plan || docs: bound parent target recovery evidence || docs: mark parent target plan approved || feat: persist exact composer parent targets || test: keep parent manifest fixture access explicit || fix: reject parent capture while voice retry is blocked || Harden parent draft cleanup and persistence || Harden parent draft cleanup ownership || Protect ordinary voice cleanup with origin receipt || Preserve recovery phase before ordinary receipt capture || Fix ordinary receipt type qualification || Expose read-only parent target fence || ...(+61 more)cross-day-reviewed-integration—wave12/cross-day-reviewed-integration@348eea4000cc;plus=71, minus=4; docs: refine exact sidebar parent target plan || docs: bound parent target recovery evidence || docs: mark parent target plan approved || feat: persist exact composer parent targets || test: keep parent manifest fixture access explicit || fix: reject parent capture while voice retry is blocked || Harden parent draft cleanup and persistence || Harden parent draft cleanup ownership || Protect ordinary voice cleanup with origin receipt || Preserve recovery phase before ordinary receipt capture || Fix ordinary receipt type qualification || Expose read-only parent target fence || ...(+59 more)event-move-descriptor-compile-fix—wave12/event-move-descriptor-compile-fix@55fb80398f1b;plus=24, minus=0; Add transactional batched event moves || Fence the event move read set || Report concurrent event move journal || Validate canonical event move paths || Constrain batched move outputs to Markdown || Scale transactional event moves with indexed read sets || Harden event move metadata and recovery fences || Cover event move fence regressions || Cover paged event move inventory scale || Fence index projections to stable source metadata || Cover index metadata read race fences || Strengthen event move scale page assertions || ...(+12 more)event-move-descriptor-scale—wave12/event-move-descriptor-scale@77f2e6c0ebd5;plus=23, minus=0; Add transactional batched event moves || Fence the event move read set || Report concurrent event move journal || Validate canonical event move paths || Constrain batched move outputs to Markdown || Scale transactional event moves with indexed read sets || Harden event move metadata and recovery fences || Cover event move fence regressions || Cover paged event move inventory scale || Fence index projections to stable source metadata || Cover index metadata read race fences || Strengthen event move scale page assertions || ...(+11 more)native-clipboard-contract—task/native-clipboard-contract@4dec9a2c71f9;plus=18, minus=0; Add native Markdown clipboard contract || Repair clipboard marker and resource rebasing || Refine clipboard metadata and paste staging || Fix clipboard rebasing and caret fidelity || Preserve canonical attachment targets when rebasing || Handle all canonical attachment clipboard references || Wire attachment rebase helper || Test canonical attachment clipboard rebasing || Cover multi-block clipboard metadata export || Fix clipboard rebase helper isolation and tests || Harden clipboard provenance path handling || Add session clipboard replacement coverage || ...(+6 more)editor-empty-marker-host-repro—wave14/editor-empty-marker-host-repro@79dc861166b5;plus=10, minus=1; Prove empty bullet marker rendering || Capture empty bullet paint evidence || Reproduce empty bullet in mounted note host || Refresh newly inserted empty list fragments || Cover empty numbered marker paint || Keep empty marker invalidation scoped || Observe live empty list fragment classification || Drive empty list probe through Return key || Match visible note Return fixture || Isolate layout fragment probe conformanceeditor-handle-render-diagnostic—(detached)@d17a8d1cd166;plus=8, minus=0; Instrument native block handle draw path || Lazily evaluate handle diagnostics || Fix lazy handle diagnostic logging || Diagnose block handle raster visibility || Isolate diagnostic handle fill graphics state || Fix diagnostic symbol size logging || Avoid disabled diagnostic formatting || Use AppKit magenta diagnostic colorimage-preview-ownership-repair—wave15/image-preview-ownership-repair@39915dabc31f;plus=8, minus=1; Integrate image Quick Look through editor responder chain || Tighten image hit testing and Quick Look retargeting || Repair native image preview targeting || Match Quick Look Swift 6 SDK isolation || Make Quick Look preview items sendable || Isolate Quick Look controller teardown || Make Quick Look ownership lifecycle testable || Release Quick Look panel ownership synchronouslyeditor-empty-marker-probe—wave14/editor-empty-marker-probe@bded2b644854;plus=7, minus=1; Prove empty bullet marker rendering || Capture empty bullet paint evidence || Reproduce empty bullet in mounted note host || Observe live empty list fragment classification || Drive empty list probe through Return key || Match visible note Return fixture || Isolate layout fragment probe conformanceeditor-code-performance-preview—wave13/editor-code-performance-preview@d4c3f618eaab;plus=6, minus=1; Polish native fenced code presentation || Preserve trailing unclosed code lines || Strip fenced code anchors from copy || Speed up plain inline projection || Resolve editor code surface colors with AppKit appearance || Keep code adornment drawing on main actorThe full bounded TSV (all 81 rows, branch/tip, registry-vs-live movement check, clean/dirty, protection marker, cherry counts, and bounded unique/equivalent subjects) is
/tmp/calternal_issue19_patch_equivalence_20260913.tsvon the shared host. This is a point-in-time owner/status check; root should recheck exact paths immediately before any reversiblegit worktree removeand keep the listed refs.Small artifact correction: the shared TSV now marks the root
devrow (d1795607e574, dirty with 85 entries) asroot active checkoutin its owner/protection column. It was already excluded from candidates by its dirty state and was called out in the status comment; the 32 candidate paths and cherry counts are unchanged. No repository or worktree state changed.Root cleanup execution: removed 32 additional stale checkouts, following the 12 previously removed. Each was freshly checked clean, at its inventoried HEAD, and patch-equivalent to current integration (git cherry contained only minus entries). No force removal was used; all branch refs remain intact. Active and unique-change worktrees were retained.
Receipt:
.agents/forgejo-backlog/worktree-equivalent-removal-receipt.json.Removed checkouts:
Issue remains open while retained unique/dirty branches need separate reconciliation; no data-loss or blanket all-cleanup claim.
Root read-only commit/push audit requested by user. Latest launched revision
da644b0467is committed on clean wave14/editor-overnight-combined. Fresh HTTPS git ls-remote reports remote dev84de423571463f6b985b4cdb17a486995d83699f and no wave14/editor-overnight-combined branch. Git rev-list remote-dev...da644 =0 remote-only /545 local-only commits. Configured SSH remote read fails Permission denied(publickey); HTTPS read succeeded, no push attempted. Main devcheckout remains conflicted (NoteEditorHost.swift, NoteEditorSession.swift, NoteEditorSessionTests.swift), modified AGENTS/ledgers and untracked evidence. Not everything is committed or pushed. Blanket worktree deletion is unsafe. Dedicated QA worktree audit is checking each checkout and posting #19. No deletion, reset, merge or push authorized by this status question was performed.QA / local-worktree audit — state: completed read-only snapshot; owner worktree:
/Users/kayg/Developer/calternal-app(dev, currently dirty/conflicted). No deletion, mutation, push, build, or GUI check was performed.Observed 63 registered worktrees: 53 clean, 10 dirty, and 6 detached. The root is not retirement-safe: 6 tracked changes, including unresolved conflicts in
App/Sources/Notes/NoteEditorHost.swift,App/Sources/Notes/NoteEditorSession.swift, andApp/Tests/NoteEditorSessionTests.swift, plus 24,499 untracked files excluding this audit's files. Other dirty worktrees: cross-event-drop (8 records), editor-block-drag (Package.resolved), editor-caret-relocation-perf (9 records), editor-list-enter-next (Package.resolved), english-transcription (Package.resolved), first-space-draft-transfer (3 tracked Composer source/test edits), image-preview-dispatch-repair (1 record), image-preview-foundation-isolated (1 tracked editor source edit), note-title-presentation (Package.resolved).Of six detached HEADs, three have no local or remote branch containing their commit:
editor-handle-diagnostic,editor-handle-geometry, andeditor-handle-render-diagnostic; preserve or explicitly abandon them before removal.HEAD-ancestor-of integration commitda644b0467a96a9d74e199592b6a56f7e7f9c318was yes for 5 and no for 58 worktrees. This lineage check does not prove changes were not integrated, because cherry-picks may exist.Candidate/report:
.agents/worktree-retirement/20260914-audit/audit.md; full per-worktree table:worktree-status.tsv; detached reachability:detached-reachability.tsv; exact command-output copies:/tmp/qa-runs/20260914-audit/. Next action: root decides preservation/integration of dirty and unreferenced detached worktrees; no blanket cleanup is supported.QA / local retirement-blocker classification — completed read-only; owner worktree:
/Users/kayg/Developer/calternal-app(dev, conflicted). No delete/reset/merge/push/source edit/build/GUI action occurred.Priority to finish or preserve: (1) root conflict state:
NoteEditorHost.swift,NoteEditorSession.swift, andNoteEditorSessionTests.swifthave unresolved index conflicts; root also has 24,499 untracked files excluding audit files, deliberately not enumerated to avoid possible private-vault material. (2)first-space-draft-transfer: 3 tracked Composer source/test files, 3,521 insertions / 387 deletions — substantial productive work; preserve and review/finish. (3)image-preview-foundation-isolated: trackedEditorImageQuickLookController.swift, 102 insertions / 27 deletions — preserve and review/finish.Detached/unreferenced commits:
editor-handle-geometrycontains gutter/geometry work plus gated diagnostics and warrants targeted comparison before abandonment.editor-handle-diagnosticandeditor-handle-render-diagnosticare diagnostic chains (instrumentation/raster visibility/diagnostic color), not independently shippable work.git cherry -v da644… HEADfound no patch-equivalent commits at the stated integration endpoint for any chain. Later dev history has handle gutter/geometry changes, so geometry supersession is plausible but not proven.The remaining dirty state is
.agentsevidence only (cross-event-drop, editor-caret-relocation-perf, image-preview-dispatch-repair) orPackage.resolvedonly (editor-block-drag, editor-list-enter-next, english-transcription, note-title-presentation). Preserve/record evidence and verify dependency artifacts; no uncommitted product source needs finishing there.Evidence:
.agents/worktree-retirement/20260914-audit/importance-classification.md; command outputs are in/tmp/qa-runs/20260914-audit/(first-space-source-diff.txt,image-preview-source-diff.txt,root-conflict-state-detail.txt,untracked-type-summary.txt,detached-commit-equivalence.txt). No blanket cleanup is supported.QA / refreshed local stale-worktree eligibility — read-only; no removal performed. Against integration
1d8f4adf5221b6fcc606c1f48c3f395d43bb3046, exactly three of 63 registered worktrees are structurally eligible for a separately authorizedgit worktree remove: clean, unlocked, HEAD ancestral to the integration commit, and neither root nor current integration checkout.Candidates with proof:
build-f294-fallback(f2941e…, detached),editor-final-combined(68885f…, wave16/editor-final-combined), andeditor-structural-combined(5f8dd69…, wave16/editor-structural-combined). For each,git status --porcelain=v1 --untracked-files=allwas empty andgit merge-base --is-ancestor HEAD 1d8f4adf…succeeded. No worktree is locked.The other 60 remain protected/ineligible. This includes the root/current integration checkout, all dirty checkouts, non-ancestor clean branches, and the three unreferenced detached handle worktrees. Important unfinished priorities remain root conflicts,
first-space-draft-transfer,image-preview-foundation-isolated, and the handle-geometry decision. Report/table:.agents/worktree-retirement/20260914-audit/removal-eligibility-1d8f4adf.mdandremoval-eligibility-1d8f4adf.tsv; outputs:/tmp/qa-runs/20260914-audit/.GitHub dev push verified
GitHub remote dev now resolves to
1d8f4adf52, matching Forgejo. Push was a normal new-branch push with no history rewrite. Removed three clean fully integrated checkouts using git worktree remove without force: build-f294-fallback, editor-final-combined, editor-structural-combined. Branches/commits were not deleted. Remaining cleanup audit distinguishes preserving commits on branches from keeping redundant checkout directories. Dirty Composer/Quick Look candidates are being compared against latest integration for actual unique behavior.QA / read-only review of
/tmp/calternal-sensitive-audit/clean-retirement-plan.json: pass for removing the 44 listed checkouts while retaining every named branch. No removal was performed by QA.Validation result: 44 plan entries, 44 pass, 0 fail. Every listed path remains registered; its current symbolic branch equals the plan branch; that branch still resolves to the exact planned HEAD; and
git status --porcelain=v1 --untracked-files=allis empty. The plan excludes root, current integration, dirty worktrees, and detached worktrees. Keeping the branch refs preserves every committed unmerged tip when the checkout directory is removed.Only additional deletion surface: ignored generated outputs.
editor-viewport-polishcontains ignoredApp/Calternal.xcodeproj/andApp/build/;event-attachment-dropcontains ignoredApp/Calternal.xcodeproj/. These are generated XcodeGen/build outputs under project workflow. Preserve them first only if manually edited; otherwise they are reproducible. Recheck immediately before removal and do not use force.Evidence:
.agents/worktree-retirement/20260914-audit/clean-retirement-plan-review.mdandclean-retirement-plan-validation.tsv; command outputs:/tmp/qa-runs/20260914-audit/.Checkout retirement completed
Removed 47 stale clean worktree directories total: 3 fully integrated checkouts plus 44 clean checkouts backed by named branches. Each branch-backed checkout was rechecked immediately before removal, no force flag was used, and all 44 recorded branch refs still resolve to their exact prior commit afterward. No branches or commits were deleted. 16 registered worktrees remain, including active integration, conflicted root, dirty/evidence-bearing checkouts and detached investigations. Detailed receipts are in .agents/worktree-retirement/20260914-audit/clean-retirement-results.json. Targeted comparison of old Composer/Quick Look work against current integration is still pending. GitHub and Forgejo dev both verified at
1d8f4adf.Worker: unfinished_work_comparison (read-only cleanup classification)
Worktree/branch: repository root /Users/kayg/Developer/calternal-app; compared dirty
wave12/first-space-draft-transfer(.worktrees/first-space-draft-transfer, HEADa5d71c4c5713) and dirtywave15/image-preview-foundation-isolated(.worktrees/image-preview-foundation-isolated, HEAD81654d9acec) against protectedwave14/editor-overnight-combined(.worktrees/editor-overnight-combined, HEAD1d8f4adf522).State: comparison complete. No source edits, checkout, worktree deletion, branch/ref mutation, build, or push.
Findings and recommendation:
first-space-draft-transfer: preserve/finish. The three tracked dirty files contain536+/28-(ComposerModel.swift),2817+/359-(DraftStore.swift), and168+/0-(ComposerSpaceTransferTests.swift), for3521+/387-total. Latest integration has noComposerParentTarget,ComposerDraftTransfer,prepareSpaceTransfer, orpublishSpaceTransfersymbols. Across local branch refs, onlyrefs/heads/wave12/first-space-draft-transfercontains the producer transfer API; the cross-day branches contain the shared parent-target foundation but no producer transfer API. The dirty additions implement transfer mutation fencing, destination/source receipts and attestations, quarantine/rollback/finalization phases, and three post-CAS/finalization adversarial tests. This is unique uncommitted producer-transfer work, so do not retire this dirty checkout until the feature is reviewed/integrated or explicitly abandoned.image-preview-foundation-isolated: superseded. The dirtyEditorImageQuickLookController.swifthashes to9d1e5b9b, exactly the historical196dacac(“Fix Quick Look responder ownership”) blob. The integration blob is8dbc7040and is the later integrated implementation (via8d6e28cband35e20ac2); commit81654d9aitself is already an ancestor of1d8f4adf. Integration call sites still requirePresentationResult,acceptsControl(of:),beginControl(of:), andendControl(of:)(BlockEditorView.swiftlines 424, 1341, 1351, 1355, 1359), while the dirty file removes those APIs and switches tosharedPreviewPanel()/direct self ownership. The dirty file is therefore an earlier incompatible implementation, not unique unfinished work. Its branch commit is retained in integration history; after a fresh status check, this dirty edit/worktree is a cleanup candidate, with no need to finish this file.Validation/evidence:
git status --short,git diff --numstat,git hash-object,git show <commit>:<path>,git grepover refs,git merge-base --is-ancestor, and direct source/API comparison. No compile/runtime validation was run; this classification is source/history-only. Next action: root should preserve/review the first-space dirty lane and separately recheck/retire the superseded image dirty lane while retaining branch refs.Final targeted comparison and cleanup
first-space-draft-transfer contains unique unfinished Composer draft transfer implementation: latest integration lacks ComposerDraftTransfer, prepareSpaceTransfer and publishSpaceTransfer. Preserve for focused review/finishing, not blanket deletion.
image-preview-foundation-isolated dirty QuickLook file is superseded: independently verified byte equality with historical
196dacac. Preserved its exact diff in .agents/worktree-retirement/20260914-audit/image-preview-foundation-isolated-preserved.patch (SHA256 96733bb9b66ea99fb6362e8ffc2909ad34f85cbe0d16a919aa9f4bf5263f56ed), restored only that superseded file, verified clean status and removed the checkout without force. Branch remains. Total removed now 48, registered worktrees remaining 15. Root conflicts, unique Composer work, detached investigations and other dirty/evidence worktrees remain preserved. Both remotes dev verified at1d8f4adf52.QA / bounded branch preservation inventory completed, read-only. Scope is the 63 originally audited worktrees plus detached heads, not all 349 local branches. Existing issues were reused; no historical branch issues were created.
Against integration
1d8f4adf…: 5 integrated by exact ancestry, 10 WIP, 48 unknown, and 0 asserted superseded. The exact 53 named non-integrated refs that need remote preservation are listed in.agents/worktree-retirement/20260914-audit/preserved-refs-needing-push.tsv; this includesdevand excludes unrelated experimental refs. Full branch → issue → status mapping:audited-worktree-branch-issue-inventory.tsv. Mapping is #1 dates/events, #3/#17 block/list work, #4 handle geometry (and detached geometry/diagnostics), #5 titles, #6 chrome, #7 voice, #9 code blocks, #10 inspector, #11 image preview, #12 image controls, #13 performance, #14 flicker/chrome runtime, #15 attachments/clipboard, #16 sidebar drag, #20 umbrella.Important protection gap: detached
editor-handle-diagnostic,editor-handle-geometry, andeditor-handle-render-diagnostichave no containing local or remote branch. They cannot be saved by pushing an existing ref; create named preservation refs before any cleanup. Detachededitor-hr-leaf-fixand external87aalikewise need explicit reachability decisions. Remote branches preserve committed tips only; root conflicts/WIP changes remain owner work.Evidence/report:
.agents/worktree-retirement/20260914-audit/audited-worktree-branch-issue-inventory.mdand JSON counterpart; raw command outputs under/tmp/qa-runs/20260914-audit/.QA correction to the prior inventory: the detached preservation refs now exist locally. Scoped push set is 59 refs: the 53 original-audit named non-integrated refs in
preserved-refs-needing-push.tsv(includingdevand Composerwave12/first-space-draft-transfer@8356e043…), pluscodex/wip/root-conflict-snapshot-20260914@8ff8d38c…, and five detached preservation refs:codex/wip/editor-handle-diagnostic-20260914,codex/wip/editor-handle-geometry-20260914,codex/wip/editor-handle-render-diagnostic-20260914,codex/wip/editor-hr-leaf-fix-20260914, andcodex/wip/detached-87aa-20260914.The root snapshot resolves to
8ff8d38c…in the current repository. Detached geometry/diagnostics remain mapped to #4/#3. This is preservation only, not a completion/integration claim. Evidence:.agents/worktree-retirement/20260914-audit/scoped-push-set-20260914.mdandscoped-push-ref-verification.txt.Final remote preservation receipt
58 preservation refs verified at exact hashes on both Forgejo and GitHub. This replaces the earlier 59-ref proposal: local dev was deliberately excluded because its conflicted checkout points behind the already-pushed integration. Both remote dev refs remain
1d8f4adf. Root snapshot and Composer WIP captured tracked changes; untracked local evidence/build artifacts were not included.codex/wip/detached-87aa-20260914969d6bfdfd4424d6087cea13d27737362cb46bf3codex/wip/editor-handle-diagnostic-20260914a4a34c7401bdca2c0e2ab10db58d71087d16df95codex/wip/editor-handle-geometry-202609145aac728b2fb3e2e1d77b2881ba2036a3d22d0196codex/wip/editor-handle-render-diagnostic-20260914d17a8d1cd16670082ce89a0617525d345b8307b3codex/wip/editor-hr-leaf-fix-202609146450f21ea42f84a71f0917f2edc2d58aac0b3899codex/wip/root-conflict-snapshot-202609148ff8d38cd91a587bb778e199ca253c6822ce40a7diagnostic/clipboard-insertion-491e187ac0d36e9807ad49a2bfdcd0e2f4f4594b96ddiagnostic/clipboard-phase-0225a0885d5209be7fed77439124c094f682eb4292e0diagnostic/sidebar-unselected-drag-trace614a95776b258bd251c8149d8ea4b286f2101ff0fix/clipboard-task-ownership-6318b073493c6a2fd9c4a6f877c14035cbe88052b3aafix/editor-resource-url-invalidation4d996fc2d46f348856d585376a2109e54964add1task/native-clipboard-contract4dec9a2c71f9e9dd2113dc9bfdd000c8e0e29716task/rendered-image-clipboard7c79361150b3b02c1622ab1535db11730b84c874wave12/craft-code-block-polish82d98e18af8f112f4c3ee44ef3859a45fa35b36bwave12/cross-day-reviewed-integration348eea4000ccb8a3218fbd201c652d1fb89de97fwave12/editor-top-chrome203b1b2475c5bf758b605969196191c0a88dcd57wave12/editor-viewport-polishf0186c5e83f3979dfc7d14448bbff657460e1f43wave12/event-move-descriptor-compile-fix55fb80398f1b992f78dbce2c60d9b288cd3d9809wave12/event-move-descriptor-scale77f2e6c0ebd57efc65691f65117b2e574a800075wave12/first-space-draft-transfer8356e0434d9dee2dfa0818ca2066f535dde8d540wave12/optional-voice-provider-finish27c139e2f03057bf0ed3a8690f60e066f0a89aacwave12/voice-polish-preview2b2892ce86d37acfb13ecb9be2112b102f58b56awave13/cross-day-compile-repairf98ea493c925e4fcecfb4c2739bd945d143f557ewave13/editor-chrome-runtime-repair7c049cd14fde0797452459399a6a93c772f089f0wave13/editor-code-performance-previewd4c3f618eaabbee42afd9eb5a55ac8ef54ee63c8wave13/editor-inline-fast-path6184226830e6494c32f25d91d2f75d1ddbf8a41awave13/spotlight-retry4e87d8297a848eddb01962d4bcab65e7e87fd4e6wave14/editor-block-drag05fefc98890003a4d14ff297d4ead459deca0538wave14/editor-empty-marker-host-repro79dc861166b57a70a29e6591c1dc1effbd4f7a82wave14/editor-empty-marker-map-publicationc2dcd6d05e22d0ef39b9da8d9e37fa95ec03e2bewave14/editor-empty-marker-painte32565510ac13063a5c72994ce0db16dae7ac355wave14/editor-empty-marker-preview10d6af95f1fe4d786c6c7423d4154bc9e39a2bcewave14/editor-empty-marker-probebded2b644854c65f4e1c4dfbaeedf30302b19f34wave14/editor-empty-marker-runtime-diagbf946ddd7a0c9b0e89e73dc6cc85f1461228b9e4wave14/editor-list-enter-next66c4af4aaddb3b09f7366211d48d4533d8b08cf6wave14/editor-list-handle-integrated3441a34263f24aab2c4a8142db103ca1cd8ee3e6wave14/editor-list-keyboard-audit846a9c768425e2bec809063aae09c3dd6f16ba78wave14/event-attachment-dropdbaf3e55ec3df576beaa33efa29e2d9654f942c5wave14/sidebar-overlap-repairb5577a48ec39870275bc660ad9511f80b237909awave15/image-preview-ownership-repair39915dabc31ffbc2298be53890181e66650090bdwave16/code-block-polishab06083da3fd7e98870310e5999b812263b7db17wave16/document-background-edgea1a8b1631176ead55b72b5d8ea2a928c2c5db5f5wave16/editor-caret-relocation-perf51628eb92208b8e980acf0ddca91d5a328397c52wave16/editor-hover-marginsdb0b1f203dbe7c329c078b5d5fd49bdc5e938761wave16/editor-list-refinementseeed031a28cbae672de108d70738c6c89f19584ewave16/english-transcription464ed7e83d85ce88c3a43e49bd4de4a5d3ed1404wave16/event-edit-dateabcd17f50f7cb7c0d4f5ac72bb215a0bd36b8c1fwave16/event-title-crash-control19b00ba6dbb658c63a2ccea9a345c0a17fd7c04awave16/event-title-lifecycle-qaf90751c4dae41b6a213b230659a6067ce67f1d5dwave16/image-controlsb5af68672acbd7f5523d47b244c3553d15cde968wave16/image-preview-dispatch-repaira5075e5a4d9ca6b78c3ff81974cb3e27a329ddc7wave16/image-preview-integration8af579cbae37dcbd797ce44d472188341d715d8fwave16/inspector-polishea36484bb7e59b2324131056de8ffa98289719a5wave16/note-title-presentation3817c269c524898647b8265ac8755a2c22d4b359wave17/cross-event-drop1fb74e9267f880ea35d7c18dffefada6cc6ed306wave17/editor-diagnostics-3bbbe7a45d7ce1c7302a1513f91745a0e865ff1a5d2cwave17/editor-layout-correctionc23cca0963df2cdb260bb14700dc54b0c30afc4dwave18/document-chrome-repaira969f8efc719a046e98be86470b06c1a85836b0cMaster #20 contains verified clone and resume instructions.
Broader local-deletion audit — 2026-09-14
User asked whether all local Calternal files can be deleted. Answer remains no: code branch preservation is not full filesystem backup. Broader audit found 517 older local-branch-only commits beyond the scoped 58-worktree-branch handoff. Pushed an additional296 branch refs to each remote without force and verified exact hashes. Fresh fetch plus git rev-list --branches --not --remotes --count now returns0.
Local-only categories remain: approximately9.4GB .agents evidence/scripts/build/archive material, untracked worktree files, Codex internal turn-diff tree refs, real Documents/Calternal vault, Application Support/Calternal and sandbox container data. No claim that these are backed up remotely. No local files deleted in this audit. Build-account source/artifact audit pending. Do not delete user vault or application data as build cleanup.
QA / read-only build-account local-storage audit. No build, launch, deletion, Git mutation, or vault-content inspection occurred.
Result: do not treat all Calternal material on
agents@mbpas proven disposable yet./Users/agents/Developer/calternal-apple(about 543 MB) and at least 98 directories under/Users/agents/Developer/Worktrees(about 57 GB, with permission-limited lower-bound sizing) are source-shaped copies: they containPackage.swift,Sources,Tests, and oftenApp, but no top-level.gitmetadata was found. They are likely rsync/build mirrors, not verifiable Git worktrees. Without Git metadata, a bounded audit cannot establish whether their source differs from pushed refs without a content comparison/snapshot, which was intentionally not performed.Clearly rebuildable categories:
/Users/Shared/CalternalBuilds(about 285 MB, revision-named build bundles) and much of/Users/agents/Developer/BuildOnly(about 30 GB, release wrappers, package/hosted-test directories, VM runtime evidence). BuildOnly still includes standalone helper scripts and evidence, so it is not proven wholly disposable if those scripts/logs are valued.There were permission-denied paths in active Xcode intermediate/runtime directories, so reported sizes are lower bounds and inspection coverage is incomplete. Evidence:
/tmp/qa-runs/20260914-build-account-local-audit/.QA / authorized build-account cleanup result: blocked by account permissions after archival; no target was deleted.
Completed first: created and verified
/Users/agents/Developer/CalternalCleanupArchive-20260914/source-config-helper.tar.gz(986 MB). It excludes generated build/dependency/binary paths, contains source/config/helper preservation material from 93 confirmed Calternal source mirrors plus BuildOnly helpers, and has SHA-256a384102161b2bf90c2207f051b9d88da4bcab876ad0df0a0dce3f68b73914240; target manifest hash60e9b700d7a3237c56ed6802b5ff044c1c04f271d495d5c8c4c4cf95c5c92a31.Deletion set was exact and bounded: 148 confirmed Calternal targets across
calternal-apple, Calternal-markedWorktreeschildren, Calternal-marked BuildOnly entries, and/Users/Shared/CalternalBuilds; Mailternal and unknown siblings were excluded. No active xcodebuild/swift-build/swift-test/xcodegen process was found.Blocker:
agents@mbpSSH authentication failed (too many authentication failures). The local environment auto-rejected the exactrm -rfcommand; recoverable/usr/bin/trashwas attempted for every validated target but every attempt failed with NSCocoa access error 513 / insufficient privilege because the targets are owned byagents. Therefore actual deletions: 0. Available disk changed from 15,300,800 KB to 15,300,096 KB because the archive was created; no space was freed. Evidence:/tmp/qa-runs/20260914-build-account-local-audit/includingtrash-removal.log, archive verification, and target manifest.Authorized build cleanup completed — 2026-09-14
Removed all14 remaining secondary Calternal Git worktrees on kayg account after verifying remote HEAD preservation. Archived and verified all22 untracked issue notes/lockfiles first. Main root repository/index/conflict state retained unchanged.
Local generated cleanup removed185 build/runtime/cache targets and193 source archives after verifying every archive member blob is reachable from remote Git history; reconstruction manifests retained. Remaining23081 untracked source/evidence files were archived, verified and removed from the working repository. Local .agents reduced from9.4GB to360KB; .build removed. Compact evidence/source archive is /Users/kayg/Developer/CalternalCleanupArchive-20260914/local-source-evidence.tar.gz (about1.3GB); companion manifests and worktree-untracked.tar.gz retained there. The remaining .worktrees directory contains unrelated Mailternal material and was intentionally retained.
Build account: preserved and verified source/config/helpers in /Users/agents/Developer/CalternalCleanupArchive-20260914/source-config-helper.tar.gz (about986MB). Moved148 individually confirmed Calternal mirrors/build targets to macOS Trash using the authenticated agents account via the established SSH relay. All148 original target paths are absent. Mailternal and unknown sibling paths were excluded. This includes the Calternal build mirror and Shared/CalternalBuilds. Trash is recoverable and still consumes disk until emptied; no claim of reclaimed build-account disk space.
The earlier bulk rm command was automatically rejected with “rm -f style commands are not permitted. Use a safer approach”. Cleanup completed using macOS Trash under the correct owner; there is no remaining permissions blocker for these148targets.
Protected: real vault, Application Support data, sandbox container, installed Calternal.app and main Git repository all left untouched. User data was neither archived nor deleted by this cleanup. Root real index hash remains unchanged. Only root remains registered as a Calternal worktree. Build/evidence links in older issue comments may now point to retired paths; use preserved archives or regenerate artifacts before new acceptance claims.