Skip to content

docs: prune the shipped entries from TODOS.md - #406

Merged
joelmoss merged 2 commits into
masterfrom
docs/prune-todos
Oct 10, 2026
Merged

joelmoss merged 2 commits into
masterfrom
docs/prune-todos

Conversation

@joelmoss

Copy link
Copy Markdown
Owner

Summary

PR 4 of the docs and repo hygiene lane of the architecture cleanup plan (phase 1: prune TODOS.md).

TODOS.md had 104 entries. Each one was checked against git history, merged PRs, closed issues and the current code (not against the entry's own FIXED or SHIPPED label). 21 entries whose work has shipped, or whose code is gone, are removed; the file goes from 331K to 254K. Full write-ups of the removed entries stay in git history. The P1 entry "Finish removing base machines" is kept untouched. The empty P3 — CLI heading went with its two entries. The Recently done section is untouched.

Kept although shipped (11). Source comments, tests, macapp/project.yml or macapp/AGENTS.md still cite these entries by title. The Swift and YAML comments belong to other lanes, so these stay until those comments move: "Bump the libghostty pin"; "Bundled ghostty resources — provenance recorded, nothing to regenerate"; ".task(id:) cancellation is not reliably delivered on an in-place value swap — measured 2"; "N-in-flight concurrency accounting test for status sweeps — Muxy test-practices review fol"; "Repo-level meta-test for Makefile/CI test invariants"; "Git diff shows one side when a file is both staged and re-modified"; "Profile and fix the theme picker's invalidation storm"; "Stopped run-tab silently closes instead of warning when its command is cleared — #127 foll"; "Status-aware avatar image loader"; "FilesPanel renders up to 4000 rows eagerly"; "Focus-responder App Hang on a large diff — WORKROOM-2T".

Partly shipped, kept whole (7). "Credential broker clients: the review's deferred items — #251 review follow-up"; "Bump the libghostty pin again — package 1.5.20260903 / ghostty c4e16970"; "VCS write actions — Phase 2 — roadmap pointer"; "Agent-routed VCS writes: the findings the /review pass didn't fix — issue #205"; "The ✦ diagnosis badge was unreachable to accessibility"; "Consolidate terminal focus authority — focus-desync follow-up"; "WindowDragUITests.testDraggingWorkroomTabReordersTwoChips is a known gesture-timing flak". Trimming them to the open remainder is a judgement call left for you.

Issue links. Only one remaining entry has an issue of its own ("Tab-hover live mini-preview", #137, closed), so it now carries **Issue:** #137. Most entries cite a closed parent issue they follow up, which is not an issue for the work itself. I have not filed anything: the 82 remaining entries with no issue of their own are listed below for you to decide.

Removed entries and the evidence

Entry Evidence
exe.dev VMs a crash leaves unrecorded — #259 eng review, with #373 95f63d7 "fix(macapp): sweep boxd and exe.dev machines a crashed create left running (#373)"; PR #385 merged 2026-10-09T11:02:30Z; issue #373 CLOSED 2026-10-09T11:02:31Z. Code: ExeDevHostDriver.swift:125 PendingMachines.add (wri...
workroom-session daemon: the findings the /review pass didn't fix — persist-sessions f 9ce6201 "refactor(macapp): workroom-session becomes attach-only, so an update cannot strand a live terminal (#192)" deleted macapp/WorkroomSession/SessionDaemon.swift and SessionPTY.swift (git log --diff-filter=D); PR #192 merged...
Wire native selection_changed notification c5abcfe "feat(macapp): wire native selection_changed for VoiceOver" (2026-09-02). Code: GhosttyRuntimeAdapter.swift:130 case GHOSTTY_ACTION_SELECTION_CHANGED, GhosttySurfaceView.swift:1212 func handleSelectionChanged() with `...
The audit 0729635 2026-09-02 fix(macapp): guard the diff pane against a stale load overwriting a newer file (adds DiffViewerStaleLoadTests.swift, guards in DiffViewer/PlainFileViewer/ChangesetDetailView/HistoryPanel). Verified in tree: Dif...
withTimeout doesn't observe the CALLER's own cancellation e94a91d 2026-08-13 fix(macapp): withTimeout now observes the caller's own ca... Tree: macapp/WorkroomApp/Core/Timeout.swift:32 withTaskCancellationHandler + TimeoutCancelBox, VCSCancellationError (:59); WorkroomStatusResolver.swi...
VCS toolbar: the findings the /review pass didn't fix Entry says "Priority: done. Everything in this list has shipped". Verified in tree: (1) empty remote: macapp/WorkroomApp/Core/VCSWriting.swift:1234 mergeRemotes, d9d8dd5 2026-08-01 fix(macapp): read remotes from config, not from ...
Four UI tests fail on the parent branch too: synthesized drags and the editor menu — #211 Issue #269 closed 2026-09-30 (the same four tests, listed in the "Twelve UI tests" entry). PR #272 merged 2026-09-30 "fix(macapp): drive UI-test drags with click(forDuration:thenDragTo:)" = commit 36608f5 "drive UI-test drags wit...
The other CommandResult consumers don't know about signaled — gh-flap eng-review follo Commit aa3ae91 (2026-08-10) "fix(cli,macapp): close v2 GA bug/polish findings from VCS-foundation..." introduced the AgentRunner and FileTreeModel branches. Code: AgentRunner.swift:104 case interrupted, :149 `if result.signaled...
VCSToolVersionCache pins a tool verdict for the whole process — gh-flap follow-up Commit aa3ae91 (2026-08-10) "fix(cli,macapp): close v2 GA bug/polish findings from VCS-foundation..." (first adds belowFloorTTL to VCSToolVersions.swift). Code: VCSToolVersions.swift:139 actor VCSToolVersionCache, :162 `init(...
Unify workingStatus onto the VCSProviding protocol — VCS-foundation follow-up PR #185 merged 2026-09-13 "refactor(macapp): put workingStatus on VCSProviding, where the others already are" = commit 83fb9e1; follow-up 4a0f2ae "drop the unused status alias (#185 review)". Code: VCSProviding.swift:42 `func wo...
Twelve UI tests fail on a developer Mac, and CI never runs them — found cutting v2.1.0 Issue #269 closed 2026-09-30 (same title). PR #271 merged 2026-09-30 "fix(macapp): scroll a Changes row into view before a UI test clicks it" = commit 55b6440 (+ 9b38329); PR #272 merged 2026-09-30 "fix(macapp): drive UI-test dr...
flagsChanged threw an ObjC exception on every modifier press Commit 72d1bdf (2026-09-02) "fix(macapp): stop flagsChanged throwing on every modifier..." Code: GhosttySurfaceView.swift:1516-1518 static func unshiftedCodepoint(for:) with `guard event.type == .keyDown // event.type == .keyUp...
Two split paths still bypass the pane floor — pane-min-width follow-up c9928cf fix(macapp): apply the pane floor to workroom split drops (2026-09-02); 841d609 fix(macapp): stop previewing a workroom drop the pane floor will refuse (2026-09-02); 84754cf fix(macapp): apply the pane floor to content ...
Pane-footer truncation is manual-verify only — #136 follow-up 96e7d56 feat(macapp): give every detail panel its own title bar (#150) (2026-09-11) removed TerminalStatusBar.pathSegment (git log -S'pathSegment' -- TerminalStatusBar.swift shows only 5e26fbd adding it and 96e7d56 removing it)...
Deferred UI workflow tests ed68424 test(macapp): add the two deferred notification-path workflow tests (2026-08-13); WorkroomWorkflowUITests.swift:297 testLiveNotificationBadgeAppearsAndClickNavigatesToTheRightTerminal; AppStoreDeleteRaceTests.swift:237 te...
ChangedFileRowInvalidationTests flaked only inside the full serial app-test run 5e50f31 fix(macapp): close cross-launch state leaks and geometry gaps in UI tests (2026-08-12); ChangedFileOpenTests.swift:98,106 defer { restoreFilePathEditor(original) } and helper at :117 drains the run loop (0.05s) after rest...
SessionByteQueue's wouldBlock path has no dedicated test df7edc1 test(session-daemon): cover SessionByteQueue's wouldBlock path (2026-08-16); tests now at macapp/Packages/WorkroomWire/Tests/WorkroomWireTests/SessionByteQueueTests.swift:45 testDrainReportsWouldBlockThenFinishesOnceTheRe...
App hangs are fingerprinted client-side 1e70e27 fix(macapp): an app hang has one in-app frame, so every hang was one issue (2026-09-15); SentryConfig.swift:56-58 beforeSend hook and :104-113 appHangFingerprint(for:) / appHangFingerprint(packages:); tests SentryConfigTe...
Diff line-height cache doesn't invalidate on Dynamic Type change — WORKROOM-2T follow-up Moot: the hand-rolled height cache it concerned was never built. 248dbe6 (2026-08-11) adopted List instead of the LazyVStack fallback; grep of macapp for DiffLineMetrics, heightCacheKey and measurementFont returns nothing
Harden vcs.Detect to validate a real repo — #103 follow-up e8a89c1 fix: address pre-landing review of the Jujutsu removal (2026-10-02), shipped in PR #282 "Remove Jujutsu support" merged 2026-10-02T16:00:58Z (closes #266); internal/vcs/vcs.go:33-38 Detect now delegates to IsGitRepo (:44-...
The config lock can be stolen from a live holder — withLock audit aa3ae91 fix(cli,macapp): close v2 GA bug/polish findings from VCS-foundation eng-review (2026-08-10); go.mod:8 github.com/gofrs/flock v0.13.0; internal/config/config.go:228-233 withLock uses flock.New(lockPath) with TryLockContex...

Remaining entries with no issue of their own

Say which of these should become GitHub issues (all, none, or a list) and I will file them with the needs-triage label and link them here.

Pre-Landing Review

Docs only. Verdicts came from five read-only passes over the file, each citing a commit, a merged PR, a closed issue or a code check per removed entry. Known gaps: two entries' recurrence claims could not be verified (Sentry WORKROOM-3A, the ChangedFileRow flake) and are kept; the OSC 99 desktop notifications entry is stale (ghostty PR #10467 closed unmerged) but kept because the upstream issue is still open.

Test plan

  • Every removed entry has a cited commit, PR, closed issue or code check
  • No code or doc outside TODOS.md cites a removed entry by title (the cited ones are kept)
  • The P1 entry "Finish removing base machines" is present and unchanged

🤖 Generated with Claude Code

Removes 21 entries whose work has shipped or whose code is gone, each checked
against git history, merged PRs, closed issues and the current code, plus the
empty P3 CLI heading. Entries that source comments or docs still cite by title
stay until those comments move. The P1 entry "Finish removing base machines"
is unchanged. The tab-hover preview entry now links its issue, #137.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 10, 2026 14:25
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-10T14:51:27.727094Z ae951c9 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Several retained TODOs now contain stale instructions or dangling references to deleted entries.

3 open findings
What changed in this PR

Prunes shipped or obsolete work from TODOS.md while preserving active entries.

Changes:

  • Removes 21 completed or obsolete TODO entries.
  • Removes the empty P3 CLI section.
  • Links the tab-hover preview entry to issue #137.
File Description
TODOS.md Removes completed entries and adds an issue reference.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread TODOS.md Resolved
Comment thread TODOS.md Resolved
Comment thread TODOS.md Resolved
The foreground-process entry no longer points at the deleted SessionPTY and
SessionDaemon, the eyeball-only snapshot entries no longer count or point to
the removed #136 entry, and the WORKROOM-2T note names the fingerprint code
instead of a removed section.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@joelmoss
joelmoss merged commit 82a7bdb into master Oct 10, 2026
9 checks passed
@joelmoss
joelmoss deleted the docs/prune-todos branch October 10, 2026 14:49

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ae951c9408

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread TODOS.md
opens the window is rare. Cheap to close, and the failure it produces (a silently lost entry, no
error) is one of the hardest to diagnose from a bug report.

## Recently done

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Restore the unfinished linked-worktree validation TODO

When a user adds a moved or broken linked worktree whose .git file still begins with gitdir: but points to a nonexistent target, this work remains unfinished: internal/vcs/vcs.go:50-58 checks only the prefix, and internal/vcs/vcs_test.go:577-580 explicitly accepts gitdir: /elsewhere. Removing the TODO therefore falsely records its validated-pointer requirement as shipped and loses tracking for the resulting late failure during workroom operations; retain or narrow the entry until the referenced git directory is actually validated.

AGENTS.md reference: AGENTS.md:L44-L50

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remove Jujutsu support

2 participants