Rank macOS feature gaps - #420
Conversation
SergeSerb2
left a comment
There was a problem hiding this comment.
Solid product audit replacing stale TODO with comprehensive, evidence-backed gap analysis. Well-organized 100-feature roadmap with clear methodology, foundation status, and delivery sequencing. No correctness issues.
The audit appropriately frames itself as aspirational ("not a promise") and references existing server contracts and mobile implementations. Evidence ledger is thorough and locations plausible given project structure. TODO.md transition is clean.
Minor notes: snapshot hash 60cc0f58b0a… should be validated as real commit; some future-proofing (note on audit staleness, cadence for refresh) would help; a few foundation refs could link more specifically.
Could not anchor
- nit
docs/project/todo.md— The old TODO list items (thread archiving, message queueing, etc.) appear to have landed. Nice cleanup. If any of those aren't actually shipped, they should appear in the new audit doc — spot-check against the 100 features to confirm coverage.
SurgeCode auto-review · model=codex/gpt-5.6-luna · head=1f7fd3ebbe78
| @@ -0,0 +1,244 @@ | |||
| # macOS product gap audit: top 100 missing features | |||
|
|
|||
| Audit date: 2026-07-30 | |||
There was a problem hiding this comment.
info: Consider adding a note on how/when this audit will be refreshed (e.g., quarterly, after major releases). The snapshot hash is a good point-in-time anchor, but readers should know whether this is a living doc or a frozen reference.
SergeSerb2
left a comment
There was a problem hiding this comment.
Well-structured product audit replacing stale TODO list with evidence-backed 100-feature roadmap. Cites specific server RPCs, mobile implementations, and existing patterns to justify readiness levels and sequencing. No security, correctness, or API issues.
SurgeCode auto-review · model=codex/gpt-5.6-luna · head=1f7fd3ebbe78
SergeSerb2
left a comment
There was a problem hiding this comment.
Strong roadmap document that consolidates product thinking into a ranked, evidence-backed feature audit. The PR consolidates a minimal scratch TODO with a comprehensive 100-item roadmap ranked by user impact, foundation readiness, and implementation cost. Documentation only — no code correctness risk.
SurgeCode auto-review · model=codex/gpt-5.6-luna · head=1f7fd3ebbe78
| - **E11 — Current reference implementations expose the next plateau.** | ||
| The official | ||
| [Codex app-server API](https://github.com/openai/codex/blob/main/codex-rs/app-server/README.md) | ||
| exposes skills, plugins, apps, MCP status/auth, managed permissions, config, |
There was a problem hiding this comment.
info: Evidence ledger is specific and traceable. Spot-check: E1 cites BackendService.swift and rpc.ts as authoritative sources for scope gaps. Before shipping any feature in this audit, confirm the cited contracts (e.g., E1 terminal/extension/diagnostics families in rpc.ts) are still present or have evolved.
How to apply: Add a pre-implementation checklist step: "verify foundation evidence against current code" so audit references remain reliable as the server evolves.
| instructions, prompt library, and MCP manager. | ||
| 4. **Review foundation:** Git index operations, writable PR review, CI, and | ||
| conflict resolution. | ||
| 5. **Automation foundation:** headless host, saved task presets, schedules, |
There was a problem hiding this comment.
info: "Suggested delivery sequence" correctly calls out design specs before implementation for each initiative. This is good discipline — especially for XL items that touch multiple packages. Recommend: at initiative kick-off, link the design spec from this roadmap item or a follow-up PR, so reviewers can cross-check scope and dependencies.
SergeSerb2
left a comment
There was a problem hiding this comment.
Review: Rank macOS feature gaps (#420)
Docs-only PR that replaces the scratch docs/project/todo.md list with an evidence-backed top-100 macOS gap audit and links it from docs/README.md. Diff is complete (not truncated). No runtime, security, or API-contract risk.
What works well
- Clear ranking criteria, foundation codes (Ready/Partial/New), and size scale separated from PR release labels.
- Evidence ledger paths resolve; spot-checks match the tree (T3Kit v1 exclusions, image-only attachments, dark/single-window
App.swift, mobile terminal/files/onboarding,vcs.createWorktree/ terminal / extensions / usage RPCs, UIProjectomitting scripts). - Exactly 100 unique ranks; snapshot SHA
60cc0f58…is a real ancestor of the head commit. - Delivery sequence + per-initiative design-spec checklist is useful process guidance.
Issues
todo.mddrops unfinished items without disposition — only archiving/queueing are named as landed; scroll-to-bottom, last-10-threads, and project ordering disappear without mapping into the top-100 (rank 72 is only a partial overlap).- Empty PR body — worth a short summary of methodology, snapshot commit, and that this is planning docs only.
- Minor prose nit on E4.
Decision
comment — solid, mergeable planning doc; please tighten the backlog handoff so open UX polish items are not silently lost. No request_changes (no correctness/security blockers).
SurgeCode auto-review · model=codex/gpt-5.6-luna · head=1f7fd3ebbe78
| agent definitions, task presets, provider instances, global environment, | ||
| observability, and synchronized client presentation preferences. | ||
| - **E4 — Project scripts already survive the wire.** | ||
| [`orchestration.ts`](../../packages/contracts/src/orchestration.ts) and |
There was a problem hiding this comment.
nit: E4 sentence is missing a verb: “orchestration.ts and T3Kit model ProjectScript” reads incomplete.
Suggested: “orchestration.ts and T3Kit define ProjectScript, but the macOS UI-level Project drops scripts.” (Claim itself is accurate — UI Project in Entities.swift has no scripts field while T3Kit ProjectScript exists.)
| # macOS product gap audit: top 100 missing features | ||
|
|
||
| Audit date: 2026-07-30 | ||
|
|
There was a problem hiding this comment.
info: Pinning audit date + snapshot SHA is good. When this doc is edited later, either refresh the snapshot or add a short “last validated against” note so Ready/Partial labels do not drift silently as contracts land on macOS.
SergeSerb2
left a comment
There was a problem hiding this comment.
Comprehensive macOS feature audit with 100 ranked gaps. Well-structured documentation with clear methodology, evidence ledger, and delivery sequencing. No code changes, so no correctness/security concerns.
Minor suggestions: PR body is empty—add a one-line summary for visibility. A few "Ready" items (e.g., terminal dock) might warrant revisiting foundation assessment after implementation starts.
SurgeCode auto-review · model=codex/gpt-5.6-luna · head=2fa27678b6ef
| @@ -0,0 +1,244 @@ | |||
| # macOS product gap audit: top 100 missing features | |||
There was a problem hiding this comment.
nit: PR body is empty. Add a one-line summary (e.g., "Audit of SurgeCode macOS gaps ranked by user impact and implementation leverage.") so the feature appears in PR lists and changelogs.
| [terminal](../../apps/mobile/src/features/terminal/ThreadTerminalRouteScreen.tsx), | ||
| and [repository onboarding](../../apps/mobile/src/features/projects/AddProjectScreen.tsx). | ||
| - **E6 — PR review is read-only on macOS.** | ||
| [`PullRequestReviewView.swift`](../../apps/mac/Sources/SurgeCodeMac/UI/Diff/PullRequestReviewView.swift) |
There was a problem hiding this comment.
info: "Integrated terminal dock" is marked Ready — E1, E5, implying the foundation is complete. During execution, verify that mobile's terminal screen actually translates to the macOS contract well (session model, window lifecycle, Sparkle-safe rendering). If mismatches surface, split the foundation assessment.
| ## Bigger things | ||
| - Submitting new messages should scroll to bottom — **done**. | ||
| - Only show last 10 threads for a given project — **still open (track as a dedicated per-project thread-count/retention item; rank 72 does not include this cap)**. | ||
| - New projects should go on top — **absorbed into rank 72** (configurable project sorting and grouping). |
There was a problem hiding this comment.
info: "still open (track as a dedicated per-project thread-count/retention item; rank 72 does not include this cap)" — rank 72 is "Configurable sidebar grouping and sorting," not thread retention. Consider clarifying whether thread-count caps should be ranked separately or folded into existing items.
SergeSerb2
left a comment
There was a problem hiding this comment.
Strategic roadmap audit: 100-ranked macOS feature gaps with clear methodology, evidence-backed claims, foundation codes, and delivery sequence. Well-researched and organized; adds substantial value to planning.
SurgeCode auto-review · model=codex/gpt-5.6-luna · head=2fa27678b6ef
SergeSerb2
left a comment
There was a problem hiding this comment.
Comprehensive macOS feature audit added—ranks 100 missing features by priority, foundation readiness, and delivery sequence with supporting evidence. Well-structured with clear methodology and suggested phasing. Documentation change with minimal risk.
Concern: docs/project/todo.md diff appears incomplete—final visible line is - New which looks like a truncated edit. Verify the full file content is intended.
Could not anchor
- important
docs/project/todo.md— The diff to this file appears incomplete. The last visible line is- Newwhich suggests either:
- The diff output was truncated despite the PR header saying it wasn't
- An incomplete edit was accidentally staged
- There's more content after this line that wasn't shown
Please confirm the full content of docs/project/todo.md is correct. The old TODO items are being dropped in favor of pointing to the new audit—verify nothing important is lost and that the handoff text is complete.
SurgeCode auto-review · model=codex/gpt-5.6-luna · head=2fa27678b6ef
| diagnostics, keybinding editing, and source-control discovery out of v1 | ||
| scope and decodes several settings as opaque values. | ||
| - **E3 — The server already has richer settings.** | ||
| [`settings.ts`](../../packages/contracts/src/settings.ts) defines token |
There was a problem hiding this comment.
info: The evidence ledger (E1–E11) anchors all feature priorities to specific file paths and claims about what already exists in the codebase. While the audit's methodology is sound, the ranking accuracy depends entirely on these claims being current and correct. Consider spot-checking a few evidence items (e.g., whether rpc.ts really does define the listed RPC families, or whether ServerModels.swift currently marks those fields as opaque) before shipping this as the source of truth for prioritization.
| - [iPhone companion](../apps/mobile/README.md) | ||
| - [Operations](./operations/ci.md) | ||
| - [Providers](./providers/codex.md) | ||
| - [macOS top 100 missing features](./project/macos-top-100-missing-features.md) |
There was a problem hiding this comment.
nit: Link text says "macOS top 100 missing features" but the file title is "macOS product gap audit: top 100 missing features". Consider aligning: either update the link text to match the heading, or vice versa, for consistency.
SergeSerb2
left a comment
There was a problem hiding this comment.
Review
Documentation-only product planning PR: a ranked, evidence-linked macOS gap audit (100 items), an index link, and a careful handoff from the stale docs/project/todo.md scratch list. No runtime, API, or release-metadata changes.
What looks solid
- Structure: methodology, foundation codes (Ready/Partial/New), size bands, evidence ledger (E1–E11), ranked tables, and a dependency-aware delivery sequence are high-signal for prioritization.
- Evidence checks out against current sources: mobile terminal/files/onboarding surfaces exist;
rpc.tsexposes terminal, projects list/read/write, source-control clone/publish, extensions, usage, diagnostics/process, keybindings, worktree create/remove, and auth-access; T3Kit documents v1 exclusions; UIProjectdrops scripts while T3Kit still modelsProjectScript; attachments are image-only; App forces dark + replaces New Window. - Integrity: ranks 1–100 present and sequential; relative links resolve; former TODOs are dispositioned (including the still-open “last 10 threads” item and the note that rank 72 does not cover that cap).
size:XSis appropriate.
Non-blocking accuracy
- A few Ready rows describe the desired end-state more fully than the existing contract surface (especially worktree inventory). That will not ship broken code, but it can mis-size the first slice if people treat Ready as “UI only.”
- Snapshot SHA is a fixed audit point (
60cc0f58…); fine if treated as historical, not live main.
Decision
Approve. Docs quality is high and safe to land; address the foundation-label precision if you want the backlog to stay trustworthy under implementation pressure.
SurgeCode auto-review · model=codex/gpt-5.6-luna · head=2fa27678b6ef
| | 2 | Workspace file explorer and preview/editor | Makes `@` discovery visual, lets users inspect agent changes without another app, and restores a capability explicitly removed from the Mac inspector. List/read/write RPCs and a complete mobile browser already exist. | Ready — E1, E5 | L | | ||
| | 3 | Repository clone, import, and publish onboarding | “Add Project” should accept provider repository names/URLs, choose SSH or HTTPS, clone to a destination, initialize new repositories, and publish local folders. All core RPCs already exist. | Ready — E1, E5 | M | | ||
| | 4 | Worktree control center and handoff | Show every worktree, owning thread, branch, dirty state, disk use, and setup status; create, switch/handoff, repair, and safely remove them. The server already exposes create/remove/list-ref primitives. | Ready — E1 | L | | ||
| | 5 | Usage, token, and cost center | Show today/week/month totals, cache efficiency, cost by provider/model/thread/project, and configurable budget warnings. Usage aggregation and token-efficiency settings already exist but are invisible to macOS. | Ready — E1, E3 | M | |
There was a problem hiding this comment.
nit: Usage “Ready” is mostly right; tighten the dimension list.
provider.usage.summary already supports since/until, optional providerInstanceId/threadId, totals, cache token breakdowns, totalCostUsd/costIsPartial, and byProvider/byModel buckets — so a Mac cost center is legitimately backend-ready for period totals and provider/model rollups.
There is no byProject (or by-thread list) dimension in the result schema; project cost would be multi-call aggregation or a server extension. “Today/week/month” is also client-composed date ranges, not named server presets.
Minor wording fix: say “filterable by time/provider/thread; rollups by provider/model (project = aggregate threads)” so the Ready claim matches the contract.
|
|
||
| Audit date: 2026-07-30 | ||
|
|
||
| Repository snapshot: `60cc0f58b0ab4fa12fbd1744b4b011e02e7ed2e2` |
There was a problem hiding this comment.
info: Snapshot pin is good practice. 60cc0f58… is a real commit and a reasonable audit baseline; the branch tip is a few commits ahead and main continues to move. Consider one explicit sentence under the snapshot (e.g. “claims are as of this SHA; re-verify Ready/Partial before staffing”) so readers do not treat the table as live inventory forever.
SergeSerb2
left a comment
There was a problem hiding this comment.
Comprehensive macOS feature gap audit with sound prioritization and good structure. Issue: docs/project/todo.md ends with incomplete text + New — file appears truncated or malformed.
SurgeCode auto-review · model=codex/gpt-5.6-luna · head=a238a7c25e38
|
|
||
| Audit date: 2026-07-30 | ||
|
|
||
| Repository snapshot: `60cc0f58b0ab4fa12fbd1744b4b011e02e7ed2e2` |
There was a problem hiding this comment.
info: Audit snapshot uses commit 60cc0f58b0ab4fa12fbd1744b4b011e02e7ed2e2 but should probably use a238a7c25e382b1a2bc423f9a13217e2a93dbc8b (the PR head) or note that it was audited against a prior baseline.
SergeSerb2
left a comment
There was a problem hiding this comment.
Blocking issue: docs/project/todo.md ends with an incomplete bullet "- New" with no text following it. This looks like an incomplete edit or conflict resolution.
Otherwise, the new macOS feature audit is well-organized. Executive summary, evidence ledger with file citations, ranked tables with foundation levels and size estimates, and a sensible delivery sequence all hang together. Snapshot date and commit SHA provide auditability.
SurgeCode auto-review · model=codex/gpt-5.6-luna · head=a238a7c25e38
SergeSerb2
left a comment
There was a problem hiding this comment.
Review: Rank macOS feature gaps (#420)
Decision: approve — docs-only product audit. No runtime, API, or security surface changes.
What works
- Clear ranking criteria, foundation codes (Ready/Partial/New), and size scale that are explicitly not PR release labels.
- Evidence ledger (E1–E11) largely checks out: linked paths exist; terminal/source-control/keybinding/extension/auth RPCs and T3Kit v1 exclusions match
rpc.ts/ServerModels.swift; image-only attachments and UIProjectdropping scripts are accurate; ranks 1–100 are contiguous (100 rows). - Delivery sequence by shared primitives is more useful than “implement 1…100 in order.”
todo.mdhandoff correctly marks landed items and points at the new audit.
Notes (non-blocking)
- One former TODO remains open but is not represented in the top-100 (thread-count/retention cap) — risk of it falling off the backlog.
- A couple of “Ready” blurbs slightly overstate existing Mac/wire surface (files already list/read on
BackendService; extensions are discover/install/uninstall, not a full update lifecycle). - Snapshot SHA is intentionally pinned (
60cc0f58…); fine for an audit date, but the doc will drift frommainunless you refresh or date-stamp updates. - PR body is empty — a one-liner would help future archaeology.
No code verification suite applies. Diff is complete (not truncated for review purposes).
SurgeCode auto-review · model=codex/gpt-5.6-luna · head=a238a7c25e38
| | Rank | Feature | Why it is one of the largest gaps | Foundation | Size | | ||
| | ---: | ------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- | :--: | | ||
| | 1 | Integrated terminal dock | Keeps builds, tests, dev servers, and recovery commands beside the agent. The server already supports open, attach, write, resize, clear, restart, close, history, and metadata streams; mobile proves the session model. | Ready — E1, E5 | L | | ||
| | 2 | Workspace file explorer and preview/editor | Makes `@` discovery visual, lets users inspect agent changes without another app, and restores a capability explicitly removed from the Mac inspector. List/read/write RPCs and a complete mobile browser already exist. | Ready — E1, E5 | L | |
There was a problem hiding this comment.
info: Accuracy tweak for implementers: macOS already exposes list/read/search workspace on BackendService / LiveBackend (listWorkspace, readWorkspaceFile, searchWorkspace). The real Mac gap is explorer/preview/editor UI, write path, and any richer inspector that was removed — not a greenfield list/read client.
Fix: Adjust the “Why” cell (and optionally E1/E5) to say list/read are already wired on Mac; write + full explorer/editor UI remain. Keeps Ready honest and avoids re-scoping work that is partially done.
| | 3 | Repository clone, import, and publish onboarding | “Add Project” should accept provider repository names/URLs, choose SSH or HTTPS, clone to a destination, initialize new repositories, and publish local folders. All core RPCs already exist. | Ready — E1, E5 | M | | ||
| | 4 | Worktree control center and handoff | Show every worktree, owning thread, branch, dirty state, disk use, and setup status; create, switch/handoff, repair, and safely remove them. The server already exposes create/remove/list-ref primitives. | Partial — E1 | L | | ||
| | 5 | Usage, token, and cost center | Show today/week/month totals, cache efficiency, cost by provider/model/thread/project, and configurable budget warnings. Usage aggregation and token-efficiency settings already exist but are invisible to macOS. | Ready — E1, E3 | M | | ||
| | 6 | Skills and plugin marketplace | Discover, inspect, install, update, enable, target, and uninstall skills/plugins per provider instance, with trust and compatibility states. Extension marketplace RPCs and settings already exist. | Ready — E1, E3, E11 | L | |
There was a problem hiding this comment.
nit: Wording slightly oversells the wire: contracts expose extensions.discover / install / uninstall plus marketplace settings (enabled/trusted, install targets, compatibility). There is no first-class update RPC; enable is marketplace-source-level, not a separate per-skill toggle API.
Fix: Soften to “discover, install, uninstall, and target installs (with marketplace trust/enable settings)” so Ready doesn’t imply a full update/enable product surface already exists.
SergeSerb2
left a comment
There was a problem hiding this comment.
Summary
Docs-only product roadmap PR: a well-structured macOS gap audit (exactly 100 ranked items), a docs index link, and a clean handoff from the old scratch todo.md. No runtime/API surface changes.
Verification
Spot-checked the evidence ledger against the tree:
- Cited repo paths resolve; snapshot SHA
60cc0f58…is a real commit. - Ready/Partial signals largely match contracts: terminal/file/source-control/usage/extensions/keybinding/auth-access RPCs; T3Kit v1 exclusions; image-only attachments; dark-only / New Window suppression; UI
Projectdrops scripts; PR review is fetch/display only. - Rank table is contiguous 1–100; foundation split is ~12 Ready / 57 Partial / 31 New.
- Old TODO dispositions are preserved rather than silently dropped.
Findings
One accuracy issue worth fixing before people treat rank 4 as inventory-ready (see inline). Everything else is high-signal planning material: ranking criteria, evidence IDs, size vs PR-label disclaimer, and a delivery sequence that groups shared primitives.
Decision
approve — documentation quality is strong and actionable; the worktree wording fix is non-blocking but should land soon so implementers do not over-read the foundation.
SurgeCode auto-review · model=codex/gpt-5.6-luna · head=a238a7c25e38
| exposes the current UI operations, while | ||
| [`rpc.ts`](../../packages/contracts/src/rpc.ts) also defines terminal, | ||
| extensions, usage, diagnostics, process, source-control onboarding, | ||
| keybinding, file-write, worktree, and auth-access families. |
There was a problem hiding this comment.
nit: Taxonomy nit: there is no standalone worktree.* RPC family in rpc.ts. Worktree ops live under vcs.createWorktree / vcs.removeWorktree (and thread fields elsewhere). Prefer “VCS worktree create/remove” over “worktree … families” so E1 stays a precise map to method names.
SergeSerb2
left a comment
There was a problem hiding this comment.
Comprehensive product gap audit documenting 100 prioritized macOS feature opportunities. Well-structured with evidence-based reasoning, clear methodology, and delivery sequence. Minor documentation incompleteness in todo.md truncation.
Could not anchor
- info
docs/project/macos-top-100-missing-features.md— Evidence ledger references specific file contents (E8: AttachmentEncoding.swift rejects all non-images; E10: App.swift forces dark-only). These are specific claims that should be spot-checked manually if the audit is later used to scope work, since differences in actual implementation would shift priorities.
SurgeCode auto-review · model=codex/gpt-5.6-luna · head=99908762d993
| - [ ] Thread archiving | ||
| - [ ] New projects should go on top | ||
| - [ ] Projects should be sorted by latest thread update | ||
| ## Former TODO handoff |
There was a problem hiding this comment.
nit: Truncated handoff: the diff ends mid-sentence at "New" without showing the complete former TODO migration. Verify the full content was committed.
SergeSerb2
left a comment
There was a problem hiding this comment.
Comprehensive macOS feature audit with 100 ranked gaps, clear methodology, and evidence-based roadmap. Well-organized into platform, daily workflow, context, review, and resilience tiers with delivery sequence. Minor issue: incomplete list item left in todo.md.
SurgeCode auto-review · model=codex/gpt-5.6-luna · head=99908762d993
| ## Bigger things | ||
| - Submitting new messages should scroll to bottom — **done**. | ||
| - Only show last 10 threads for a given project — **still open (track as a dedicated per-project thread-count/retention item; rank 72 does not include this cap)**. | ||
| - New projects should go on top — **absorbed into rank 72** (configurable project sorting and grouping). |
There was a problem hiding this comment.
nit: Line - New appears incomplete. Remove or fill in with actual item text.
SergeSerb2
left a comment
There was a problem hiding this comment.
High-quality feature audit, but incomplete todo.md edit blocks merge. The new macos-top-100-missing-features.md is well-reasoned with transparent ranking (frequency, leverage, cost) and evidence anchors. The docs/README.md link is correctly added. However, docs/project/todo.md ends mid-entry with - New — the hunk header shows 20 lines added (+1,20) but the diff ends abruptly. Verify the file references in E1–E11 match current paths, then complete the todo.md update before shipping.
Could not anchor
- important
docs/project/macos-top-100-missing-features.md— Evidence references (E1–E11) anchor claims to specific files: BackendService.swift, rpc.ts, ServerModels.swift, etc. Spot-check at least E1 and E3 to confirm paths are current and files exist. Links that rot damage credibility of the ranking.
SurgeCode auto-review · model=codex/gpt-5.6-luna · head=99908762d993
|
|
||
| Use the evidence-backed | ||
| [macOS top 100 missing features](./macos-top-100-missing-features.md) audit as | ||
| the current product-gap backlog. |
There was a problem hiding this comment.
blocking: Entry ends incomplete with - New. The hunk header indicates 20 lines should be present in the new file, but the diff ends at line 10 of the shown content. Either the file is truncated (fix by showing/completing all changes) or the edit itself is incomplete (finish the TODO reconciliation or remove this stub line).
SergeSerb2
left a comment
There was a problem hiding this comment.
Review: Rank macOS feature gaps (#420)
Decision: approve — documentation-only product audit; no runtime, API, or security surface.
What works well
- Clear ranking criteria, foundation codes (Ready / Partial / New), and rough size estimates (explicitly not PR size labels).
- Evidence ledger (E1–E11) points at real code; all repo-relative links resolve; ranks 1–100 are sequential with no gaps/duplicates.
- High-leverage call is right: first-wave gaps lean on existing contracts/mobile (terminal, files, clone/publish, usage, extensions, keybindings, access).
todo.mdreplaces a stale checklist with dispositions and points at the audit as the backlog;docs/README.mdindexes the new page.- Delivery sequence (workspace → control → ecosystem → review → automation) is dependency-aware and useful.
Spot-checks (against current tree)
- Terminal / workspace list-read-write / source-control clone-publish / usage summary / extensions discover-install-uninstall / keybinding upsert-remove / diagnostics+process / auth access stream+revoke inputs: present in contracts as claimed.
- E2 exclusions, E8 image-only attachments, E10 single-window+dark-only, E4 UI
Projectdropping scripts: match the cited sources. - Snapshot
60cc0f58…exists on main ancestry (audit-time pin; only a few commits behindorigin/mainat review time).
Non-blocking accuracy nits
Two Ready rows overstate server completeness relative to the product copy (usage by-project; extension enable/update/trust). Tighten those cells so implementers do not assume greenfield is “UI only.” See inline comments.
No blocking issues; fine to merge as the product-gap backlog. Optional follow-up: qualify Ready cells where the contract is a subset of the described end state.
SurgeCode auto-review · model=codex/gpt-5.6-luna · head=99908762d993
| | Rank | Feature | Why it is one of the largest gaps | Foundation | Size | | ||
| | ---: | ------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- | :--: | | ||
| | 1 | Integrated terminal dock | Keeps builds, tests, dev servers, and recovery commands beside the agent. The server already supports open, attach, write, resize, clear, restart, close, history, and metadata streams; mobile proves the session model. | Ready — E1, E5 | L | | ||
| | 2 | Workspace file explorer and preview/editor | Makes `@` discovery visual, lets users inspect agent changes without another app, and restores a capability explicitly removed from the Mac inspector. List/read/write RPCs and a complete mobile browser already exist. | Ready — E1, E5 | L | |
There was a problem hiding this comment.
info: Implementer note (rank 2): List/search/read are already on the Mac client path (BackendService / LiveBackend / AppModel, and composer @ uses searchWorkspace). The real gap is explorer + preview/editor chrome, write, and any inspector restoration — not greenfield T3Kit wire-up for read-only browse.
Optional: one phrase in the “why” cell (e.g. “list/read already wired for @; need explorer UI + write/preview”) so the first slice starts from the existing surface.
| ## Former TODO handoff | ||
|
|
||
| ## Bigger things | ||
| - Submitting new messages should scroll to bottom — **done**. |
There was a problem hiding this comment.
nit: Intro says thread archiving and message queueing have landed, but the handoff bullets only disposition four of the six old checklist items. For a clean audit trail, add explicit lines such as:
- Thread archiving — done.
- Queueing messages — done.
Keeps “former TODO” fully accounted without relying on the prose summary.
SergeSerb2
left a comment
There was a problem hiding this comment.
Comprehensive feature-gap audit for macOS app: ranks 100 missing features by impact, foundation status (Ready/Partial/New), and size. Well-structured with evidence citations, methodology, and delivery sequencing.
Documentation-only change, no code risk. Three minor items to address.
Could not anchor
- important
docs/project/todo.md— Truncated diff on todo.md — the patch shows+- Newthen[truncated], cutting off the rest of your changes. The PR description doesn't say whether this is intentional. Verify the replacement is complete and intentional (or re-upload the full diff).
SurgeCode auto-review · model=codex/gpt-5.6-luna · head=f7e416eea274
| @@ -0,0 +1,244 @@ | |||
| # macOS product gap audit: top 100 missing features | |||
|
|
|||
| Audit date: 2026-07-30 | |||
There was a problem hiding this comment.
important: Repository snapshot hash — the doc states 60cc0f58b0ab4fa12fbd1744b4b011e02e7ed2e2 (audit date 2026-07-30), but this PR's head is f7e416eea274d8f111fb956ab56ff55b5eb0ecef. Verify the audit is current for this commit, or update the hash if you captured state at a different point.
| [`AttachmentEncoding.swift`](../../apps/mac/Sources/SurgeCodeMac/Support/AttachmentEncoding.swift) | ||
| explicitly rejects every non-image file. | ||
| - **E9 — Access inventory and revocation exist server-side.** | ||
| [`auth.ts`](../../packages/contracts/src/auth.ts) defines pairing links, |
There was a problem hiding this comment.
nit: Evidence citation maintenance — file paths (BackendService.swift, rpc.ts, VcsToolbar.swift, etc.) will drift as code moves. Consider a process to catch broken links: a periodic audit, a lint rule, or doc comments on the referenced source files linking back to this roadmap.
SergeSerb2
left a comment
There was a problem hiding this comment.
This PR adds a 244-line macOS feature gap audit (ranked 1–100) with evidence-based prioritization and suggested delivery sequence. The audit is thorough and cites specific code locations, but the PR lacks a description explaining its purpose and audience, and the todo.md update appears incomplete.
Main blockers:
- PR description is empty — explain what this audit is for (product planning? public roadmap? internal prioritization?), how it should be used, and who owns updates
todo.mdends with a truncated "- New" line that needs completion
Could not anchor
- important
docs/README.md— PR description is empty. For a 244-line audit document, add context: What is this audit for? (product steering, public roadmap, internal planning?). Who owns updating it? How often should it be revisited? Does landing this commit any roadmap or signal priorities to users?
SurgeCode auto-review · model=codex/gpt-5.6-luna · head=f7e416eea274
| sidebar/retention backlog owns it until a future audit gives it a rank. | ||
|
|
||
| Use the evidence-backed | ||
| [macOS top 100 missing features](./macos-top-100-missing-features.md) audit as |
There was a problem hiding this comment.
blocking: Line ends with - New which appears incomplete. Either this is a truncation artifact or the content was lost. Complete this entry or remove it.
| @@ -0,0 +1,244 @@ | |||
| # macOS product gap audit: top 100 missing features | |||
There was a problem hiding this comment.
info: Strong audit with clear ranking methodology and evidence references. For maintenance: this is a point-in-time snapshot (dated 2026-07-30 against commit 60cc0f58b0ab4fa12fbd1744b4b011e02e7ed2e2). Consider adding a note about review cadence or deprecation policy — if a feature ships, how is it removed from this list?
SergeSerb2
left a comment
There was a problem hiding this comment.
High-quality product planning document. Ranks 100 macOS feature gaps with evidence-based prioritization, realistic scope sizing, and a delivery sequence. All 11 evidence points (E1–E11) ground the roadmap in actual code inspection (verified file references). No blocking issues.
Minor: PR has no body explaining context. The audit snapshot (commit 60cc0f58…) is stale relative to the merge base, though the doc is positioned as a point-in-time audit so this is acceptable.
Could not anchor
- info
docs/project/macos-top-100-missing-features.md— Excellent evidence grounding: E1–E11 cite actual server/client code paths, making the roadmap verifiable. The foundation codes (Ready/Partial/New) and size estimates (S/M/L/XL) are clearly scoped as estimates, which is the right call for planning-stage work. Suggested delivery sequence in 5 initiatives is actionable.
SurgeCode auto-review · model=codex/gpt-5.6-luna · head=f7e416eea274
| - [iPhone companion](../apps/mobile/README.md) | ||
| - [Operations](./operations/ci.md) | ||
| - [Providers](./providers/codex.md) | ||
| - [macOS top 100 missing features](./project/macos-top-100-missing-features.md) |
There was a problem hiding this comment.
info: Link placement is good — the new doc sits between Providers and Reference, which makes sense as cross-cutting roadmap material.
SergeSerb2
left a comment
There was a problem hiding this comment.
Review: Rank macOS feature gaps (#420)
Decision: approve
Docs-only product audit — no runtime, contract, or release-metadata changes. Solid work: 100 sequential ranks, evidence ledger with resolving repo-relative links, Ready/Partial/New foundations that match the contracts I spot-checked (terminal.*, projects.*, sourceControl.*, server.upsertKeybinding / process diagnostics, extensions.*, provider.usage.summary, auth access stream + revoke), and a clean handoff from the stale todo.md scratch list.
What looks good
- Ranking criteria and delivery sequence are explicit (primitives first, not a giant release).
- “Ready” rows generally point at real WS/HTTP surfaces; Partial/New are used where the seam is incomplete (e.g. worktree inventory, writable PR review, Git index).
- Old TODOs are dispositioned rather than deleted silently (including the open 10-thread cap).
- Linked from
docs/README.md; size:XS is appropriate.
Residual notes (non-blocking)
- One foundation inconsistency around secrets (rank 22 vs 40) — see inline comment.
- Ready labels will drift as code moves; the pinned snapshot SHA helps, but treat this as a living backlog when scheduling work.
No correctness/security/API issues for a planning doc of this shape.
SurgeCode auto-review · model=codex/gpt-5.6-luna · head=f7e416eea274
| | Rank | Feature | Why it is one of the largest gaps | Foundation | Size | | ||
| | ---: | ------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- | :--: | | ||
| | 1 | Integrated terminal dock | Keeps builds, tests, dev servers, and recovery commands beside the agent. The server already supports open, attach, write, resize, clear, restart, close, history, and metadata streams; mobile proves the session model. | Ready — E1, E5 | L | | ||
| | 2 | Workspace file explorer and preview/editor | Makes `@` discovery visual, lets users inspect agent changes without another app, and restores a capability explicitly removed from the Mac inspector. List/read/write RPCs and a complete mobile browser already exist. | Ready — E1, E5 | L | |
There was a problem hiding this comment.
info: Implementer note (not a doc error): list/read/search already land on the Mac client seam (BackendService.listWorkspace / readWorkspaceFile / searchWorkspace, used for @ mentions). Write is still server-side (projects.writeFile) without a BackendService method.
So rank 2 is less “greenfield protocol” and more “dedicated explorer + preview/editor UI (+ wire write through T3Kit/BackendService).” Worth a half-sentence if you want the Ready column to encode that, but optional — the RPC claim is already accurate.
SergeSerb2
left a comment
There was a problem hiding this comment.
Add macOS feature-gap audit ranking 100 features by priority, foundation readiness, and cost. Well-grounded in evidence from the codebase (E1–E11) with a clear delivery sequence. Work is solid; minor issue: PR body is empty—add context on audit date and why it's being committed now.
Could not anchor
- info
docs/project/macos-top-100-missing-features.md— Strong work. Evidence ledger grounds the audit in real code locations, and the ranking logic is sound. The delivery sequence (workspace → control → ecosystem → review → automation) is a coherent way to sequence primitives. No issues found. - nit
docs/project/todo.md— The diff display truncates this file at "- New" even though the tool reportstruncated: no. Verify the file looks correct locally before merge (the content shown looks reasonable, but the truncation makes it hard to confirm the full replacement).
SurgeCode auto-review · model=codex/gpt-5.6-luna · head=1fff6f4f3539
SergeSerb2
left a comment
There was a problem hiding this comment.
PR adds macOS feature gap audit ranking 100 items by impact and feasibility, with evidence ledger, sizing, and suggested delivery sequence. Document is well-structured but TODO.md handoff is truncated in the diff; E4 evidence (project scripts dropped from UI model) conflicts with E4 claim that rank 39 is "Ready."
Could not anchor
- important
docs/project/todo.md— Diff truncates this file mid-edit. The patch shows changes starting at line 1 but cuts off after "- New" (line 13 context). Confirm the full TODO.md migration is included and no content is lost in the rewrite.
SurgeCode auto-review · model=codex/gpt-5.6-luna · head=1fff6f4f3539
| | 58 | Binary, image, and structured-data diff | Compare images visually and provide useful metadata/preview diffs for PDFs, notebooks, lockfiles, JSON, and other non-text changes. | New | L | | ||
| | 59 | Turn/commit/change attribution map | Link each changed hunk and commit to the turn, tool call, checkpoint, and agent that produced it; jump in both directions. | Partial | L | | ||
| | 60 | Ports and local services dashboard | Detect listening dev servers, show process/URL/health, open or stop them, and associate them with terminal tabs and threads. | Partial — E1 | L | | ||
| | 61 | Terminal tabs, splits, and persisted layouts | Build on the terminal dock with multiple named sessions, horizontal/vertical splits, command-aware titles, restoration, and keyboard navigation. | Ready — E1 | L | |
There was a problem hiding this comment.
nit: E4 status mismatch: Evidence E4 notes that macOS UI model drops scripts from Project, but rank 39 (project-setup-script editor) lists foundation as "Ready — E4". If the Swift model omits this field today, the foundation is "Partial" not "Ready" — either the surface needs adding or the server contract needs syncing to macOS first.
| Before implementation, each initiative should get a short design spec that | ||
| names its authoritative owner (server vs. client), remote-device behavior, | ||
| offline/reconnect semantics, permission model, pagination/streaming strategy, | ||
| and the smallest independently shippable slice. |
There was a problem hiding this comment.
nit: Consider naming an owner or arbiter role in the suggested-delivery-sequence section. The audit doesn't specify who decides tradeoffs between impact and cost, or who gates/schedules each initiative. A one-liner like "Product PM or tech lead owns prioritization" would clarify governance.
SergeSerb2
left a comment
There was a problem hiding this comment.
Approve: Comprehensive macOS feature gap audit with sound methodology and evidence. Properly documents ranking criteria, foundation status (Ready/Partial/New), and a coherent delivery sequence. Updates old TODO with migration notes. No correctness, security, or contract issues — this is planning documentation only.
SurgeCode auto-review · model=codex/gpt-5.6-luna · head=1fff6f4f3539
SergeSerb2
left a comment
There was a problem hiding this comment.
Review: Rank macOS feature gaps (#420)
Decision: approve — documentation-only product roadmap. No runtime, API, security, or test surface changes.
What this does well
- Evidence-led audit: ledger E1–E11 with repo-relative links; all 13 checked links resolve on
main. - Ranks 1–100 are complete and sequential (no gaps/dupes).
- Foundation codes match the definitions: top unlocks lean Ready only where contracts/mobile proofs exist (terminal/files/clone RPCs, usage summary, extensions discover/install/uninstall, keybindings, auth access).
- Later commits correctly qualified earlier overclaims (worktree inventory Partial; usage project totals; extension update/enable/trust as follow-on; provider secrets split to rank 40).
- Stale
todo.mditems are dispositioned (done / absorbed / still open outside top 100) instead of silently dropped. - Delivery sequence is dependency-aware and separates product ranking from ship order.
Spot-checks (not exhaustive product judgment)
- E4 scripts drop: UI
Projectis id/name/path/repositoryKey only; T3Kit still modelsProjectScript. - E8 attachments: Mac encoding is image-only.
- E10 single-window + dark-only: matches
App.swift. - Rank 2 “removed from inspector”: matches
apps/mac/ARCHITECTURE.md.
Residual notes (non-blocking)
- Executive summary’s “first nine have foundations” is true, but the following example list mixes ranks 1–9 with diagnostics (#17) and access management (#20) — easy to misread as “all of these are top-nine.”
- Snapshot SHA
60cc0f58…will age; that’s appropriate for an audit freeze, not a live gap tracker. - Diff not truncated; pure docs (
docs/README.md, new audit,todo.mdrewrite).
No correctness/security/API-contract issues. Safe to merge as size:XS.
SurgeCode auto-review · model=codex/gpt-5.6-luna · head=1fff6f4f3539
| the app into a complete development workspace around the agent. The first nine | ||
| recommendations all have meaningful backend or cross-client foundations | ||
| already in this repository. Terminal, workspace files, repository onboarding, | ||
| usage accounting, extensions, diagnostics, keybindings, and access management |
There was a problem hiding this comment.
nit: The “first nine … foundations” claim is accurate (ranks 1–9 are Ready/Partial), but the next sentence’s examples also include diagnostics and access management, which sit at ranks 17 and 20. A reader can easily treat that whole list as the top nine.
Suggestion: either (a) limit examples to ranks 1–9, or (b) rephrase as “high-leverage Ready/Partial gaps (including …)” so the executive summary doesn’t conflate ranking with the broader high-leverage set.
Summary
Area
Release size
Documentation-only product planning change with no runtime behavior or release metadata changes.
Verification
pnpm run verify --allpnpm run test:mac(required when apps/mac changes)origin/main.The full gate passed formatting/lint, all typechecks, all TypeScript tests, 1,118 native macOS tests, and mobile native static checks. The mobile lint step reported that optional local SwiftLint, ktlint, and detekt binaries were unavailable and skipped those external linters.
Release notes
None — documentation-only roadmap.