Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3112 commits
Select commit Hold shift + click to select a range
718c63d
feat(server): preserve budgeted history across provider handoffs (#12…
juliusmarminge Sep 18, 2026
368884c
fix(server): decode v1 message events persisted with a reasoning role…
chrisdeeming Sep 18, 2026
88a4784
test(server): align V2 fixtures with OTLP log configuration
juliusmarminge Sep 18, 2026
ceeb506
fix(acp): reconcile elicitation validation with V2 protocol compatibi…
juliusmarminge Sep 19, 2026
ec4e00f
fix(server): release thread history after provider turn startup
juliusmarminge Sep 19, 2026
3d458db
fix(server): avoid full transcript reads in provider run guards
juliusmarminge Sep 19, 2026
8c2aea4
fix(server): release delivered snapshots from live RPC streams
juliusmarminge Sep 19, 2026
612927b
fix(shared): release successful results from completed trace spans
juliusmarminge Sep 19, 2026
1710595
fix(v2): reconcile main cleanup and mobile device controls
juliusmarminge Sep 19, 2026
ed322cb
fix(server): decode transcript tool payloads only once
juliusmarminge Sep 19, 2026
79fb689
fix(server): refresh completed runs without loading transcripts
juliusmarminge Sep 19, 2026
0982aae
fix(server): avoid transcript reloads during run completion
juliusmarminge Sep 19, 2026
5c3921b
fix(server): load targeted state when starting provider turns
juliusmarminge Sep 20, 2026
5879be6
fix(notifications): silence subagent threads
maria-rcks Sep 19, 2026
334655f
fix(preview): restore v2 sizing and project access (#12548)
juliusmarminge Sep 19, 2026
bcef17d
fix(server): settle V2 threads after linked PR merges (#12568)
Bil0000 Sep 19, 2026
04f0fda
fix(web): show subagent models and running count in Lineage (#12491)
Bil0000 Sep 19, 2026
cc6a351
fix(web): show Auto balance in the workspace host menu (#12481)
Bil0000 Sep 19, 2026
dc8c228
fix(chat): present and summarize all T3 tools (#12671)
juliusmarminge Sep 20, 2026
c390539
feat(web): list linked PRs in workspace card (#12574)
Bil0000 Sep 20, 2026
0b1ee28
fix(web): make PR badge hover lists easy to click (#12378)
Bil0000 Sep 20, 2026
9b0d644
fix(mobile): preserve native send choices and keyboard (#12770)
juliusmarminge Sep 20, 2026
45c7e75
fix(server): surface actionable provider failure messages (#12560)
juliusmarminge Sep 20, 2026
3edc5d5
fix(web): keep workspace card action hover uniform (#12766)
Bil0000 Sep 20, 2026
05abce1
fix(web): stop citation popovers flying into position
juliusmarminge Sep 21, 2026
d612487
fix(web): hide raw image markup in queue previews (#12820)
maria-rcks Sep 21, 2026
6c56ad6
feat(v2): show provider limit stops as Limited (#12677)
juliusmarminge Sep 21, 2026
6d074cd
feat(v2): resume limited threads when usage resets (#12686)
juliusmarminge Sep 21, 2026
4728886
feat(v2): snooze limited threads until usage resets (#12687)
juliusmarminge Sep 21, 2026
b7a147d
fix(v2): keep failed turns visible in the transcript (#12783)
juliusmarminge Sep 21, 2026
e459214
refactor(server): share scheduling for tasks and limit recovery (#12795)
juliusmarminge Sep 21, 2026
894f6c4
fix(v2): reconcile main UI, attachment limits, and logging fixtures
juliusmarminge Sep 21, 2026
98b03d9
test(v2): align handoff fixtures with larger attachment limits
juliusmarminge Sep 21, 2026
7b13cd9
feat(web): color handoff model names with their provider brand color …
maria-rcks Sep 21, 2026
5d4423b
refactor(web): remove the agents right panel (#12835)
maria-rcks Sep 21, 2026
b4544f9
feat(web): clearer icons for the workspace panel controls (#12838)
maria-rcks Sep 21, 2026
e3bdfd7
feat(web): give lineage subagent hovers the thread hover card (#12842)
maria-rcks Sep 21, 2026
ccf43cc
fix(v2): reconcile main composer layout and undo actions
juliusmarminge Sep 21, 2026
3409430
fix(v2): remove obsolete composer breakpoint animation
juliusmarminge Sep 21, 2026
534b7d4
fix(server): avoid transcript reads when checking run interrupts
juliusmarminge Sep 21, 2026
28051c4
fix(server): replace unnecessary full projection reads
juliusmarminge Sep 21, 2026
7a4a03c
perf(pr): reduce quota use when refreshing workspace checks (#12442)
Bil0000 Sep 21, 2026
1b8dd36
test(v2): expose scoped reads in provider replay harness
juliusmarminge Sep 21, 2026
d37d9b4
fix(server): recover Pi resumes without reusing native history (#12933)
juliusmarminge Sep 21, 2026
9efeb18
fix(settings): restore V2 controls and shared settings layout
juliusmarminge Sep 21, 2026
35b9f0c
feat(web): edit the last queued message with Option+Up (#12599)
jakeleventhal Sep 21, 2026
8383410
fix(web): edit automations from thread details (#12408)
saphid Sep 21, 2026
943ab9a
fix(server): preserve provider history across repeated rollbacks (#12…
Derpedyea Sep 21, 2026
474124a
fix(server): start ACP MCP bridge in self-contained runtime (#12747)
pekth Sep 21, 2026
6f3cb06
fix(server): launch contained ACP providers from packaged runtimes (#…
pekth Sep 21, 2026
2f534ff
fix(web): restore sidebar order during thread context drags
juliusmarminge Sep 21, 2026
3d564a5
refactor(server): resolve self invocations through one shared helper …
juliusmarminge Sep 21, 2026
7a0c47f
perf(server): stop decoding unrelated events during startup (#12846)
extoci Sep 21, 2026
630cf22
perf(server): stop maintaining redundant projection indexes (#12847)
extoci Sep 21, 2026
47d533e
feat(cursor): support browser login for the agent SDK (#12948)
Yash-Singh1 Sep 21, 2026
bcbe95e
fix(server): fail V2 runs when provider sessions cannot open (#12790)
pekth Sep 21, 2026
1421612
fix(server): fail runs when provider startup preparation fails (#12409)
saphid Sep 21, 2026
324038f
fix(server): select an available provider for delegated tasks (#11870)
saphid Sep 21, 2026
45e2485
feat(web): show a turn's subagents as one collapsible card (#12839)
maria-rcks Sep 21, 2026
4ccfdee
feat(mobile): show subagents in a collapsible card (#12961)
juliusmarminge Sep 22, 2026
c267ec1
fix(chat): link agent attribution to its source thread (#12971)
juliusmarminge Sep 22, 2026
77acaf5
fix(orchestration): settle subagent statuses and activation timers (#…
juliusmarminge Sep 22, 2026
52db643
fix(server): retry provider session opens before failing the run (#13…
t3dotgg Sep 22, 2026
b8aadbf
feat(auth): share provider sign-in flows across clients (#12965)
juliusmarminge Sep 22, 2026
33817c1
refactor(cursor): use shared provider account setup and storage (#12966)
juliusmarminge Sep 22, 2026
acebb3f
feat(acp): connect registry providers to shared sign-in flows (#12967)
juliusmarminge Sep 22, 2026
19c1428
fix(v2): reconcile main settings, auth, and shared controls
juliusmarminge Sep 23, 2026
ebf8a82
fix(v2): preserve main scroll fixes and mobile module boundaries
juliusmarminge Sep 23, 2026
81f2d75
fix(v2): hidden automatic queued runs no longer block settling a thread
juliusmarminge Sep 23, 2026
00056fd
fix(v2): reconcile main mobile lists and provider compatibility
juliusmarminge Sep 23, 2026
486a270
fix(v2): reconcile main shared controls and render recovery
juliusmarminge Sep 23, 2026
1688f02
fix(v2): remove stale panel styling exports
juliusmarminge Sep 23, 2026
f4b0b5b
feat(web): integrate responsive chat and thread details
juliusmarminge Sep 23, 2026
b245b09
feat(v2): make worktree branch naming configurable (#13294)
juliusmarminge Sep 23, 2026
15cc654
fix(cua): show call titles and align app icons (#13307)
Yash-Singh1 Sep 23, 2026
3c82794
fix(server): reduce retained thread memory in PR lookups and turn sta…
juliusmarminge Sep 23, 2026
c851f8c
refactor(server): detach PR lookup stacks instead of a custom cache (…
juliusmarminge Sep 23, 2026
33868db
fix(mobile): lift working control above question overlay (#13297)
gabrielelpidio Sep 23, 2026
a1a7de2
perf(server): speed up cold desktop launches (#13320)
Yash-Singh1 Sep 23, 2026
6f3040d
fix(web): handle thread details context clicks (#13323)
Yash-Singh1 Sep 24, 2026
a28fc10
fix(desktop): resolve Windows userData without yielding before the Cl…
SunkenInTime Sep 24, 2026
68cd258
fix(v2): reconcile latest main after rebase
juliusmarminge Sep 24, 2026
6dbe344
fix(v2): keep relay helpers private after rebase
juliusmarminge Sep 24, 2026
3b89388
fix(v2): cover Pi compatibility after main sync
juliusmarminge Sep 24, 2026
1c339ef
fix(orchestration): report subagent models and use live model choices…
Bil0000 Sep 24, 2026
cadac54
fix(server): keep Claude subagent output in the subagent's thread (#1…
scratchyone Sep 24, 2026
833d52e
fix(web): align workspace card controls
juliusmarminge Sep 24, 2026
2b6f2af
fix(server): link agent-sent messages to their source thread
juliusmarminge Sep 24, 2026
d10bebc
test(server): remove skipped, duplicate, and constant-restating V2 te…
juliusmarminge Sep 24, 2026
2e01848
fix(server): Codex V2 runs skills typed with any currency sigil (#13461)
juliusmarminge Sep 24, 2026
4784fba
refactor(server): remove the unused V1 Codex session runtime (#13462)
juliusmarminge Sep 24, 2026
7bc65c0
fix(server): Codex V2 sessions use the configured launch arguments (#…
juliusmarminge Sep 24, 2026
f6924fd
fix(server): merged PRs update and auto-settle threads again (#13476)
Bil0000 Sep 24, 2026
430dfd1
fix(server): Codex V2 sessions expand ~ in the binary path (#13470)
juliusmarminge Sep 24, 2026
d861582
fix(server): Claude V2 sessions expand ~ in the binary path (#13471)
juliusmarminge Sep 24, 2026
e7b2407
chore(server): unexport OpenCode capabilities left unused by test rem…
juliusmarminge Sep 24, 2026
3eb213c
test(server): make the provider-switch resume-failure test reach the …
juliusmarminge Sep 24, 2026
a967baf
fix(v2): reconcile latest main protocol and theme updates
juliusmarminge Sep 24, 2026
c9ad902
chore(web): drop the right panel sheet class left unused by the V2 re…
juliusmarminge Sep 24, 2026
13aec8a
fix(server): Cursor V2 threads load project skills and rules (#13499)
juliusmarminge Sep 24, 2026
a99b46e
test(server): re-record Cursor replay fixtures and cover skills live …
juliusmarminge Sep 24, 2026
b0abc48
fix(codex): replay legacy user-input requests as blocking (#13509)
juliusmarminge Sep 24, 2026
a63d9c5
test(server): record the Codex thread rollback fixture live on 0.156.…
juliusmarminge Sep 24, 2026
d4af1c4
test(server): record Codex multi-agent V2 subagents live on 0.156.1 (…
juliusmarminge Sep 24, 2026
f720d27
fix(v2): reconcile main auto-settle controls and preview migrations
juliusmarminge Sep 24, 2026
e692dbb
fix(web): ungroup single subagents and stabilize group expansion
juliusmarminge Sep 25, 2026
3413d33
fix(codex): preserve native item start times (#13525)
Yash-Singh1 Sep 25, 2026
899a93a
test(server): replace Pi adapter unit tests with live replay fixtures…
juliusmarminge Sep 25, 2026
06e80a6
test(server): remove replay harness self-tests (#13531)
juliusmarminge Sep 25, 2026
85aaa11
test(server): record Claude background task and subagent lifecycles l…
juliusmarminge Sep 25, 2026
75c7e9e
test(server): record Codex replay fixtures on gpt-6-luna and Codex 0.…
juliusmarminge Sep 25, 2026
cb879a9
fix(server): keep a Claude wake reply off the user's queued message (…
juliusmarminge Sep 25, 2026
37da532
fix(web): align workspace controls and restore split hover states
juliusmarminge Sep 25, 2026
3cb31a1
fix(server): Cursor sandboxed threads find their helper when running …
juliusmarminge Sep 25, 2026
c361921
chore(web): keep the thread details split surface class module-privat…
juliusmarminge Sep 25, 2026
20c5739
fix(server): Codex V2 threads show todo lists again (#13546)
juliusmarminge Sep 25, 2026
3d23e15
fix(web): resize floating previews smoothly above the composer
juliusmarminge Sep 25, 2026
7381ed9
refactor(server): record Cursor replay fixtures with Effect (#13556)
juliusmarminge Sep 25, 2026
cb8dce4
test(server): record Grok replay fixtures from a live grok agent (#13…
juliusmarminge Sep 25, 2026
bf1e8c5
fix: reconcile latest main changes with V2
juliusmarminge Sep 25, 2026
175e2bd
fix(server): Grok monitor updates stay running until Grok says they f…
juliusmarminge Sep 25, 2026
81744b3
test(server): assert the read-only on-request write by its permission…
juliusmarminge Sep 25, 2026
87c67bd
test(clients): retain main relay compatibility regression coverage
juliusmarminge Sep 25, 2026
c13f7d9
feat(release): ship a Linux .deb that updates itself (#13575)
t3dotgg Sep 25, 2026
f8b8634
fix(server): ACP agents can read files under on-request approval (#13…
juliusmarminge Sep 25, 2026
d10bd13
perf(desktop): cache compiled JavaScript between launches (#13501)
t3dotgg Sep 25, 2026
1f2f91d
fix(server): show diffs for ACP edits that send oldText/newText (#13579)
juliusmarminge Sep 25, 2026
b3de243
fix(dev): one t3.json setup action that works on every OS (#13589)
t3dotgg Sep 25, 2026
13d6b30
fix(web): new worktree threads no longer say "checkout" during setup …
t3dotgg Sep 25, 2026
86054b6
fix(desktop): `t3 app` keeps working after a second desktop app quits…
t3dotgg Sep 25, 2026
e3e7cc3
fix(usage): price Claude fast-mode requests at the fast rate (#13599)
t3dotgg Sep 25, 2026
e55e731
fix: update OpenAI logo to current brand asset (#13611)
aaditagrawal Sep 25, 2026
1c12706
fix(mobile): render assigned project icons in chat list (#12810)
SunkenInTime Sep 25, 2026
e5a46d6
feat(usage): read cursor, opencode, and antigravity history (#10409)
maria-rcks Sep 25, 2026
d06f0ff
fix(sqlite): retry failed statement preparations (#10584)
yashranaway Sep 25, 2026
7a12aff
fix(mobile): scale Android controls with appearance text size (#13356)
none23 Sep 25, 2026
a4f6078
fix(web): return focus to the composer after saving a citation note (…
mackinleysmith Sep 25, 2026
b64278c
fix(clients): native subagent threads show when they are working (#13…
juliusmarminge Sep 25, 2026
6c39f90
fix(server): startup recovery settles native subagent threads (#13619)
juliusmarminge Sep 25, 2026
690c57f
fix(server): Claude subagent threads show their thinking (#13626)
juliusmarminge Sep 25, 2026
a4cd403
fix(server): a resumed Claude subagent's thread shows the message tha…
juliusmarminge Sep 25, 2026
fd996d1
feat(observability): honor the standard OTLP endpoint, headers, and p…
yordis Sep 25, 2026
d3179b6
fix(clients): native subagent threads show status instead of a compos…
juliusmarminge Sep 25, 2026
1a0c915
fix(terminal): settling a thread closes its idle shells (#13673)
t3dotgg Sep 25, 2026
f5bd2fd
fix(server): load Cursor keyring with createRequire (#13678)
Yash-Singh1 Sep 25, 2026
4293433
perf(server): avoid rereading unchanged files in review previews (#13…
shivamhwp Sep 25, 2026
2598ce7
feat(desktop): honor the standard OTLP variables in the main process …
yordis Sep 25, 2026
ed809f7
fix(web): restore compact provider instance badges (#13700)
t3-code[bot] Sep 25, 2026
e1b6476
fix(server): Codex subagent approvals show up in the parent thread (#…
juliusmarminge Sep 25, 2026
fed2604
test(server): support replay gates for ACP providers (#13594)
juliusmarminge Sep 25, 2026
48b5111
fix(server): finish Grok background subagents from subagent_finished …
juliusmarminge Sep 25, 2026
541b6b9
fix(server): V2 Grok launches in the thread's permission mode (#13616)
juliusmarminge Sep 25, 2026
1d1b3bc
fix(server): Antigravity keeps its workspace containment (#13613)
juliusmarminge Sep 25, 2026
6107b66
refactor(server): ACP client fs and terminals are opt-in per flavor (…
juliusmarminge Sep 25, 2026
fe565ae
fix(server): Grok no longer offers Auto-accept edits (#13719)
juliusmarminge Sep 25, 2026
86e3487
refactor(server): remove the generic ACP client fs guard and write gr…
juliusmarminge Sep 25, 2026
cbe13c4
fix(server): ACP mode picks reach agents that name their mode option …
juliusmarminge Sep 26, 2026
01dba73
fix(server): subagent approvals always land in the parent run (#13726)
juliusmarminge Sep 26, 2026
f969b21
fix(server): Grok replies finish when Grok finishes them, not when ba…
juliusmarminge Sep 26, 2026
4812e12
refactor(server): fence the ACP registry adapter's per-agent exceptio…
juliusmarminge Sep 26, 2026
d1f92e6
fix(clients): provider subagent threads never show a composer (#13727)
juliusmarminge Sep 26, 2026
bb89d58
fix(clients): subagent threads fold their work like other threads (#1…
juliusmarminge Sep 26, 2026
c48e8a9
fix(server): finished Claude subagents leave no running rows (#13730)
juliusmarminge Sep 26, 2026
525af2d
perf(mobile): lighter Home rows away from the viewport (#13702)
AKolenda Sep 26, 2026
aade3a6
fix(usage): price Cursor cache savings by base model (#13731)
Yash-Singh1 Sep 26, 2026
595a1e1
perf(mobile): render Home rows further ahead while scrolling (#13705)
AKolenda Sep 26, 2026
2a9832b
refactor(observability): name each service after its application (#13…
yordis Sep 26, 2026
fd4d3f0
fix(server): Grok's Auto mode asks you about commands its classifier …
juliusmarminge Sep 26, 2026
de612cf
docs: ACP agents run their own tools, and Grok has no Auto-accept edi…
juliusmarminge Sep 26, 2026
70629cd
fix(server): a Claude subagent resumed after a server restart stays i…
juliusmarminge Sep 26, 2026
c216ba4
perf(server): stop remapping every thread on each thread event (#13720)
t3dotgg Sep 26, 2026
5660ab5
Remove unused items tracking from Claude adapter state (#13718)
t3dotgg Sep 26, 2026
20885ce
feat(observability): name the command on subprocess spans (#13701)
t3dotgg Sep 26, 2026
7c901a3
fix(cli): t3 triage points agents at log files that exist (#13685)
t3dotgg Sep 26, 2026
8aa5be2
fix(server): the SQLite WAL file shrinks back after large writes (#13…
t3dotgg Sep 26, 2026
75bf92e
feat(cli): summarize the server trace file from the command line (#13…
t3dotgg Sep 26, 2026
6530de0
perf(server): pull request sync reads only threads with linked pull r…
t3dotgg Sep 26, 2026
1dc8cbe
feat(observability): write a server heap snapshot on SIGUSR2 (#13694)
t3dotgg Sep 26, 2026
574b180
perf(server): shutdown no longer rewrites every stopped session row (…
t3dotgg Sep 26, 2026
b6eefc9
perf(server): build the thread list snapshot without decoding it twic…
t3dotgg Sep 26, 2026
b2577d6
fix(client): slow servers finish loading the thread list instead of l…
t3dotgg Sep 26, 2026
6989856
perf(web): hidden terminal drawers no longer keep full thread history…
t3dotgg Sep 26, 2026
3b0a495
perf(server): per-thread settlement and PR checks no longer rebuild t…
t3dotgg Sep 26, 2026
ecd3237
fix(mobile): running threads open at the latest message (#13530)
AKolenda Sep 26, 2026
ee18e56
feat(observability): record event loop stalls in the server trace (#1…
t3dotgg Sep 26, 2026
999161e
perf(server): stop re-running git for every project each minute (#13689)
t3dotgg Sep 26, 2026
94c4216
fix(usage): hide the Cursor keychain prompt when Cursor isn't set up …
Gigioxx Sep 26, 2026
04c15f3
feat(web): add chat width setting for wide screens (#11594)
otavio Sep 26, 2026
4408bf5
fix(opencode): accept v2 serve ready line when spawning server (#13651)
shirishpothi Sep 26, 2026
1e844a3
fix(editors): stop treating the agy CLI as the Antigravity IDE (#7079)
ishaanko Sep 26, 2026
eeea71a
fix(web): make the empty workspace draggable on desktop (#13713)
otavio Sep 26, 2026
dd8332d
fix(server): installed editors no longer vanish when discovery is slo…
bfowler Sep 26, 2026
29a3266
fix(git): exclude SSH ports from provider URLs (#12537)
GaMeRaM Sep 26, 2026
5d707bb
fix(web): Mod+B bolds on non-Latin layouts (#13409)
ValeraZSD Sep 26, 2026
a21b42c
fix(server): prune expired replay-protection files from the secrets d…
t3dotgg Sep 26, 2026
8bc9b78
fix(web): terminal links drop a trailing colon (#13408)
ValeraZSD Sep 26, 2026
4923ff4
fix(server): bump node-pty to 1.2.0-beta.15 for linux-arm64 prebuild …
Ephraim-9 Sep 26, 2026
92f0af2
Show a focus ring on sidebar thread and draft rows (#13344)
ryanilano Sep 26, 2026
dab9561
fix(mobile): keep composer within folded screen after resume (#13310)
PixPMusic Sep 26, 2026
2679d27
fix(server): let OpenCode generate session titles (#13368)
macodev00 Sep 26, 2026
def34c2
fix(server): let Antigravity inspect unsupported files by path (#13339)
Bil0000 Sep 26, 2026
fe6388f
fix(mobile): link URLs with ports and single-label hosts (#13795)
Yash-Singh1 Sep 26, 2026
daafcc4
feat(web): add keyboard navigation for usage (#10158)
tris203 Sep 26, 2026
99efaea
perf(observability): stop writing empty spans on spawns, projected ev…
t3dotgg Sep 26, 2026
8b873ea
perf(server): opening Diagnostics no longer loads the whole trace rin…
t3dotgg Sep 26, 2026
6f97b0f
perf(clients): sort projects and settled threads without re-parsing d…
t3dotgg Sep 26, 2026
294dd12
fix(observability): the renderer trace proxy stops tracing itself (#1…
t3dotgg Sep 26, 2026
1d6f23b
perf(server): background sweeps only read threads that can still sett…
t3dotgg Sep 26, 2026
9151ea4
perf(clients): saving the thread list cache no longer freezes the UI …
t3dotgg Sep 26, 2026
8872666
perf(server): cut idle wakeups from the Connect relay and session rea…
t3dotgg Sep 26, 2026
81e0491
fix(mobile): keep trailing underscores and tildes in autolinked URLs …
Yash-Singh1 Sep 26, 2026
b882b10
fix(server): allow forks from provider-finished runs (#13541)
Yash-Singh1 Sep 26, 2026
295d7cb
fix(web): queued messages send while their thread is not open (#13764)
t3dotgg Sep 26, 2026
95030dc
fix(server): background git status fetches no longer fill the disk wi…
t3dotgg Sep 26, 2026
954dbd7
fix(server): Grok's "Always allow this session" no longer saves a pro…
juliusmarminge Sep 26, 2026
98400c6
fix(server): ACP auto-approvals allow once instead of always (#13802)
juliusmarminge Sep 26, 2026
3ec7df1
fix(server): Claude asks before commands in Auto-accept edits (#13786)
juliusmarminge Sep 26, 2026
55cb2fc
fix(server): Implement starts a run from a proposed plan again (#13775)
juliusmarminge Sep 26, 2026
0481b76
fix(server): Codex plans offer Implement again (#13793)
juliusmarminge Sep 26, 2026
43b480b
fix(web): a command you stop stays in the timeline (#13790)
juliusmarminge Sep 26, 2026
c38c60f
fix(server): a Cursor command you stop shows as interrupted (#13806)
juliusmarminge Sep 26, 2026
75afe68
fix(server): Grok background shell commands stay in the run that star…
juliusmarminge Sep 26, 2026
d2269c3
fix(server): Pi rollback works past a turn you stopped (#13797)
juliusmarminge Sep 26, 2026
4fafbbe
fix(server): sandboxed Cursor threads keep working after a Full acces…
juliusmarminge Sep 26, 2026
75d63d6
fix(mobile): thread list shows the pull request icon instead of # (#1…
flamboh Sep 26, 2026
2c388da
fix(server): Codex rollback works after the app-server restarts (#13787)
juliusmarminge Sep 26, 2026
0b4f386
chore(v2): merge main into the V2 branch (48 commits) (#13800)
juliusmarminge Sep 26, 2026
18cf621
Merge main into the V2 branch (record ancestry)
juliusmarminge Sep 26, 2026
65cab67
Merge main into the V2 branch (#13742)
juliusmarminge Sep 26, 2026
d6c539e
fix(server): retry Cursor text generation without sandboxing (#13863)
Yash-Singh1 Sep 26, 2026
bfb3501
fix(server): keep running after Cursor shell spawn failures (#13862)
Yash-Singh1 Sep 26, 2026
6cae455
fix(server): preserve context occupancy across model handoffs (#13871)
Yash-Singh1 Sep 26, 2026
eec0514
fix(server): recover Cursor sends from abandoned local runs (#13878)
Yash-Singh1 Sep 26, 2026
2e68ee5
perf(server): Claude item ordinals no longer copy a session-wide map …
juliusmarminge Sep 26, 2026
2d359e3
perf(server): Cursor item ordinals no longer copy a session-wide map …
juliusmarminge Sep 26, 2026
52d84bd
perf(server): ACP item ordinals no longer copy a session-wide map per…
juliusmarminge Sep 26, 2026
93dbb55
perf(server): Codex item maps no longer grow and copy for the whole s…
juliusmarminge Sep 26, 2026
00e1a9c
fix(server): allow handoff after a provider session detaches (#13882)
Yash-Singh1 Sep 26, 2026
069058c
fix(server): Stop ends a Claude thread's background work after the tu…
juliusmarminge Sep 27, 2026
9fcc9a4
fix(server): a failed rollback shows an error instead of hanging (#13…
juliusmarminge Sep 27, 2026
4018a6c
fix(server): preserve queued messages after usage limits (#13877)
Yash-Singh1 Sep 27, 2026
a3fbbe4
fix(v2): show read and search tool activity accurately (#13375)
Yash-Singh1 Sep 27, 2026
0dcb029
fix(server): Claude wake turns keep the rejected limit's reset time (…
saphid Sep 27, 2026
402205e
feat(mcp): expose thread settlement in t3_thread_list and t3_thread_r…
SunkenInTime Sep 27, 2026
b39e62d
fix(server): parents keep getting woken for every delegated task that…
juliusmarminge Sep 27, 2026
b222464
fix(clients): older clients skip event types they don't know instead …
juliusmarminge Sep 27, 2026
6134998
test(server): stop ACP soft-steer tests racing the prompt settle (#13…
saphid Sep 28, 2026
413abe5
fix(orchestration-v2): read native Codex subagent models
Bil0000 Sep 28, 2026
bb35145
fix(orchestration-v2): accept later Cursor subagent models
Bil0000 Sep 28, 2026
f213707
fix(orchestration-v2): accept later ACP subagent models
Bil0000 Sep 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
21 changes: 0 additions & 21 deletions .agents/skills/ios-debugger-agent/LICENSE

This file was deleted.

64 changes: 0 additions & 64 deletions .agents/skills/ios-debugger-agent/SKILL.md

This file was deleted.

9 changes: 0 additions & 9 deletions .agents/skills/ios-debugger-agent/agents/openai.yaml

This file was deleted.

21 changes: 0 additions & 21 deletions .agents/skills/ios-simulator-browser/LICENSE

This file was deleted.

51 changes: 0 additions & 51 deletions .agents/skills/ios-simulator-browser/SKILL.md

This file was deleted.

4 changes: 0 additions & 4 deletions .agents/skills/ios-simulator-browser/agents/openai.yaml

This file was deleted.

104 changes: 28 additions & 76 deletions .agents/skills/test-t3-app/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,89 +1,41 @@
---
name: test-t3-app
description: Launch, retain, and test the T3 Code web app in isolated development environments, including first-try browser authentication with one-time pairing URLs, pairing-token recovery, worktree-safe state directories, cross-turn dev server lifecycle, and direct SQLite inspection or fixture seeding. Use when an agent needs to run T3 locally, iteratively test UI behavior with a human, recover from an expired or consumed pairing token, isolate dev state, or prepare test data in state.sqlite.
description: Test T3 Code's web and desktop UI through its built-in Browser panel against isolated development state. Use for browser verification, browser pairing recovery, and test fixtures. Use test-t3-mobile for native mobile verification.
---

# Test T3 App
# Test T3 web and desktop

Use this skill for the web client. For iOS Simulator, Android Emulator, or physical-device testing against an isolated T3 backend, use the sibling [`test-t3-mobile`](../test-t3-mobile/SKILL.md) skill.
Use T3's built-in Browser panel for verification. If its tools are absent or
the panel reports unavailable, explain the blocker and stop verification.
Do not install or switch to another automation system. For native mobile
testing, use [test-t3-mobile](../test-t3-mobile/SKILL.md).

## Start an isolated web environment
## Start the app

1. Run commands from the repository root.
2. Choose a base directory that belongs only to the current worktree or test:
- Use the repository's ignored `.t3` directory for reusable worktree-local state.
- Use `mktemp -d /tmp/t3code-test.XXXXXX` for disposable state and retain the printed absolute path.
3. Start the full web stack with `vp run dev --home-dir <base-dir>`.
4. Keep the terminal session alive and read the selected server port, web port, base directory, and pairing URL from its output.
Reuse this task's healthy dev server. Otherwise run `vp run dev` from the
repository root and retain its terminal session. Use the worktree's ignored
`.t3` state and read the actual ports and pairing URL from the dev-runner output.
Never run against `~/.t3/userdata` or set `VITE_HTTP_URL` or `VITE_WS_URL`.

Treat a base directory as disposable only when it was created or deliberately selected for the current test. Never delete or directly seed the shared `~/.t3` directory. Prefer starting with a new temporary base directory over clearing state of uncertain ownership.
Test with meaningful project and thread data. Read
[references/sqlite-fixtures.md](references/sqlite-fixtures.md) only when
inspecting or seeding SQLite. Stop the test server before direct fixture writes.

The dev runner disables browser auto-open by default. Do not pass `--browser` during automated testing: an automatically opened page can consume the one-time bootstrap token before the controlled browser uses it.
## Use the Browser panel

## Preserve the environment while iterating
Call `preview_status`, then `preview_open` if the Browser panel is
closed. Navigate to the complete startup pairing URL once with
`preview_navigate`, then use `preview_snapshot` and T3's interaction tools.
If the token was consumed or expired, run `node apps/server/src/bin.ts pair`
for a fresh one. Keep using the same tab.

Treat the overall testing or implementation loop—not an assistant turn or one verification pass—as the environment lifecycle boundary.
## Verify and retain

- Keep the dev process, base directory, selected ports, authenticated browser tab, registered projects, and seeded fixtures alive while the user may inspect the result or request follow-up changes.
- Do not stop the server merely because one verification pass completed or because you are yielding a response to the user.
- Before starting another environment, check whether the existing process and browser tab still serve the task. Reuse them when healthy instead of discarding useful state.
- On a later turn, verify that the existing process is alive and reuse its printed ports and base directory. If it exited, restart with the same base directory; create a new pairing token only when the browser session is no longer valid.
- Tell the user when a test environment remains available, including its non-secret web URL when useful. Never include a pairing token.
Exercise the affected flow and capture the state that proves it works. Keep
the server, state, and panel available while the user inspects or iterates.
An assistant turn ending is not teardown. Stop only processes you started,
using retained terminal sessions or captured PIDs.

## Authenticate the browser on the first navigation

1. Wait for the server log that says authentication is required and includes a URL ending in `/pair#token=...`.
2. Use the controlled in-app browser or browser-automation surface available to the agent. Do not use a system-browser launch command during automated testing.
3. Open that complete URL exactly once as the controlled browser's first navigation. Preserve the fragment and token verbatim.
4. Wait for the pairing exchange and redirect to finish before navigating elsewhere.
5. Continue in the same browser context so its stored bearer session remains available.

Treat pairing URLs as secrets. Do not copy them into final responses, screenshots, committed files, or durable logs. A pairing token is short-lived and single-use; opening the URL in another browser or opening it twice can consume it.

## Recover a consumed or expired pairing token

Create another token against the same database and web URL as the running dev server:

```bash
T3CODE_PORT=<server-port> node apps/server/src/bin.ts auth pairing create \
--base-dir <base-dir> \
--dev-url <web-url> \
--base-url <web-url> \
--ttl 15m \
--label agent-ui-test
```

Use the `Pair URL` from this command once. Derive `<server-port>` and `<web-url>` from the current dev-runner output, including any automatically selected port offset. Setting `T3CODE_PORT` keeps the administrative CLI from probing for an unrelated free port.

Always pass `--dev-url` for a dev-runner environment so the generated pairing URL uses the current web origin. An explicit base directory stores runtime state in `<base-dir>/userdata`; the `<base-dir>/dev` fallback is only used by an implicit dev home. Use `auth pairing list` to inspect active token metadata; it intentionally cannot reveal token secrets.

## Inspect or seed SQLite state

Read [references/sqlite-fixtures.md](references/sqlite-fixtures.md) before changing the database.

- Use `node apps/server/scripts/t3-sqlite-state.ts query` for schema discovery and read-only checks.
- Stop the dev server before using `node apps/server/scripts/t3-sqlite-state.ts exec`, then restart it with the same base directory.
- Seed projection tables only for disposable UI fixtures. Use application commands and APIs when testing business behavior or projection correctness.
- Use the auth CLI, not direct `auth_*` table edits, for pairing and sessions.

The helper refuses to write to the shared `~/.t3` directory by default and creates a database backup before each mutation.

## Tear down only when the testing loop is finished

Tear down when the user explicitly asks, confirms the iteration is finished, or the overall task is genuinely complete with no pending human review. Do not infer completion from the end of an assistant turn.

When teardown is appropriate:

1. Stop the dev process with its terminal interrupt.
2. Preserve the isolated base directory when it contains useful reproduction evidence or state for a likely follow-up.
3. Otherwise remove only a path created for this test after resolving and verifying the exact target.

If completion is uncertain, keep the environment alive and mention that it is retained for further iteration. A fresh isolated base directory remains the safest reset when authentication, migrations, or fixture state becomes ambiguous.

## Troubleshoot predictably

- If the browser shows an unauthenticated pairing screen, issue a new token instead of retrying the consumed URL.
- If the pairing URL is no longer visible, create a replacement token with both `--dev-url` and `--base-url`.
- If the replacement token is rejected, verify that the CLI and server use the identical absolute base directory and web URL.
- If the UI shows unexpected data, verify that every command uses the identical explicit base directory before editing anything.
- If ports move because another instance is running, trust the current dev-runner output rather than assuming ports `13773` and `5733`.
When sharing is requested, start with `vp run dev --share` and give the user
a fresh complete pairing URL that you have not consumed. Keep other credentials
out of screenshots, commits, and replies.
4 changes: 2 additions & 2 deletions .agents/skills/test-t3-app/agents/openai.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
interface:
display_name: "T3 App Testing"
short_description: "Launch and retain isolated T3 test environments"
default_prompt: "Use $test-t3-app to launch an isolated T3 environment and iteratively test it in the browser while preserving state."
short_description: "Test web and desktop in T3's Browser panel"
default_prompt: "Use $test-t3-app to verify the affected web or desktop flow through T3's Browser panel."
Loading
Loading