Questions
Open questions for Nate. Annotate a question to answer it.
- Q1
Is
^Nthe id format you want?Integers from one counter, shown as
^42, linked as<area>.html#42. Flows and steps share the counter. The first pass used blocks per writer (1–299, 300–599, 600–899), so numbers jump between areas.Answer: Keep
^.~reads as "about" and&breaks URLs. - Q2
Should the deployed map be public?
It's on
ace-map.iamnbutler.workers.dev, readable by anyone with the link, like the onboarding page. Cloudflare Access could limit it to you and the team.Answer: Public is fine; Ace is open source.
- Q3
What does
workshave to mean?Now it means someone did the step on a real host in this pass. Steps only traced in code are
untested. Shouldworksexpire, say after a release, so coverage reflects the current build?Answer: For now, status means "works for the universe release". Scale: planned → untested → visual (an agent saw it work on a real host) → tested (a human or an automated research study did it).
- Q5
Bring back or retire the team setup dialog?
Since first run became Welcome (#569), nothing opens team setup, so Ask to join (^120) and deploying a directory from the app (^122, ^123) are unreachable. docs/setup.md still describes them. Invite… and invite links still work.
Answer: Bring it back: an item at the bottom of the sidebar, and a way to open it from Settings.
- Q6
What should the account menu's Sign out do?
It's always disabled (^23), and Download app (^2) never shows. In the desktop app there's nothing to sign out of; in a browser it could forget the host token.
Answer: Remove both items from the app.
- Q250
Should the phone tab bar keep the account button on screen?
At 390px wide the account button (Settings, Sign out) is past the right edge and needs a sideways scroll of the tab bar (^800).
Answer: Fit it in the tab bar. And expect a broader pass on phone layout.
- Q251
Should the home-screen app work offline?
The manifest makes Ace installable, but there's no service worker, so an installed Ace shows the browser's error page when the host is off (^787).
- Q252
Should Settings → Host show the HTTP address when tailnet HTTPS is off?
Without HTTPS certificates the Phone group only says to turn HTTPS on, though
http://<machine>.<tailnet>.ts.net:<port>works (minus the microphone) (^781, ^785).Answer: Show the HTTP address and its QR as a fallback.
- Q260
What should
ace restorename a channel whose name is taken?It keeps the original name, so restoring next to the source gives two channels with the same name and name-based commands then ask for an ID.
ace newandace importrefuse a taken name instead.Answer: Add a suffix (
cli-one-2). As<name>-1, like Finder. - Q240
Should the terminal let people pick its font?
The font stack is fixed to system monospace fonts, so Nerd Font prompts (yours uses LilexNerdFontMono in Ghostty) show boxes. Ace could add a font setting, try known Nerd Fonts first, or read the font from the person's terminal config.
Answer: Leave it. Noise.
- Q241
Should terminal tabs follow you across devices?
Tabs (and the terminal ids they reattach to) live in each browser's localStorage. A shell opened on the desktop keeps running on the host but doesn't appear on the phone or in another browser.
Answer: Keep tabs per browser.
- Q220
May I test pull request actions against a scratch GitHub repo?
Create PR, Update PR, Address review, Ready, Merge, Close and Fix checks all have the agent write to GitHub, so this pass left them untested. Testing them needs a throwaway repository with checks and a reviewer, for example a private iamnbutler/ace-map-sandbox.
Answer: Yes, create a private sandbox repo and test there. A durable testing repo agents may do anything in.
- Q221
Should Push work without a pull request, or for non-GitHub remotes?
Work leaves the Mac only through Create PR or Update PR. A project whose origin isn't on GitHub gets Commit and Rebase but no way to push from the app.
Answer: Add Push. Not every project uses PRs.
- Q222
Should people see and switch lanes without the agent?
Only the agent's lane tool lists, starts or switches lanes. The app shows the current lane only in the Diff header.
Answer: Asking the agent is enough.
- Q100
Should removing a project ask first, and where should Remove live?
Remove project is only in All Projects' header context menu and acts on one click; the picker's built-in remove is never wired up. Removing only forgets the folder and refuses while channels exist.
Answer: Add a confirmation and offer remove from the picker and the project's own Channels page. With "Don't ask again".
- Q101
What should Share project do on a team without a directory?
The Share dialog opens and lets you confirm, then fails with
Join a team directory to share projects.The Channels sidebar already promotes Create directory.Answer: Hide Share project until a directory is joined. Or a standard upsell dialog for setting up a directory.
- Q102
How should Open a folder treat a relative path?
Relative paths resolve against Ace Helper's working directory, which a person can't see (
relative/xlooked inside the Ace source tree on the smoke host).Answer: Reject it, as Clone from URL does:
Enter a full folder path. - Q103
Should Initialize Git work for a folder that already has a .gitignore?
Ace refuses so it never commits under someone else's ignore rules, but the card still offers the button and only the error says to do it by hand.
Answer: Keep refusing, but say so on the card instead of offering Initialize Git.
- Q120
Should
ace deleterequire archiving first, like the app?The app offers Delete only on archived channels, behind a confirmation.
ace delete x2deleted a live, unarchived channel at once, while the app had it open.Answer: Keep the CLI direct; it's for people who mean it.
- Q121
Should archiving confirm, or offer undo?
Archive channel acts on one click with no toast; the row vanishes into a footer list. Archive inactive does toast a count.
Answer: Keep it silent; Unarchive is one step away.
- Q122
Should teammates' messages mark a channel unread?
Unread and needs-attention light only for runs you invoked; sam's message in shared-room never marked it, and mention counts are always 0.
Answer: Mark unread for any new message, and count @mentions of you.
- Q123
Where should renaming a channel live?
Rename is only in the sidebar row's right-click menu and the CLI. The channel's header tab menu shows Rename disabled, and the details sidebar has no name field.
Answer: Sidebar only.
- Q124
How should All Projects reach older and archived channels?
All Projects shows the 10 most recent channels per project and no archived ones; an archived channel opened there says to unarchive it from the sidebar, where it isn't listed.
Answer: Keep All Projects as a recent overview; open the project for the rest.
- Q125
How should existing hosted channels look now that new ones are gone?
#567 stopped creating and moving channels to hosted, but channels already hosted still exist and can only move back (
ace move <channel> --local). They show a globe in the sidebar and a cloud in the header chip, and cloud compute channels also show a cloud. - Q126
Should the app choose a model when creating a channel?
No app entry point asks for a model; the composer's picker (Automatic) sets the first run's model. The CLI has
ace new --model.Answer: Keep the composer picker as the place to choose.
- Q7
Open folder… or Open Folder…?
The picker and empty state say
Open folder…; the palette and desktop menu sayOpen Folder…(^301).Answer: Make them consistent.
- Q150
How should an edited message show it was edited?
Today
editedshows only on the last row of a group, or as a bare time on hover, so an edited message in the middle of a group looks untouched. - Q151
Where should Stop sit on touch screens?
Stop hides behind Send and slides out on hover or focus. Touch has no hover, so during a run only a sliver of Stop shows.
- Q152
Should the app show chats other than the channel's first?
ace chatand subagents make chats the app never shows; New tab → Chat only refocuses chat 1. Work done there is invisible to everyone in the app. - Q153
Should Needs you list runs that finished while you were away?
Needs you lists pending questions and failed runs; a finished run only leaves an unread dot in the sidebar.
Answer: Remove Needs you from the Dashboard. The Dashboard is a prototype; don't try to fix it.
- Q154
Should a failed run offer Retry?
Run failed: …has no action, and the failing model stays picked for the chat, so the next ask fails too.Answer: Nate left it to the map lead. Add Retry on a failed run; when the model or its key caused the failure, Retry resets the chat to Automatic and says so.
- Q155
Should Esc Esc toggle both ways?
Esc leaves Ace for Chat; Esc Esc enters Ace from Chat. From Ace, Esc Esc ends in Chat, not back where you started. A mistyped Esc Esc sent an Ace prompt as a plain message.
- Q156
How should people decline an agent's question or answer it elsewhere?
The question card has Submit answers only; the run waits until someone answers or stops it. The CLI shows the raw tool call and cannot answer.
Answer: Add Skip, which tells the agent no answer was given, and let the CLI answer with free text (
ace answer <channel> <text>). - Q157
Should @ mention people in the channel?
@suggests onlyace, even with teammates in the channel. On the Dashboard any@wordbecomes a chip for a name that doesn't exist. - Q158
Should Copy message link work?
The toolbar shows Copy message link, always disabled.
- Q159
Should agents ask before running tools?
Agents run every tool without approval; there is no approval request in the channel, the app or the CLI.
- Q201
Do you want a desktop pass?
These steps only exist in the desktop app (updates, the Ace Helper menu and Login Items, computer use). Testing them means launching a desktop build, which takes focus on your screen, so they stay untested.