Repository navigation
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ts answer (#135) routeCandidates offers local projects only, each with its last five Claude session titles. routeArgs builds the Haiku call and skips the user's settings, MCP servers and skills, which takes a call from ~8 s to ~2 s. readRouteRun reads the CLI's JSON envelope and trusts no path that isn't a candidate; composeInitialPrompt keeps the original under the rewrite. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A ClaudeCaller port runs one claude -p call through the user's shell in the home directory and kills its whole process group on abort. AskRouteService keeps one request in flight: a newer one or cancel() answers cancelled, 30 s answers failed, and it never rejects. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…channels (#135) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…135) A box under Patch on the empty screen, focused whenever the screen comes into view. Enter sends the text to be routed; the box locks while Patch thinks, and Esc cancels. A sure answer starts the session on the routed prompt, an unsure one lists up to three projects to choose from, and anything else opens the New Session picker carrying the text as typed. The box's phases live in a new ask slice; launchClaudeSession and the picker take an optional initial prompt. The route candidates are built by a local placeholder until domain/ask/route lands. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…#135) The fake claude answers a routing call from a file the test writes, so the journeys run the real IPC, the user's shell and the answer parsing. With the box holding the focus on the empty screen, Cmd+A would have become Select All there; it opens the New Session picker while the box is empty. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… the original (#135) Trying it showed people talk to Patch ("let's change the font to Arial on MoveLab Connect Web"), and a tidy-only rewrite left the session with a bare "Change the font to Arial." Haiku now writes one to three sentences addressed to Claude: the goal and what done looks like, still naming no files or causes it can't see. The (Original: …) line is dropped. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #135
What
claude -p --model haikuwith structured output through the user's shell, using their subscription login. Haiku gets the local projects (no remotes, no worktrees), each with its folder name and five newest session titles, plus the text as typed. A path Haiku invents is dropped (src/domain/ask/route.ts).--setting-sources "" --strict-mcp-config --mcp-config '{"mcpServers":{}}' --disable-slash-commands --system-prompt …). That took a call from about 8 s and ~388k tokens to about 3 s and ~2k.--barewould go further, but it never reads the subscription login. In the real app a routed call answered in 3.1 s.launchClaudeSession(project, { initialPrompt })andprojectPicker { initialPrompt }carry a starting prompt. A plan picked in the picker ignores it, and so does a remote project, which can't take one yet.Worth knowing
Nnow types an "n" on the empty screen instead of starting a quick session.dialogs.spec.tsnow expects the box.peekwith a thinking line.ARCHITECTURE.mddoesn't mentiondomain/ask/yet.Tests
test/ask-route.test.ts: candidates, argv, prompt, reading the CLI envelope (including a real error sample), validation, failure and usage-limit lines.test/ask-route-service.test.ts: success, cancel, superseded call, timeout, non-zero exit, usage limit.test/ask-slice.test.ts,test/ask-keys.test.ts: the box's phases, keys, focus rule, Cmd+A and Patch's lines.ask-patch.spec.ts: a confident start, choosing among candidates, Esc while thinking, and a usage-limit failure falling back to the picker.claudeanswers a routing call from a file the test writes, so these runs go through the real IPC, the shell and the parser.🤖 Generated with Claude Code