Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2752 commits
Select commit Hold shift + click to select a range
78d9a22
fix(coderd/x/chatd): detect disconnected agents in getWorkspaceConn (…
mafredri Apr 22, 2026
9634739
fix: support Bedrock ambient AWS credentials for Agents providers (#2…
ibetitsmike Apr 22, 2026
26b64fa
fix(coderd/x/chatd/chatdebug): record SSE attempts on EOF (#24565)
ThomasK33 Apr 22, 2026
b7c2c59
fix(coderd/x/chatd/chatdebug): allow Anthropic per-modality ratelimit…
ThomasK33 Apr 22, 2026
8c0fe6d
feat(site): add chat debug API layer and panel utilities (#23919)
ThomasK33 Apr 22, 2026
249b71b
feat(site): add Debug panel components and settings (#23920)
ThomasK33 Apr 22, 2026
5c316d4
test(site/src/pages/AgentsPage): add Debug panel Storybook stories (#…
ThomasK33 Apr 22, 2026
9b5d09e
test(coderd/x/chatd): seed anthropic provider for computer_use tests …
ibetitsmike Apr 22, 2026
3362b5a
fix: infer workspace from env in `coder support bundle` (#24617)
EhabY Apr 22, 2026
ec91ac5
fix: grant AsAIBridged ResourceSystem.ActionCreate for UpsertAISeatSt…
mtojek Apr 22, 2026
e00e857
chore: move aibridge library code into coder repo (#24190)
pawbana Apr 22, 2026
60186b2
refactor(site/src): split Agent Settings Behavior into focused destin…
ibetitsmike Apr 22, 2026
c23abc6
feat: sort AI sessions by last prompt time (#24440)
jeremyruppel Apr 22, 2026
7904bed
fix: fall back to local git watcher for chat diff drawer (#24512)
ibetitsmike Apr 22, 2026
72e3ae9
feat: add chatd tool call error metrics and logging (#24559)
johnstcn Apr 22, 2026
e421c2f
perf: fix DiffViewer scroll performance (#24300)
jaaydenh Apr 22, 2026
8aa3294
fix(aibridge): track Charm Crush client and session ID (#24630)
dannykopping Apr 22, 2026
075face
fix(site/src/pages/WorkspacePage/WorkspaceNotifications): make works…
code-qtzl Apr 22, 2026
514b499
fix(site): fix workspace unhealthy dialog stories (#24637)
jeremyruppel Apr 22, 2026
1ace519
fix(coderd/x/chatd): remove cache-miss check blocking agent recovery …
mafredri Apr 22, 2026
68508e1
chore(examples): update incus template (#24616)
johnstcn Apr 22, 2026
be1256c
fix(coderd): fix TestListChats/PinnedOnFirstPage race timeout (#24641)
johnstcn Apr 22, 2026
b714fe8
fix(scaletest/prebuilds): make measureDeletion more reliable/less bri…
cstyan Apr 22, 2026
7d044fa
fix(scaletest/prebuilds): fix Runner.Cleanup() to delete workspaces (…
cstyan Apr 22, 2026
4caa528
chore!: remove `api.ts` unnecessary calls (#22168)
jakehwll Apr 22, 2026
7385722
fix(site/src): remove agent settings insights menu link (#24644)
ibetitsmike Apr 22, 2026
06d7fc5
feat: add dependabot security backport labels (#24484)
CommanderK5 Apr 23, 2026
ff1308c
docs: update MCP Server description for clarity (#24655)
matifali Apr 23, 2026
edd5d83
ci: bump the github-actions group with 12 updates (#24558)
dependabot[bot] Apr 23, 2026
f5ccf68
feat: add lima incus example (#24640)
johnstcn Apr 23, 2026
9f02fec
ci(.github/workflows/contrib): skip community label for dependabot (#…
jdomeracki-coder Apr 23, 2026
fb26b39
docs(docs/admin/infrastructure): add Governance Layer section to arch…
jcjiang Apr 23, 2026
135ab29
docs: add v2.32 to release calendar (#24589)
dannykopping Apr 23, 2026
7e29a67
chore(dogfood): add CODER_AGENT_EXP_MCP_CONFIG_FILES env var (#24664)
mafredri Apr 23, 2026
d9e3e20
fix(enterprise/coderd/x/chatd): deflake relay drain test for multiple…
johnstcn Apr 23, 2026
be011b2
fix(cli): fix flaky TestExpAgentsE2E/ExistingChatHistory (#24661)
johnstcn Apr 23, 2026
6edb49d
fix(site): prevent sticky message cycling when submitting edited mess…
DanielleMaywood Apr 23, 2026
2e5c7d9
fix(coderd/x/chatd): fix flaky TestSpawnComputerUseAgentInheritsConte…
johnstcn Apr 23, 2026
537e35d
chore: de-css `<UserSettingsPage />` children (#24647)
jakehwll Apr 23, 2026
95386f5
fix(site): improve agents page mobile view (#24508)
tracyjohnsonux Apr 23, 2026
397c9fb
fix(agent/x/agentdesktop): flaky TestPortableDesktop_StopRecording_Wi…
hugodutka Apr 23, 2026
ca14aa3
fix: stabilize git tab during edit_files (#24648)
johnstcn Apr 23, 2026
e17da2f
fix(site): fix action bar hidden after null-returning assistant messa…
jaaydenh Apr 23, 2026
a8613b2
chore: deprecate /api/v2/aibridge/interceptions endpoint (#24670)
dannykopping Apr 23, 2026
1e21b28
ci: add permissions section to backport.yaml (#24654)
matifali Apr 23, 2026
f96f7b9
fix: promote MCP server display name to a required form field (#24652)
david-fraley Apr 23, 2026
50dbb3d
feat(site/src/pages/AgentsPage/components): allow disengaging plan mo…
david-fraley Apr 23, 2026
e56b409
fix(site): use highlight-orange for warning badge text and border (#2…
tracyjohnsonux Apr 23, 2026
a13f7f1
fix(site): remove last-checked label from git diff panel (#24675)
johnstcn Apr 23, 2026
f8fe5d6
fix(coderd): reject API operations on archived chats (#24633)
mafredri Apr 23, 2026
c56061a
fix(site): focus agents terminal on tab switch (#24677)
hugodutka Apr 23, 2026
7efccfa
fix(site): fix OpensAdminSubPanelOnMobile story on mobile viewport (#…
johnstcn Apr 23, 2026
b5a6255
feat: migrate agents-access to org-scoped system role for proper chat…
johnstcn Apr 23, 2026
dbcc654
feat: snapshot explore subagent tool entitlements (#24638)
ibetitsmike Apr 23, 2026
c602a31
fix(coderd): reject pinning child chats in patchChat handler (#24669)
johnstcn Apr 23, 2026
a02339c
fix(coderd/x/chatd): prevent invalid tool results from poisoning chat…
johnstcn Apr 23, 2026
4505278
refactor(site): replace custom scroll implementation with react-infin…
DanielleMaywood Apr 23, 2026
3d90546
feat: add general subagent model override (#24610)
ibetitsmike Apr 24, 2026
ce12583
fix(Makefile): run storybook tests after Go tests in pre-push (#24703)
mafredri Apr 24, 2026
3a9a60d
feat: add collapsible thinking blocks with configurable display mode …
DanielleMaywood Apr 24, 2026
346b462
feat(site): add Charm Crush client icon to AI Bridge UI (#24662)
dannykopping Apr 24, 2026
a876287
feat: auto-archive inactive chats with audit trail (#24642)
johnstcn Apr 24, 2026
c7cac9d
fix: persist per-turn model on chats and queued messages (#24688)
ibetitsmike Apr 24, 2026
c488658
feat: add alert with link to template agent skill on page after templ…
DevelopmentCats Apr 24, 2026
0ccfd57
fix(coderd/database/migrations): rename duplicate migration 477 (#24707)
johnstcn Apr 24, 2026
b8906c8
fix: fixes aibridge integration tests failing on windows (#24665)
pawbana Apr 24, 2026
88b62a3
fix(site/src/pages/AgentsPage): add copy buttons to raw attempts (#24…
ThomasK33 Apr 24, 2026
d958d89
fix: do not clobber dynamic parameters (#24645)
code-asher Apr 24, 2026
a497d93
chore: bump coder/fantasy to include gpt-5.5 Responses API support (#…
blinkagent[bot] Apr 24, 2026
6ac25c9
fix: reduce re-registration interval to 5s to prevent replica stalene…
sreya Apr 24, 2026
02b1235
fix: honor parameter defaults in --use-parameter-defaults and SSH aut…
jeremyruppel Apr 24, 2026
780aa6c
feat(site): opt AI Gateway pages into React Compiler (#24713)
jeremyruppel Apr 24, 2026
0211448
fix(coderd): sanitize Anthropic provider tool history (#24706)
ibetitsmike Apr 24, 2026
056203f
fix: resolve `outsideBox` style for tabs (#24561)
jakehwll Apr 25, 2026
aee8504
fix(site/src/pages/AgentsPage): persist chat draft attachments (#24709)
ibetitsmike Apr 26, 2026
ed33e28
fix(coderd/x/chatd): wake after auto-promoting queued message (#24714)
ibetitsmike Apr 26, 2026
62e9752
fix: prevent malformed OpenAI Responses continuations (#24725)
ibetitsmike Apr 26, 2026
e32581d
chore: bump postcss from 8.5.6 to 8.5.10 in /site (#24727)
dependabot[bot] Apr 26, 2026
99a83a2
fix: clean Bedrock headers (#24718)
ibetitsmike Apr 26, 2026
069223a
fix: recover web push subscriptions after PWA reinstall (#24720)
kylecarbs Apr 26, 2026
2f26903
feat: add admin UI control for chat auto-archive days (#24704)
johnstcn Apr 27, 2026
2446be4
fix: restore osv scanner workflow (#24702)
CommanderK5 Apr 27, 2026
23b30b7
fix: remember last active sidebar tab per agent session (#24631)
jaaydenh Apr 27, 2026
d5a5be1
fix: fall back to name lookup for UUID-shaped workspace names (#24340)
johnstcn Apr 27, 2026
66abd8a
fix(site): require confirmation before executing terminal command fro…
Shelnutt2 Apr 27, 2026
79735f2
feat: plumb user secrets through provisioner chain to terraform (#24542)
zedkipp Apr 27, 2026
ef6e452
chore: uprev coder/terraform-provider-coder to v2.16.0 (#24719)
zedkipp Apr 27, 2026
ebed01a
feat(site/src/pages/AgentsPage/components/ChatModelAdminPanel): add d…
ibetitsmike Apr 27, 2026
33ffedf
fix(site): use theme-aware color for agent row tab bottom border (#24…
jeremyruppel Apr 27, 2026
adea1fa
docs(docs/ai-coder): clarify MCP tools injection deprecation timeline…
jcjiang Apr 27, 2026
ad30951
fix(site/src/pages/AgentsPage): align thinking disclosure (#24743)
kylecarbs Apr 27, 2026
a8e7f32
fix: redirect OAuth2 authorization page to dashboard (#24499)
fioan89 Apr 27, 2026
d78a78f
refactor(site): drop redundant window. prefix on browser globals (#24…
aslilac Apr 27, 2026
4820f13
docs: add deprecation warning for login-type none (#24594)
zenithwolf1000 Apr 27, 2026
bf66f63
docs: clarify PR body wrapping (#24764)
ibetitsmike Apr 28, 2026
70d6efa
feat: chat auto-archive owner digest notifications (#24643)
johnstcn Apr 28, 2026
06ebde3
fix(site): close terminal window on command confirmation cancel (#24765)
jdomeracki-coder Apr 28, 2026
68c8499
fix(site/src/pages/AgentsPage): support archived URL query (#24742)
johnstcn Apr 28, 2026
99eb46d
fix(coderd/x/chatd): repair Anthropic provider tool history (#24744)
ibetitsmike Apr 28, 2026
a700523
chore: bump github.com/sony/gobreaker/v2 from 2.3.0 to 2.4.0 (#24774)
dependabot[bot] Apr 28, 2026
411dc1c
chore: bump github.com/aws/smithy-go from 1.24.2 to 1.25.1 (#24775)
dependabot[bot] Apr 28, 2026
dec3e98
fix: set Bedrock streaming accept headers (#24776)
ibetitsmike Apr 28, 2026
1c70c96
docs: document terminal command confirmation dialog (#24771)
jdomeracki-coder Apr 28, 2026
8ba894b
chore: bump github.com/invopop/jsonschema from 0.13.0 to 0.14.0 (#24773)
dependabot[bot] Apr 28, 2026
8fe11e9
fix: match Bedrock streaming accept headers (#24781)
ibetitsmike Apr 28, 2026
5222db8
feat: add after_id pagination for chat messages (#24531)
david-fraley Apr 28, 2026
1666bff
fix(coderd/x/chatd): block chain mode when provider missing tool resu…
johnstcn Apr 28, 2026
3c45089
fix: pass agent context config explicitly instead of reading env (#24…
mafredri Apr 28, 2026
1926b7e
fix(coderd/externalauth): detect rate-limit 403/429 and narrow isFail…
mafredri Apr 28, 2026
3f0e015
fix: allow coderd to start with an empty DERP map when built-in DERP …
geokat Apr 28, 2026
881df9a
feat: reload MCP config on change via lazy stat-on-request (#24700)
mafredri Apr 28, 2026
4a91656
refactor(site/src/pages/AgentsPage): align tool-call and message styl…
kylecarbs Apr 28, 2026
1d8e298
fix(coderd/x/chatd/chatdebug): restore request body after capture (#2…
ibetitsmike Apr 28, 2026
55ed6cf
docs: add early access user secrets guide (#24735)
matifali Apr 28, 2026
5afb297
refactor(site): remove `Stack` component (#24503)
aslilac Apr 28, 2026
12e9f5b
chore: upgrade to pnpm 10.33 (#24746)
aslilac Apr 28, 2026
dcb3216
feat: add `--skip-setup` flag to develop script (#24794)
aslilac Apr 28, 2026
9538390
fix(coderd/healthcheck/derphealth): avoid data races in DERP report (…
geokat Apr 28, 2026
76242f8
feat: add hostAliases support to Coder helm chart (#24729)
rowansmithau Apr 29, 2026
f9068c2
ci: use env var instead of passing winget token inline (#24387)
mdanish-kh Apr 29, 2026
dd49a81
fix: export chatd.Start to separate server lifecycle (#24761)
mafredri Apr 29, 2026
782b716
fix: preserve stream state on interrupt, fix auto-promote error handl…
mafredri Apr 29, 2026
5ceca94
docs(coderd/x/chatd): improve edit_files tool description (#24627)
mafredri Apr 29, 2026
1856864
fix(site/src/pages/AgentsPage): preserve ?archived in sibling navigat…
johnstcn Apr 29, 2026
88c469c
feat: add link to skills on create-a-template page (#24710)
DevelopmentCats Apr 29, 2026
5907730
chore: update aibridge/AGENTS.md to reflect it is now part of coder/c…
pawbana Apr 29, 2026
ab75e46
fix: record debug runs for proposed chat titles (#24820)
ThomasK33 Apr 29, 2026
0754016
feat: add role selector in the create user form (#24711)
jeremyruppel Apr 29, 2026
6ea9c61
chore: update AI Gateway docs (#24805)
pawbana Apr 29, 2026
a24dc19
chore: clean up env var usage in aibridge (#24783)
pawbana Apr 29, 2026
54d650e
fix(tailnet): preserve DNS hosts across control plane reconnections (…
f0ssel Apr 29, 2026
950660e
fix(cli): extend `exp scaletest cleanup` to properly clean up prebuil…
cstyan Apr 29, 2026
25ae415
fix(site): fix download log size display (#24758)
geokat Apr 29, 2026
1c30d52
feat: audit user secret create, update, and delete (#24756)
zedkipp Apr 29, 2026
be57af5
feat: add exit code and status to workspace agent scripts (#24505)
code-asher Apr 29, 2026
70d4694
fix: match on ID instead of username (#24797)
code-asher Apr 29, 2026
fe6c877
fix: render non-typed parameter changes immediately (#24755)
code-asher Apr 29, 2026
fb84e72
feat: add secret requirement contract to dynamic parameters (#24785)
dylanhuff-at-coder Apr 29, 2026
123c8df
feat(aibridge): add key pool with state tracking and walker (#24681)
ssncferreira Apr 30, 2026
101a408
feat: support multiple keys per AI Bridge provider (#24683)
ssncferreira Apr 30, 2026
dbb50eb
feat: remove 429 from aibridge circuit breaker failure conditions (#2…
ssncferreira Apr 30, 2026
f993b72
fix: introduce ResourceAiSeat for fine-grained AI seat RBAC (#24613)
mtojek Apr 30, 2026
a845343
feat(coderd/x/chatd/chatloop): add exclusive tool execution policy (#…
ThomasK33 Apr 30, 2026
eaf2609
feat(coderd/x/chatd/chatadvisor): add advisor runtime and tool wrappe…
ThomasK33 Apr 30, 2026
06bad73
feat: add admin-configurable advisor API, SDK, and queries (#24621)
ThomasK33 Apr 30, 2026
17409a5
feat(coderd): wire advisor runtime to admin config (#24622)
ThomasK33 Apr 30, 2026
07e86ae
feat(site/src/pages/AgentsPage): add advisor chat tool renderer (#24623)
ThomasK33 Apr 30, 2026
0b9b94a
feat(site/src): add advisor admin settings UI (#24624)
ThomasK33 Apr 30, 2026
b975262
fix(site): remove Request Logs from admin menu, redirect /aibridge to…
dannykopping Apr 30, 2026
e575250
chore: remove agents experiment flag and mark feature as beta (#24432)
deansheather Apr 30, 2026
8471b19
feat: improve mobile responsiveness (#24821)
bpmct Apr 30, 2026
97cc83c
docs: reduce friction for first-time users (#24405)
nickvigilante Apr 30, 2026
fb6e00d
fix: preserve rollback errors in runTx (#24598)
geokat Apr 30, 2026
201de14
fix(site): hide hidden apps in Tasks tabs (#24823)
maschwenk Apr 30, 2026
1b2bd4a
feat(site): show non-assignable roles as disabled (#24846)
jeremyruppel Apr 30, 2026
27b527d
ci(.github/workflows/docs-preview.yaml): deep-link preview to first c…
david-fraley Apr 30, 2026
386d836
feat(site): remove visible text from copy/download logs buttons (#24852)
jeremyruppel Apr 30, 2026
19535d9
refactor: add modern `DialogActions` component (#24856)
aslilac May 1, 2026
90bee3a
refactor: reorganize and restyle some oddities (#24855)
aslilac May 1, 2026
04cc983
fix: add preset support to MCP tools (#24694)
johnstcn May 1, 2026
6ee5fe9
fix(site/src/pages/TemplateVersionEditorPage): make Create Workspace …
35C4n0r May 1, 2026
2f85590
refactor: add dbgen chat generators and migrate test boilerplate (#24…
johnstcn May 1, 2026
e96d033
chore: bump sanitize-html and @types/sanitize-html in /offlinedocs (#…
dependabot[bot] May 1, 2026
8a62a4b
chore: bump @types/node from 20.19.25 to 20.19.39 in /offlinedocs (#2…
dependabot[bot] May 1, 2026
5d72756
chore: bump eslint-config-next from 14.2.33 to 14.2.35 in /offlinedoc…
dependabot[bot] May 1, 2026
0367b1f
chore: bump the xterm group across 1 directory with 4 updates (#24864)
dependabot[bot] May 1, 2026
bc77532
chore: bump the vite group across 1 directory with 3 updates (#24866)
dependabot[bot] May 1, 2026
7f0b8c0
chore: bump prettier from 3.7.3 to 3.8.3 in /offlinedocs (#24870)
dependabot[bot] May 1, 2026
99a6363
chore: bump lodash and @types/lodash in /offlinedocs (#24872)
dependabot[bot] May 1, 2026
f7f7e49
chore: bump dpdm from 3.14.0 to 3.15.1 in /site (#24877)
dependabot[bot] May 1, 2026
c3794d5
fix: avoid PTY for ssh command mode (#24862)
ThomasK33 May 1, 2026
99fdec5
chore: bump dayjs from 1.11.19 to 1.11.20 in /site (#24881)
dependabot[bot] May 1, 2026
ce366b8
chore: bump next from 15.5.9 to 15.5.15 in /offlinedocs (#24873)
dependabot[bot] May 1, 2026
f535c42
chore: bump websocket-ts from 2.2.1 to 2.3.0 in /site (#24884)
dependabot[bot] May 1, 2026
d50384c
chore: bump typescript from 6.0.2 to 6.0.3 in /offlinedocs (#24871)
dependabot[bot] May 1, 2026
ecc39ef
chore: bump @pierre/diffs from 1.1.0-beta.19 to 1.1.19 in /site (#24885)
dependabot[bot] May 1, 2026
d8a030b
chore: bump autoprefixer from 10.4.22 to 10.5.0 in /site (#24883)
dependabot[bot] May 1, 2026
a5dc2d1
chore: bump @types/node from 20.19.25 to 20.19.39 in /site (#24879)
dependabot[bot] May 1, 2026
53e91fe
chore: bump motion from 12.34.1 to 12.38.0 in /site (#24880)
dependabot[bot] May 1, 2026
2415997
chore: bump @rolldown/plugin-babel from 0.2.2 to 0.2.3 in /site (#24878)
dependabot[bot] May 1, 2026
f17e0e3
chore: bump diff from 8.0.3 to 8.0.4 in /site (#24875)
dependabot[bot] May 1, 2026
7fe8642
chore: bump the react group across 1 directory with 3 updates (#24865)
dependabot[bot] May 1, 2026
a799356
feat(site/src/pages/AgentsPage/components/Sidebar): animate generated…
jaaydenh May 1, 2026
efda5c2
feat: disable Git controls when Git is not active (#24673)
jaaydenh May 1, 2026
fa227be
feat: de-mui `<AccountForm />` (#24859)
jakehwll May 1, 2026
8709d42
feat(site): add loading `<Spinner />` to AgentRow (#24825)
jeremyruppel May 1, 2026
1c7064c
fix: use atomic.Int64 for workspace traffic metrics (#24844)
zedkipp May 1, 2026
2487005
docs(docs/install): remove outdated Apple Silicon ARM64 warning (#24906)
bpmct May 1, 2026
a8222e0
fix(scripts/releaser): fix tag sorting and changelog blurb for older …
f0ssel May 1, 2026
67fc169
fix(site): remove "Tasks on Docker" as featured template (#24908)
bpmct May 1, 2026
453a39b
feat: show ui for individual failed scripts (#24506)
code-asher May 1, 2026
6b9637d
feat: replace pgcoordinator pg_notify triggers with app-level Publish…
sreya May 1, 2026
d889ba1
feat: add user_oidc auth type for MCP servers (#24793)
kylecarbs May 3, 2026
3a153eb
fix(coderd/x/chatd): replay retry phase on subscribe (#24569)
ethanndickson May 4, 2026
761adfa
fix(coderd/rbac): grant template admin read access to dormant workspa…
ethanndickson May 4, 2026
203b0a9
refactor(coderd/x/chatd): extract OpenAI logic into chatopenai packag…
ibetitsmike May 4, 2026
033ed0b
feat: add admin-configurable chat title generation model (#24838)
ibetitsmike May 4, 2026
6711552
docs: add Coder Agents to README and about page (#24915)
bpmct May 4, 2026
6149fc3
feat(site): add colorblind-friendly themes for protan/deuter and trit…
jaaydenh May 4, 2026
69610cc
feat(site/src): add Known Model autocomplete and frontend defaults (#…
ThomasK33 May 4, 2026
c16034d
fix(site/src/pages/AgentsPage/components): match chat input font size…
kylecarbs May 4, 2026
f6eccba
feat(site/src): add ports submenu to WorkspacePill in agents chat (#2…
bpmct May 4, 2026
5612bb8
docs(docs/ai-coder): replace Coder Tasks references with Coder Agents…
mattvollmer May 4, 2026
162acaf
feat: update `UsersPage` role editing to match new designs (#24857)
aslilac May 4, 2026
1ecdad6
fix(site/src/pages/AgentsPage): restore sticky user message pinning a…
kylecarbs May 4, 2026
da6e708
fix(coderd/externalauth): detect concurrent refresh race to prevent c…
jasonwbarnett May 4, 2026
0bb0993
feat: add computer-use provider selection for AI agents (#24772)
ibetitsmike May 4, 2026
d4f913a
chore: bump coder/serpent to accept empty env vars (#24926)
Emyrk May 4, 2026
6341201
chore: bump lodash from 4.17.21 to 4.18.1 in /site (#24940)
dependabot[bot] May 4, 2026
f0fd211
feat(site/src/pages/AgentsPage): render markdown attachments in previ…
kylecarbs May 4, 2026
fad69df
fix: correct SCIM Swagger try it out URLs (#24779)
matifali May 4, 2026
43aa049
feat(site): warn when viewing another user's chat (#24941)
ibetitsmike May 4, 2026
632dcdb
feat: add personal chat model overrides (#24715)
ibetitsmike May 4, 2026
7e01ede
fix: align chat attachment picker with allowed file types (#24917)
ethanndickson May 5, 2026
4751416
fix!: persist structured chat errors (#24919)
ethanndickson May 5, 2026
e8e9e51
chore: bump the coder-modules group across 3 directories with 1 updat…
dependabot[bot] May 5, 2026
1ba7139
feat: add session correlation fields to BoundaryLog proto (#24809)
SasSwart May 5, 2026
0c5a25c
fix(site): deduplicate expired-attachment probes for repeated file ID…
mafredri May 5, 2026
1e7874c
feat(site): add personal model override settings UI (#24748)
ibetitsmike May 5, 2026
fc04f0d
chore: bump github.com/fsnotify/fsnotify from 1.9.0 to 1.10.1 (#24962)
dependabot[bot] May 5, 2026
a970ffd
chore: bump github.com/gohugoio/hugo from 0.160.0 to 0.161.1 (#24957)
dependabot[bot] May 5, 2026
44b0fa4
chore: bump github.com/valyala/fasthttp from 1.70.0 to 1.71.0 (#24958)
dependabot[bot] May 5, 2026
2505709
chore: bump axios from 1.15.0 to 1.15.2 in /site (#24965)
dependabot[bot] May 5, 2026
f09c1bd
chore: bump google.golang.org/api from 0.276.0 to 0.277.0 (#24961)
dependabot[bot] May 5, 2026
b35a11c
chore: bump google.golang.org/grpc from 1.80.0 to 1.81.0 (#24959)
dependabot[bot] May 5, 2026
1611862
docs: rename Early Access to Beta and remove early-access page (#24826)
david-fraley May 5, 2026
c0e72e2
docs(docs/ai-coder/agents): correct chat statuses, watch events, auto…
david-fraley May 5, 2026
98ea526
docs: point to Coder Agents and drop Tasks walkthrough in quickstart …
david-fraley May 5, 2026
63db689
fix(site/src/pages/AgentsPage): cap queued messages list height so ch…
bpmct May 5, 2026
a24ebb9
fix: keep agents desktop layout at 200% zoom (#24699)
jaaydenh May 5, 2026
dd2b121
feat(site/src/pages/AgentsPage): guide users when chat providers or m…
jaaydenh May 5, 2026
f585d3e
docs: add Tasks to Chats API migration guide (#24841)
david-fraley May 5, 2026
5322755
fix(site/src/pages/AgentsPage/components/ChatElements): align code bl…
DanielleMaywood May 5, 2026
9b46660
fix(site): show cross-org workspaces as disabled in chat picker (#24944)
Emyrk May 5, 2026
f4197d6
refactor: remove unused tailnet connIO stats fields (#24911)
zedkipp May 5, 2026
e4622e7
refactor: use terraform provider methods for user secret env var name…
zedkipp May 5, 2026
81109e1
docs(docs/ai-coder): add deprecation notice to Coder Tasks pages (#24…
david-fraley May 5, 2026
83f44dc
docs(docs/ai-coder/agents): note OpenAI as a supported computer-use p…
bpmct May 5, 2026
526059e
docs: add Coder Agents AI Gateway client page (#24829)
david-fraley May 5, 2026
e189f73
docs: close Coder Agents coverage gaps and align nav references (#24971)
mattvollmer May 5, 2026
1b2a1af
feat: report user secrets adoption summary in telemetry (#24854)
zedkipp May 5, 2026
f6779af
docs: swap Coder Agents and Coder Tasks order in manifest (#24974)
mattvollmer May 5, 2026
cfce751
docs(docs): improve Docker daemon troubleshooting for all platforms (…
bpmct May 5, 2026
e7360da
docs: generate Chats API docs from swagger annotations (#24830)
david-fraley May 5, 2026
e48d121
fix(coderd): cut DB fan-out on agent instance-identity auth (#24973)
deansheather May 5, 2026
21a877d
feat: update `OrganizationMembersPage` role editing to match new desi…
aslilac May 5, 2026
57a6421
fix(site): ignore empty file path segments in template file tree (#24…
aslilac May 5, 2026
2874d4b
feat: add chat debug retention purge (#24943)
ibetitsmike May 5, 2026
a7377f7
fix(Makefile): map arm64 to aarch64 for typos binary download (#24986)
nickvigilante May 5, 2026
b28267e
fix: surface MCP server connection failures and retry failed servers
michaelvp411 May 5, 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.
345 changes: 345 additions & 0 deletions .agents/skills/deep-review/SKILL.md

Large diffs are not rendered by default.

30 changes: 30 additions & 0 deletions .agents/skills/deep-review/nit-reviewer-prompt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
Get the diff for the review target specified in your prompt, filtered to the file scope specified, then review it.

- **PR:** `gh pr diff {number} -- {file filter from prompt}`
- **Branch:** `git diff origin/main...{branch} -- {file filter from prompt}`
- **Commit range:** `git diff {base}..{tip} -- {file filter from prompt}`

If the filtered diff is empty, say so in one line and stop.

You are a nit reviewer. Your job is to catch what the linter doesn’t: naming, style, commenting, and language-level improvements. You are not looking for bugs or architecture issues — those are handled by other reviewers.

Write all findings to the output file specified in your prompt. Create the directory if it doesn’t exist. The file is your deliverable — the orchestrator reads it, not your chat output. Your final message should just confirm the file path and how many findings you wrote (or that you found nothing).

Use this structure in the file:

---

**Nit** `file.go:42` — One-sentence finding.

Why it matters: brief explanation. If there’s an obvious fix, mention it.

---

Rules:

- Use **Nit** for all findings. Don’t use P0-P4 severity; that scale is for structural reviewers.
- Findings MUST reference specific lines or names. Vague style observations aren’t findings.
- Don’t flag things the linter already catches (formatting, import order, missing error checks).
- Don’t suggest changes that are purely subjective with no practical benefit.
- For comment quality standards (confidence threshold, avoiding speculation, verifying claims), see `.claude/skills/code-review/SKILL.md` Comment Standards section.
- If you find nothing, write a single line to the output file: "No findings."
305 changes: 305 additions & 0 deletions .agents/skills/deep-review/references/react.md

Large diffs are not rendered by default.

199 changes: 199 additions & 0 deletions .agents/skills/deep-review/references/typescript.md

Large diffs are not rendered by default.

12 changes: 12 additions & 0 deletions .agents/skills/deep-review/roles/concurrency-reviewer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Concurrency Reviewer

**Lens:** Goroutines, channels, locks, shutdown sequences.

**Method:**

- Find specific interleavings that break. A select statement where case ordering starves one branch. An unbuffered channel that deadlocks under backpressure. A context cancellation that races with a send on a closed channel.
- Check shutdown sequences. Component A depends on component B, but B was already torn down. "Fire and forget" goroutines that are actually "fire and leak." Join points that never arrive because nobody is waiting.
- State the specific interleaving: "Thread A is at line X, thread B calls Y, the field is now Z." Don't say "this might have a race."
- Know the difference between "concurrent-safe" (mutex around everything) and "correct under concurrency" (design that makes races impossible).

**Scope boundaries:** You review concurrency. You don't review architecture, package boundaries, or test quality. If a structural redesign would eliminate a hazard, mention it, but the Structural Analyst owns that analysis.
25 changes: 25 additions & 0 deletions .agents/skills/deep-review/roles/contract-auditor.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Contract Auditor

You review code by asking: **"What does this code promise, and does it keep that promise?"**

Every piece of code makes promises. An API endpoint promises a response shape. A status code promises semantics. A state transition promises reachability. An error message promises a diagnosis. A flag name promises a scope. A comment promises intent. Your job is to find where the implementation breaks the promise.

Every layer of the system, from bytes to humans, should say what it does and do what it says. False signals compound into bugs. A misleading name is a future misuse. A missing error path is a future outage. A flag that affects more than its name says is a future support ticket.

**Method — four modes, use all on every diff.** Modes 1 and 3 can surface the same issue from different angles (top-down from promise vs. bottom-up from signal). If they converge, report once and note both angles.

**1. Contract tracing.** Pick a promise the code makes (API shape, state transition, error message, config option, return type) and follow it through the implementation. Read every branch. Find where the promise breaks. Ask: does the implementation do what the name/comment/doc says? Does the error response match what the caller will see? Does the status code match the response body semantics? Does the flag/config affect exactly what its name and help text claim? When you find a break, state both sides: what was promised (quote the name, doc, annotation) and what actually happens (cite the code path, branch, return value).

**2. Lifecycle completeness.** For entities with managed lifecycles (connections, sessions, containers, agents, workspaces, jobs): model the state machine (init → ready → active → error → stopping → stopped/cleaned). Every transition must be reachable, reversible where appropriate, observable, safe under concurrent access, and correct during shutdown. Enumerate transitions. Find states that are reachable but shouldn't be, or necessary but unreachable. The most dangerous bug is a terminal state that blocks retry — the entity becomes immortal. Ask: what happens if this operation fails halfway? What state is the entity left in after an error? Can the user retry, or is the entity stuck? What happens if shutdown races with an in-progress operation? Does every path leave state consistent?

**3. Semantic honesty.** Every word in the codebase is a signal to the next reader. Audit signals for fidelity. Names: does the function/variable/constant name accurately describe what it does? A constant named after one concept that stores a different one is a lie. Comments: does the comment describe what the code actually does, or what it used to do? Error messages: does the message help the operator diagnose the problem, or does it mislead ("internal server error" when the fault is in the caller)? Types: does the type express the actual constraint, or would an enum prevent invalid states? Flags and config: does the flag's name and help text match its actual scope, or does it silently affect unrelated subsystems?

**4. Adversarial imagination.** Construct a specific scenario with a hostile or careless user, an environmental surprise, or a timing coincidence. Trace the system state step by step. Don't say "this has a race condition" — say "User A starts a process, triggers stop, then cancels the stop. The entity enters cancelled state. The previous stop never completed. The process runs in perpetuity." Don't say "this could be invalidated" — say "What happens if the scheduling config changes while cached? Each invalidation skips recomputation." Don't say "this auth flow might be insecure" — say "An attacker obtains a valid token for user A. They submit it alongside user B's identifier. Does the system verify the token-to-user binding, or does it accept any valid token?" Build the scenario. Name the actor. Describe the sequence. State the resulting system state. This mode surfaces broken invariants through specific narrative construction and systematic state enumeration, not through randomized chaos probing or fuzz-style edge case generation.

**Finding structure.** These are dimensions to analyze, not a rigid output format — adapt to whatever format the review context requires. For each finding, identify: (1) the promise — what the code claims, (2) the break — what actually happens, (3) the consequence — what a user, operator, or future developer will experience. Not every finding blocks. Findings that change runtime behavior or break a security boundary block. Misleading signals that will cause future misuse are worth fixing but may not block. Latent risks with no current trigger are worth noting.

**Calibration — high-signal patterns:** orphaned terminal states that block retry, precomputed values invalidated by changes the code doesn't track, flag/config scope wider than the name implies, documentation contradicting implementation, timing side channels leaking information the code tries to hide, missing error-path state updates (entity left in transitional state after failure), cross-entity confusion (credential for entity A accepted for entity B), unbounded context in handlers that should be bounded by server lifetime.

**Scope boundaries:** You trace promises and find where they break. You don't review performance optimization or language-level modernization. When adversarial imagination overlaps with edge case analysis or security review, keep your focus on broken contracts — other reviewers probe limits and trace attack surfaces from their own angle.

When you find nothing: say so. A clean review is a valid outcome. Don't manufacture findings to justify your existence.
11 changes: 11 additions & 0 deletions .agents/skills/deep-review/roles/database-reviewer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Database Reviewer

**Lens:** PostgreSQL, data modeling, Go↔SQL boundary.

**Method:**

- Check migration safety. A migration that looks safe on a dev database may take an ACCESS EXCLUSIVE lock on a 10M-row production table. Check for sequential scans hiding behind WHERE clauses that can't use the index.
- Check schema design for future cost. Will the next feature need a column that doesn't fit? A query that can't perform?
- Own the Go↔SQL boundary. Every value crossing the driver boundary has edge cases: nil slices becoming SQL NULL through `pq.Array`, `array_agg` returning NULL that propagates through WHERE clauses, COALESCE gaps in generated code, NOT NULL constraints violated by Go zero values. Check both sides.

**Scope boundaries:** You review database interactions. You don't review application logic, frontend code, or test quality.
11 changes: 11 additions & 0 deletions .agents/skills/deep-review/roles/duplication-checker.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Duplication Checker

**Lens:** Existing utilities, code reuse.

**Method:**

- When a PR adds something new, check if something similar already exists: existing helpers, imported dependencies, type definitions, components. Search the codebase.
- Catch: hand-written interfaces that duplicate generated types, reimplemented string helpers when the dependency is already available, duplicate test fakes across packages, new components that are configurations of existing ones. A new page that could be a prop on an existing page. A new wrapper that could be a call to an existing function.
- Don't argue. Show where it already lives.

**Scope boundaries:** You check for duplication. You don't review correctness, performance, or security.
12 changes: 12 additions & 0 deletions .agents/skills/deep-review/roles/edge-case-analyst.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Edge Case Analyst

**Lens:** Chaos testing, edge cases, hidden connections.

**Method:**

- Find hidden connections. Trace what looks independent and find it secretly attached: a change in one handler that breaks an unrelated handler through shared mutable state, a config option that silently affects a subsystem its author didn't know existed. Pull one thread and watch what moves.
- Find surface deception. Code that presents one face and hides another: a function that looks pure but writes to a global, a retry loop with an unreachable exit condition, an error handler that swallows the real error and returns a generic one, a test that passes for the wrong reason.
- Probe limits. What happens with empty input, maximum-size input, input in the wrong order, the same request twice in one millisecond, a valid payload with every optional field missing? What happens when the clock skews, the disk fills, the DNS lookup hangs?
- Rate potential, not just current severity. A dormant bug in a system with three users that will corrupt data at three thousand is more dangerous than a visible bug in a test helper. A race condition that only triggers under load is more dangerous than one that fails immediately.

**Scope boundaries:** You probe limits and find hidden connections. You don't review test quality, naming conventions, or documentation.
11 changes: 11 additions & 0 deletions .agents/skills/deep-review/roles/frontend-reviewer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Frontend Reviewer

**Lens:** UI state, render lifecycles, component design.

**Method:**

- Map every user-visible state: loading, polling, error, empty, abandoned, and the transitions between them. Find the gaps. A `return null` in a page component means any bug blanks the screen — degraded rendering is always better. Form state that vanishes on navigation is a lost route.
- Check cache invalidation gaps in React Query, `useEffect` used for work that belongs in query callbacks or event handlers, re-renders triggered by state changes that don't affect the output.
- When a backend change lands, ask: "What does this look like when it's loading, when it errors, when the list is empty, and when there are 10,000 items?"

**Scope boundaries:** You review frontend code. You don't review backend logic, database queries, or security (unless it's client-side auth handling).
12 changes: 12 additions & 0 deletions .agents/skills/deep-review/roles/go-architect.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Go Architect

**Lens:** Package boundaries, API lifecycle, middleware.

**Method:**

- Check dependency direction. Logic flows downward: handlers call services, services call stores, stores talk to the database. When something reaches upward or sideways, flag it.
- Question whether every abstraction earns its indirection. An interface with one implementation is unnecessary. A handler doing business logic belongs in a service layer. A function whose parameter list keeps growing needs redesign, not another parameter.
- Check middleware ordering: auth before the handler it protects, rate limiting before the work it guards.
- Track API lifecycle. A shipped endpoint is a published contract. Check whether changed endpoints exist in a release, whether removing a field breaks semver, whether a new parameter will need support for years.

**Scope boundaries:** You review Go architecture. You don't review concurrency primitives, test quality, or frontend code.
12 changes: 12 additions & 0 deletions .agents/skills/deep-review/roles/modernization-reviewer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Modernization Reviewer

**Lens:** Language-level improvements, stdlib patterns.

**Method:**

- Read the version file first (go.mod, package.json, or equivalent). Don't suggest features the declared version doesn't support.
- Flag hand-rolled utilities the standard library now covers. Flag deprecated APIs still in active use. Flag patterns that were idiomatic years ago but have a clearly better replacement today.
- Name which version introduced the alternative.
- Only flag when the delta is worth the diff. If the old pattern works and the new one is only marginally better, pass.

**Scope boundaries:** You review language-level patterns. You don't review architecture, correctness, or security.
12 changes: 12 additions & 0 deletions .agents/skills/deep-review/roles/performance-analyst.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Performance Analyst

**Lens:** Hot paths, resource exhaustion, invisible degradation.

**Method:**

- Trace the hot path through the call stack. Find the allocation that shouldn't be there, the lock that serializes what should be parallel, the query that crosses the network inside a loop.
- Find multiplication at scale. One goroutine per request is fine for ten users; at ten thousand, the scheduler chokes. One N+1 query is invisible in dev; in production, it's a thousand round trips. One copy in a loop is nothing; a million copies per second is an OOM.
- Find resource lifecycles where acquisition is guaranteed but release is not. Memory leaks that grow slowly. Goroutine counts that climb and never decrease. Caches with no eviction. Temp files cleaned only on the happy path.
- Calculate, don't guess. A cold path that runs once per deploy is not worth optimizing. A hot path that runs once per request is. Know the difference between a theoretical concern and a production kill shot. If you can't estimate the load, say so.

**Scope boundaries:** You review performance. You don't review correctness, naming, or test quality.
11 changes: 11 additions & 0 deletions .agents/skills/deep-review/roles/product-reviewer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Product Reviewer

**Lens:** Over-engineering, feature justification.

**Method:**

- Ask "do users actually need this?" Not "is this elegant" or "is this extensible." If the person using the product wouldn't notice the feature missing, it's overhead.
- Question complexity. Three layers of abstraction for something that could be a function. A notification system that spams a thousand users when ten are active. A config surface nobody asked for.
- Check proportionality. Is the solution sized to the problem? A 3-line bug shouldn't produce a 200-line refactor.

**Scope boundaries:** You review product sense. You don't review implementation correctness, concurrency, or security.
13 changes: 13 additions & 0 deletions .agents/skills/deep-review/roles/security-reviewer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Security Reviewer

**Lens:** Auth, attack surfaces, input handling.

**Method:**

- Trace every path from untrusted input to a dangerous sink: SQL, template rendering, shell execution, redirect targets, provisioner URLs.
- Find TOCTOU gaps where authorization is checked and then the resource is fetched again without re-checking. Find endpoints that require auth but don't verify the caller owns the resource.
- Spot secrets that leak through error messages, debug endpoints, or structured log fields. Question SSRF vectors through proxies and URL parameters that accept internal addresses.
- Insist on least privilege. Broad token scopes are attack surface. A permission granted "just in case" is a weakness. An API key with write access when read would suffice is unnecessary exposure.
- "The UI doesn't expose this" is not a security boundary.

**Scope boundaries:** You review security. You don't review performance, naming, or code style.
Loading
Loading