8000 feat(web): type a machine or model name, press Tab to make it a chip by DominikScholz · Pull Request #5 · DominikScholz/t3code · GitHub
[go: up one dir, main page]

Skip to content

feat(web): type a machine or model name, press Tab to make it a chip - #5

Open
DominikScholz wants to merge 19 commits into
mainfrom
feat/composer-inline-completions
Open

DominikScholz wants to merge 19 commits into
mainfrom
feat/composer-inline-completions

Conversation

@DominikScholz
@DominikScholz DominikScholz commented Nov 6, 2026 •
Copy link
Copy Markdown
Owner

Naming a machine or model meant typing @, finding it in a menu, and clicking. It should work like code completion: start typing the name and it's already there. Now, from the third letter and with no @, the rest of the name appears as gray text after the cursor. Tab turns it into a chip that tells the agent exactly which one you mean, and Esc dismisses it.

This one is opinionated: Tab means "accept" while a suggestion is showing. It keeps its usual meaning otherwise, and nothing is inserted unless you press it.

Before After
before after
  • The ghost text is a ProseMirror decoration, so it updates in the same frame as the keystroke and adds no React state. Only typing proposes a name: moving the caret, pasting, undoing and restoring a draft don't.
  • Model chips use the existing unknown-kind record shape instead of a new contract kind, so older servers and clients already accept them. The agent gets the provider instance and model to pass to delegate_task.
  • Machines are only offered with the Linked environments beta on, same as the @ menu.
  • Web and desktop only. A React Native text input has no ghost text or Tab key, so mobile doesn't offer completions.
  • There is no settings toggle.

Proof: composerInlineSuggestion.test.ts, a browser test covering draw, Tab, Esc, paste and formatting boundaries, and a draft-persistence test. I also drove it in the running app and sent through the replay provider, where both chips rendered in the timeline with the right records. The video was captured at 1/3 speed for smooth playback, then sped back up. vp run check:changed passes. The model chip's guidance is model-facing and the paid evals were not run, since no API keys were available.

Reviewed with sol-loop: 2 rounds with gpt-6.1-sol. Sol verdict: approved

Created with Claude Opus 5.5 in Claude Code.

🤖 Generated with Claude Code

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L labels Nov 6, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@DominikScholz
DominikScholz force-pushed the feat/composer-inline-completions branch from f252cf0 to a7b5762 Compare November 6, 2026 11:25
DominikScholz and others added 18 commits November 6, 2026 12:44
…ion is without @

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nch's own pull request (pingdotgg#29817)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…node of the thread (pingdotgg#31012)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…otgg#31584)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…otgg#31586)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…g#31017)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…aining # (pingdotgg#31928)

Co-authored-by: Adam Otradovec <du239@creditas.cz>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
…er a restart (pingdotgg#32162)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ing in from the corner (pingdotgg#32141)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… the full width (pingdotgg#32142)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…25988)

Co-authored-by: maria-rcks <maria@kuuro.net>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
…ild (pingdotgg#31945)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ace (pingdotgg#31936)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added size:XXL and removed size:L labels Nov 6, 2026

This branch has not been deployed

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

Labels

size:XXL vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants

0