This commit is contained in:
seahaven-promotion[bot] 2026-09-14 12:38:09 +00:00 • committed by GitHub
commit 93cfd5e366
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 636 additions and 2 deletions

View file

@ -1,4 +1,4 @@
{"_meta": {"last_synced": "aa1934cd", "last_synced_date": "2026-08-24"}} {"_meta": {"last_synced": "9fba9672", "last_synced_date": "2026-09-14"}}
{"sha": "0b76afdc", "pr": 1653, "subject": "reviews block agenda, sticky headers, diff scroll", "disposition": "landed", "reason": "", "branch": "cherry-pick-upstream", "local_sha": null, "updated": "2026-07-02T00:00:00Z"} {"sha": "0b76afdc", "pr": 1653, "subject": "reviews block agenda, sticky headers, diff scroll", "disposition": "landed", "reason": "", "branch": "cherry-pick-upstream", "local_sha": null, "updated": "2026-07-02T00:00:00Z"}
{"sha": "7530653b", "pr": 1655, "subject": "ResizeObserver settle for review scroll-to", "disposition": "landed", "reason": "", "branch": "cherry-pick-upstream", "local_sha": null, "updated": "2026-07-02T00:00:00Z"} {"sha": "7530653b", "pr": 1655, "subject": "ResizeObserver settle for review scroll-to", "disposition": "landed", "reason": "", "branch": "cherry-pick-upstream", "local_sha": null, "updated": "2026-07-02T00:00:00Z"}
{"sha": "23bd4a63", "pr": 1660, "subject": "top padding to sticky review block header", "disposition": "landed", "reason": "", "branch": "cherry-pick-upstream", "local_sha": null, "updated": "2026-07-02T00:00:00Z"} {"sha": "23bd4a63", "pr": 1660, "subject": "top padding to sticky review block header", "disposition": "landed", "reason": "", "branch": "cherry-pick-upstream", "local_sha": null, "updated": "2026-07-02T00:00:00Z"}
@ -487,3 +487,320 @@
{"sha": "6e6d2db3", "pr": 2190, "subject": "feat(ui): enable React Compiler on Vite 8 (#2190)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-24T12:28:11Z"} {"sha": "6e6d2db3", "pr": 2190, "subject": "feat(ui): enable React Compiler on Vite 8 (#2190)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-24T12:28:11Z"}
{"sha": "2446cb0d", "pr": 2193, "subject": "feat: add admin sandbox reset tool (#2193)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-24T12:28:11Z"} {"sha": "2446cb0d", "pr": 2193, "subject": "feat: add admin sandbox reset tool (#2193)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-24T12:28:11Z"}
{"sha": "aa1934cd", "pr": 2194, "subject": "ci: move preview environment builds out of this repository (#2194)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-24T12:28:11Z"} {"sha": "aa1934cd", "pr": 2194, "subject": "ci: move preview environment builds out of this repository (#2194)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-24T12:28:11Z"}
{"sha": "f81bfcda", "pr": 2195, "subject": "refactor: remove the per-turn git checkpoint feature (#2195)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "60e03a41", "pr": 2196, "subject": "fix: hide sender context after thread refresh (#2196)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "b721b339", "pr": 2198, "subject": "perf(agent): order parallel tool results deterministically (#2198)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "3009bfe0", "pr": 2201, "subject": "perf(agent): load the factory's tool sets in parallel (#2201)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "8c9fdd20", "pr": 2202, "subject": "fix(agent): inject context instead of rewriting history (#2202)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "37933d6a", "pr": 2206, "subject": "perf(agent): write the git identity while the proxy is configured (#2206)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "0c92fb10", "pr": 2203, "subject": "feat: add Datadog RUM to dashboard (#2203)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "999de6a5", "pr": 2205, "subject": "fix: submit queued message after stopping (#2205)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "f038614d", "pr": 2199, "subject": "fix: prevent stale Slack thread replies (#2199)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "d201c8c0", "pr": 2208, "subject": "perf(agent): let an integration describe itself without being built (#2208)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "45a36634", "pr": 2197, "subject": "refactor: run Stagehand in task sandboxes (#2197)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "534f2fa1", "pr": 2192, "subject": "fix: hide sidebar keyboard shortcut (#2192)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "aa13a720", "pr": 2204, "subject": "feat: show active thread in web title (#2204)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "46278d74", "pr": 2210, "subject": "docs: document workflow push approval gate (#2210)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "daab5de0", "pr": 2177, "subject": "fix: hide threads after resolving (#2177)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "97e9fc89", "pr": 2211, "subject": "fix: reintroduce context on inbound messages, not at the model call (#2211)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "3a7cee6a", "pr": 2220, "subject": "refactor: share middleware content normalization (#2220)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "dd09f5c2", "pr": 2184, "subject": "fix(desktop): make the whole top strip of the window draggable (#2184)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "4d9c3b03", "pr": 2224, "subject": "fix: allow concurrent web and desktop development (#2224)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "272dcda4", "pr": 2221, "subject": "fix: keep changes toolbar responsive (#2221)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "50595908", "pr": 2219, "subject": "refactor(review): one canonical record for a finding's GitHub identity (#2219)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "e86ad114", "pr": 2217, "subject": "refactor: centralize model choice normalization (#2217)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "bbbd8791", "pr": 2212, "subject": "fix: give the agent GitHub's actual response when a PR fails (#2212)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "a3c99316", "pr": 2229, "subject": "fix: accept displayed integration tool names (#2229)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "239c9861", "pr": 2230, "subject": "feat: attach sandbox HTML to Slack threads (#2230)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "8e4a71aa", "pr": 2215, "subject": "refactor(store): one LangGraph Store helper with one error policy (#2215)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "700b99d9", "pr": 2214, "subject": "refactor(middleware): delete dead middleware and correct the docs that claimed it (#2214)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "780cb0a0", "pr": 2213, "subject": "refactor(thread-ids): derive every deterministic thread id in one module (#2213)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "30a8a0a7", "pr": 2235, "subject": "build(pnpm): retire the last npm and npx call sites (#2235)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "c8a262cb", "pr": 2218, "subject": "fix: keep first message visible during thread creation (#2218)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "d0bfaf3c", "pr": 2216, "subject": "fix: group sidebar threads by recent activity (#2216)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "1a9d00b7", "pr": 2243, "subject": "refactor(store): type LangGraph Store records and source_context with Pydantic (#2243)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "1adf7a72", "pr": 2240, "subject": "feat: pin threads in the sidebar (#2240)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "b4932e94", "pr": 2239, "subject": "fix: dedupe sender context by sender (#2239)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "080edb16", "pr": 2251, "subject": "fix: align desktop filesystem paths with shell (#2251)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "9471d5ed", "pr": 2249, "subject": "fix: arm scheduler cron monitors reliably (#2249)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "8da544d0", "pr": 2250, "subject": "fix: enable desktop gateway routing (#2250)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "f4981e03", "pr": 2248, "subject": "refactor(sandbox): remove per-repo snapshots (#2248)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "4673b332", "pr": 2247, "subject": "feat(html-artifacts): one authoring contract, scripts allowed, no boilerplate (#2247)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "3e315bc6", "pr": 2245, "subject": "chore: log legacy auth migration impact (#2245)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "75b0eac4", "pr": 2237, "subject": "refactor: remove thread ownership (#2237)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "a01f702b", "pr": 2254, "subject": "refactor(environments): migrate to TypedStore and delete KeyedRecordStore (#2254)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "9ed21832", "pr": 2238, "subject": "fix: block external Slack channels (#2238)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "efe6b5b1", "pr": 2236, "subject": "chore: drop Dockerfile.sandbox (#2236)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "9457a973", "pr": 2234, "subject": "fix: keep changes panel controls and diffs visible (#2234)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "5e0f98e1", "pr": 2226, "subject": "chore: defer PR descriptions to repository guidance (#2226)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "2be8c000", "pr": 2252, "subject": "feat: integrate Slack code channels (#2252)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "c5a2419b", "pr": 2241, "subject": "feat: scan actionable PR context before fixing (#2241)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "e143f7b9", "pr": 2260, "subject": "fix: move code channel web link to context (#2260)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "f03233f5", "pr": 2255, "subject": "feat: add Baseten GLM-5.3 Flash (#2255)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "c2c4f3f1", "pr": 2256, "subject": "Add confirmation rule for conflicting thread guidance (#2256)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "324635df", "pr": 2262, "subject": "feat: align code channel and thread titles (#2262)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "3da1a1bd", "pr": 2266, "subject": "revert: remove the Slack thread_version optimistic lock (#2199) (#2266)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "db747418", "pr": 2271, "subject": "fix: default Slack code channels to public (#2271)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "de85f3db", "pr": 2268, "subject": "docs(prompt): require explicit path when using rg (#2268)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "024f821c", "pr": 2274, "subject": "feat: add sandbox service URL tool (#2274)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "d4141066", "pr": 2261, "subject": "Add native Slack Agent view support (#2261)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "46349a44", "pr": 2258, "subject": "feat: stream agent steps in Slack (#2258)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "31ff4d66", "pr": 2273, "subject": "feat: link code channels from web threads (#2273)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "e575a9b4", "pr": 2269, "subject": "Fix Slack file upload to use form-encoded bodies (#2269)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "a2ed177f", "pr": 2232, "subject": "feat: add anchored comments to plan previews (#2232)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "224676be", "pr": 2279, "subject": "fix: Revert Slack Agent view support and agent step streaming (#2279)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "440c7670", "pr": 2283, "subject": "feat: restore Slack Thinking Steps (#2283)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "af59a1c3", "pr": 2286, "subject": "Group Slack thinking steps by run (#2286)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "4388627d", "pr": 2276, "subject": "chore: migrate wiki to claims + okf v0.2 and update broken update workflow (#2276)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "5423c7f1", "pr": 2263, "subject": "Make automations workspace admin managed (#2263)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "683d4e50", "pr": 2297, "subject": "fix(sandbox): don't treat retryable sandbox errors as fatal (#2297)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "9dbddb5f", "pr": 2287, "subject": "fix: ignore metadata-only Slack message edits (#2287)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "2f3020da", "pr": 2293, "subject": "docs(repo): update OpenWiki (#2293)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "71151486", "pr": 2299, "subject": "fix: show Slack command details (#2299)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "66a23eee", "pr": 2301, "subject": "feat(models): replace GLM 5.2 with GLM 5.3 (#2301)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "9c426aac", "pr": 2318, "subject": "feat(ui): redesign new agent chat and composer (#2318)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "4bed1112", "pr": 2289, "subject": "feat(ui): redesign the agents sidebar (#2289)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "f4cd500d", "pr": 2334, "subject": "fix: consolidate thread bug fixes (#2334)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "3daddc35", "pr": 2336, "subject": "fix: stabilize desktop login and local development (#2336)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "0976f100", "pr": 2339, "subject": "fix(ui): align sidebar hover actions with status icons (#2339)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "8d017bc5", "pr": 2340, "subject": "perf(e2e): cut redundant specs and CI setup work (#2340)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "f93d05ad", "pr": 2341, "subject": "feat: add Don't ask again to Slack onboarding (#2341)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "61ba9993", "pr": 2344, "subject": "feat: default Slack implementation tasks to code channels (#2344)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "53dda2ae", "pr": 2345, "subject": "refactor(ui): rebuild thread runtime lifecycle (#2345)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "509bc7da", "pr": 2346, "subject": "fix: remove sidebar scroll shadow gap (#2346)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "4e3e7ea3", "pr": 2328, "subject": "Render composer project picker upward (#2328)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "993e7bd4", "pr": 2348, "subject": "feat(ui): render chat markdown properly (#2348)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "665512dc", "pr": 2326, "subject": "docs(repo): update OpenWiki (#2326)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "427e119b", "pr": 2354, "subject": "chore: upgrade LangSmith SDK to 0.12.0 (#2354)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "933fe9ae", "pr": 2353, "subject": "feat: link pull requests from Slack channel cards (#2353)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "37732225", "pr": 2357, "subject": "fix(ui): clarify settings scope (#2357)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "b10b113e", "pr": 2347, "subject": "refactor(ui): split sidebar pagination by project (#2347)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "c2235db0", "pr": 2285, "subject": "fix: hide sender context from agent chat (#2285)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "54a089f0", "pr": 2356, "subject": "feat: open Slack threads in the native app (#2356)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "b1903145", "pr": 2355, "subject": "fix: align collapsed sidebar button (#2355)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "6813f875", "pr": 2359, "subject": "docs: reposition Open SWE as a software factory (#2359)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "c12055db", "pr": 2361, "subject": "feat: expand command palette actions (#2361)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "64d6daed", "pr": 2367, "subject": "fix(ui): queue mid-run follow-ups in local threads (#2367)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "9acd2904", "pr": 2368, "subject": "fix: make sidebar expand button clickable (#2368)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "cd4f0d94", "pr": 2298, "subject": "fix(slack): queue message edits instead of running them (#2298)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "6f56e5af", "pr": 2363, "subject": "build(deps): bump the major group with 3 updates (#2363)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "20794d03", "pr": 2362, "subject": "build(deps): bump langchain/langgraph-api in the minor-and-patch group (#2362)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "1cf3aadb", "pr": 2352, "subject": "docs(repo): update OpenWiki (#2352)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "924a9be6", "pr": 2322, "subject": "docs: clarify admin threads start in the Web UI (#2322)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "745dccad", "pr": 2366, "subject": "feat: implement desktop release and nightly workflow (#2366)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "65aa51b7", "pr": 2321, "subject": "chore(ui): pin nitro instead of tracking the latest dist-tag (#2321)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "cee104f5", "pr": 2317, "subject": "ci: type-check the dashboard (#2317)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "05bca50a", "pr": 2316, "subject": "fix: warn when ALLOWED_GITHUB_ORGS leaves dashboard login unrestricted (#2316)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "2c11a34d", "pr": 2315, "subject": "test: skip the POSIX-shell html artifact tests on Windows (#2315)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "a683e8d3", "pr": 2376, "subject": "refactor: split the sandbox and auth subsystems out of agent/utils (#2376)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "d7b26182", "pr": 2380, "subject": "feat: replace Gemini 3.7 Flash with 3.8 Flash (#2380)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "9ded8a3a", "pr": 2382, "subject": "fix: bundle local backend in desktop releases (#2382)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "16456e49", "pr": 2384, "subject": "chore(desktop): bump version to 0.2.4 (#2384)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "50117174", "pr": 2351, "subject": "feat(desktop): choose between the current checkout and a new worktree (#2351)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "e477fdef", "pr": 2386, "subject": "fix(ui): stop duplicate initial prompt on local threads (#2386)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "90b5e581", "pr": 2387, "subject": "fix(ui): make dropdown menus opaque (#2387)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "703621d3", "pr": 2383, "subject": "feat: add desktop auto-updates (#2383)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "b7594875", "pr": 2388, "subject": "fix: derive Slack error status from run outcome (#2388)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "72ca8c05", "pr": 2389, "subject": "chore(desktop): bump version to 0.2.5 (#2389)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "45321107", "pr": 2379, "subject": "feat(ui): search reviewer repositories (#2379)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "eb8f4afa", "pr": 2373, "subject": "revert: stop defaulting Slack work to code channels (#2373)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "110098c3", "pr": 2385, "subject": "fix(ui): remove context size checkmark (#2385)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "37641150", "pr": 2381, "subject": "refactor: expose browser tools to the main agent (#2381)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "5ea63f4a", "pr": 2364, "subject": "build(deps): bump the minor-and-patch group with 15 updates (#2364)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "22c1543a", "pr": 2365, "subject": "build(deps): bump the major group with 2 updates (#2365)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "9a559481", "pr": 2392, "subject": "Mark Kanban as experimental (#2392)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "2531b9dd", "pr": 2374, "subject": "docs(repo): update OpenWiki (#2374)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "0d8ad72e", "pr": 2270, "subject": "chore: bump deepagents to 0.7.9 (#2270)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "c6cb7ca4", "pr": 2395, "subject": "fix(deps): patch transitive dependency vulnerabilities (#2395)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "395c6ec5", "pr": 2398, "subject": "fix: support the default root sandbox snapshot (#2398)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "4989d854", "pr": 2399, "subject": "fix: make code channel promotion opt-in (#2399)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "1463e370", "pr": 2378, "subject": "refactor: group modules by service instead of by category (#2378)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "ed68d0d7", "pr": 2323, "subject": "fix: surface working tree connection failures (#2323)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "ad29b0f0", "pr": 2156, "subject": "chore: update Python and JavaScript dependencies (#2156)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "a40c28e4", "pr": 2296, "subject": "refactor(config): model `configurable` as a pydantic RunConfig (#2296)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "11743d4c", "pr": 2404, "subject": "feat: classify run failures and say why in the failure reply (#2404)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "2b5e814f", "pr": 2407, "subject": "feat(github): log every inbound webhook payload in full (#2407)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "bc8b0891", "pr": 2397, "subject": "fix: resolve threads after attached pull requests close (#2397)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "d120e433", "pr": 2411, "subject": "docs: clarify desktop platform support (#2411)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "257987ca", "pr": 2402, "subject": "chore: require Python 3.14 as the minimum version (#2402)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "2cc45ed6", "pr": 2396, "subject": "fix: hide compaction summaries from chat (#2396)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "86cbbee2", "pr": 2421, "subject": "chore: switch Python type checking to ty (#2421)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "9c4f13b6", "pr": 2424, "subject": "fix: use bare code fences in Slack replies (#2424)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "8ca30952", "pr": 2409, "subject": "fix(ui): forward backend responses instead of stringifying them (#2409)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "a3c9ed9d", "pr": 2427, "subject": "feat(ui): move workflow approval into transcript (#2427)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "0323b8d2", "pr": 2425, "subject": "docs: establish lightweight OEP process (#2425)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "5589fc24", "pr": 2426, "subject": "fix: clarify workflow push approval prompts (#2426)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "d54c831c", "pr": 2431, "subject": "chore(desktop): bump version to 0.2.6 (#2431)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "1fa5882b", "pr": 2428, "subject": "fix(desktop): connect Slack and Notion through a loopback handoff (#2428)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "b7d687db", "pr": 2433, "subject": "fix(desktop): preserve adaptive macOS Dock icon (#2433)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "7be36858", "pr": 2394, "subject": "docs: drop the legacy LangSmith-brokered GitHub OAuth setup (#2394)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "2d407c41", "pr": 2423, "subject": "docs: trim agent instructions (#2423)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "df99ccb5", "pr": 2417, "subject": "fix(agent): narrow Corridor guidance (#2417)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "7fb7b6c7", "pr": 2439, "subject": "docs: restore OpenWiki guidance (#2439)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "70004c6a", "pr": 2416, "subject": "docs(customization): update prompt-section table with current section names (fixes #2371) (#2416)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "7da6f448", "pr": 2438, "subject": "feat: replace Fable 5 with Fable 5.1 (#2438)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "a150cc67", "pr": 2441, "subject": "Keep generated artifacts out of repositories (#2441)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "0f80306e", "pr": 2390, "subject": "fix(ui): tweak themes (#2390)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "39644993", "pr": 2440, "subject": "feat: persist agent run usage telemetry (#2440)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "01b54758", "pr": 2435, "subject": "feat: inject user LangSmith credentials through sandbox proxy (#2435)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "b294314d", "pr": 2442, "subject": "fix: remove sidebar bottom scroll shadow gap (#2442)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "d9095795", "pr": 2450, "subject": "feat: Haiku thread-title fallback for Anthropic-only deployments (#2450)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "b224c29e", "pr": 2449, "subject": "feat: allow explicitly authorized force pushes (#2449)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "f3e656b5", "pr": 2408, "subject": "fix: preserve Slack reply order during active work (#2408)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "4e5e394d", "pr": 2422, "subject": "fix(ui): scroll to submitted follow-ups (#2422)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "5361ef97", "pr": 2434, "subject": "fix(desktop): keep updater artifact names consistent (#2434)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "1203aae1", "pr": 2468, "subject": "fix(desktop): call Codex login a ChatGPT subscription (#2468)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "71530e70", "pr": 2470, "subject": "fix: omit snapshot_id instead of sending \"\" for the root snapshot (#2470)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "265b00c3", "pr": 2471, "subject": "fix: remove priority sidebar sorting (#2471)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "65d775f4", "pr": 2350, "subject": "feat(desktop): enable terminal and changes on the local home screen (#2350)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "9ff59545", "pr": 2467, "subject": "Dispatch stable desktop releases to Homebrew (#2467)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "135cac50", "pr": 2475, "subject": "feat: add GPT-6 Astra (#2475)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "7eb1decd", "pr": 2476, "subject": "chore(desktop): bump version to 0.2.7 (#2476)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "19cefef6", "pr": 2481, "subject": "feat: support optional model and effort environment defaults (#2481)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "497fa043", "pr": 2477, "subject": "fix: default to Opus for Anthropic-only deployments (#2477)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "4dff9ccb", "pr": 2463, "subject": "refactor(config): unify environment configuration and standardize LangSmith env (#2463)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "0621c0f7", "pr": 2489, "subject": "feat(langsmith): discover the tenant and trace every run into LANGSMITH_PROJECT (#2489)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "ea0abc82", "pr": 2486, "subject": "feat(dashboard): serve the bundled dashboard from the backend origin (#2486)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "8a7982d0", "pr": 2491, "subject": "fix(agent): keep the server's runtime out of the graphs factories bind (#2491)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "c87e5dce", "pr": 2493, "subject": "feat(dashboard): hot reload on the backend's origin via a Vite dev proxy (#2493)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "0ed3ad89", "pr": 2495, "subject": "fix(dashboard): treat the dev-proxied UI as living on the backend origin (#2495)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "2ad5524a", "pr": 2496, "subject": "fix: guard subagent workflow pushes (#2496)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "33e735cb", "pr": 2483, "subject": "chore: remove obsolete write_todos feedback (#2483)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "342559af", "pr": 2499, "subject": "docs: split the guide into installation (deploying) and local development, add make tunnel (#2499)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "de7eb3a9", "pr": 2507, "subject": "chore(config): drop the *_PROD environment aliases (#2507)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "4d7c1124", "pr": 2503, "subject": "perf: scrub custom middleware trace inputs (#2503)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "1e6588c7", "pr": 2511, "subject": "fix: remove docs-plz Slack gate (#2511)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "04e67efe", "pr": 2469, "subject": "fix: land orphaned usage telemetry follow-ups (#2469)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "184dc55c", "pr": 2512, "subject": "chore: log usage leaderboard aggregation (#2512)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "66afd4c1", "pr": 2516, "subject": "Unify dashboard typography (#2516)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "3bbaead9", "pr": 2523, "subject": "docs: require behavior-focused tests (#2523)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "e854f25b", "pr": 2524, "subject": "fix: filter agent costs by trace (#2524)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "5951d56c", "pr": 2510, "subject": "fix: keep queued messages visible after refresh (#2510)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "70412adb", "pr": 2521, "subject": "fix(dashboard): lower thread-search page size to cut LangGraph rate-limit cost (#2521)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "646b274e", "pr": 2403, "subject": "docs(repo): update OpenWiki (#2403)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "0eae53cb", "pr": 2528, "subject": "ci: scope agent unit tests to relevant changes (#2528)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "8121935e", "pr": 2479, "subject": "fix: keep composer branch aligned with current checkout (#2479)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "9d35037d", "pr": 2509, "subject": "feat: show thread title and actions in the top bar (#2509)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "e56feb08", "pr": 2536, "subject": "fix(tools): include the protocol id when the thread tool starts a run (#2536)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "629b3ec7", "pr": 2526, "subject": "fix(ui): strip request framing headers in the backend proxy (#2526)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "4f2e7f93", "pr": 2527, "subject": "fix: add LangSmith trace to failed-run footer (#2527)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "74ea4dc5", "pr": 2525, "subject": "fix: migrate HTTP clients to HTTPX2 (#2525)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "ffc48254", "pr": 2514, "subject": "feat(ui): add project compose shortcut (#2514)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "0ff86e22", "pr": 2539, "subject": "fix(ui): make new thread heading project-agnostic (#2539)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "81baa595", "pr": 2544, "subject": "fix(deps): patch hono and js-yaml security alerts (#2544)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "1bc788d3", "pr": 2537, "subject": "refactor(ui): run agent threads on the SDK's useStream (#2537)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "648053fa", "pr": 2522, "subject": "fix(models): align OpenAI context windows with Codex (#2522)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "cafbe464", "pr": 2513, "subject": "fix: preserve background completion provenance (#2513)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "aad35eb7", "pr": 2543, "subject": "feat: add workspace-scoped MCP connections (#2543)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "4ab72d1c", "pr": 2506, "subject": "fix(slack): never go silent on an addressed request, and stop requiring a repository (#2506)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "2add0629", "pr": 2538, "subject": "feat: sign PRs with model details (#2538)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "5cc9d6f9", "pr": 2531, "subject": "fix: show web message sends optimistically (#2531)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "17c2857c", "pr": 2540, "subject": "Trust unedited self-authored fix comments (#2540)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "d7b08e2b", "pr": 2530, "subject": "refactor: use LangGraph v3 streaming throughout (#2530)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "b366be20", "pr": 2551, "subject": "fix: render working directory in system prompt (#2551)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "b489426b", "pr": 2541, "subject": "feat: add stable chat ordering and no-project grouping (#2541)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "0275efea", "pr": 2552, "subject": "refactor(dashboard): split thread_api into a threads package (#2552)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "92ab8f5a", "pr": 2553, "subject": "refactor: make cross-module helpers public and enforce it with ruff (#2553)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "1711e572", "pr": 2547, "subject": "feat(slack): collect private thread ratings and comments (#2547)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "96fb6b07", "pr": 2405, "subject": "feat: enhance Open SWE thread discovery and inspection (#2405)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "5853c66b", "pr": 2555, "subject": "docs: codify concise PR descriptions (#2555)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "0061ec40", "pr": 2546, "subject": "feat(ui): dev server against a deployed backend (#2546)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "808f8a79", "pr": 2560, "subject": "fix: use Slack headers helper for modals (#2560)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "f60add00", "pr": 2559, "subject": "chore(desktop): bump version to 0.2.8 (#2559)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "26bf6a58", "pr": 2565, "subject": "feat: prefer Fireworks for GLM 5.3 Flash (#2565)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "36c828ad", "pr": 2566, "subject": "ci: isolate Playwright from broken Chrome apt feed (#2566)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "430b290f", "pr": 2571, "subject": "fix: restore native macOS window controls (#2571)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "6fb74746", "pr": 2574, "subject": "Clarify README tagline punctuation (#2574)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "abedcbac", "pr": 2572, "subject": "feat(desktop): add manual update check (#2572)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "d9556090", "pr": 2575, "subject": "fix: respect no-project compose selection (#2575)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "ce25ad24", "pr": 2564, "subject": "fix(slack): unify thread feedback submission and completion (#2564)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "d6240b1b", "pr": 2567, "subject": "fix(ui): recover stuck pooled agent streams (#2567)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "201d41de", "pr": 2474, "subject": "feat: roll out adaptive model routing to all threads (#2474)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "1c24c8f1", "pr": 2563, "subject": "feat(mcp): add scoped runtime and OAuth client credentials (#2563)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "c9d3e4a7", "pr": 2583, "subject": "feat: remove live review findings cap (#2583)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "8c99ba1f", "pr": 2577, "subject": "feat: add backend swagger.json contract (#2577)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "5f1c16f4", "pr": 2520, "subject": "fix: simplify status text shimmer (#2520)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "799ce3c1", "pr": 2578, "subject": "docs: scope agent instructions to their directories (#2578)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "19da5d55", "pr": 2591, "subject": "refactor: simplify system prompt delivery (#2591)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "1f7bb31a", "pr": 2590, "subject": "fix(ui): return from settings to active thread (#2590)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "00b0af87", "pr": 2587, "subject": "refactor: remove dedicated Corridor MCP integration (#2587)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "c415e093", "pr": 2581, "subject": "fix: preserve desktop thread on reload (#2581)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "59998510", "pr": 2580, "subject": "refactor: replace hardcoded provider tools with workspace MCPs (#2580)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "e4b9bedb", "pr": 2599, "subject": "feat(desktop): enable Datadog RUM in releases (#2599)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "ec9d5546", "pr": 2602, "subject": "refactor: extract model prompts into markdown resources (#2602)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "7140075e", "pr": 2598, "subject": "feat: add delayed Slack thread feedback (#2598)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "2445e1af", "pr": 2605, "subject": "feat: add web thread feedback (#2605)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "358bd880", "pr": 2607, "subject": "ci: close stale pull requests automatically (#2607)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "b1725f21", "pr": 2608, "subject": "feat: simplify thread feedback to Good and Bad (#2608)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "27f4e3c9", "pr": 2415, "subject": "feat(environments): publish environments from the admin sandbox, verify nightly (#2415)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "f95b7e86", "pr": 2621, "subject": "fix(ui): stop the agent thread page render loop (#2621)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "64b21669", "pr": 2625, "subject": "fix: hide live compaction summaries (#2625)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "703a0e12", "pr": 2606, "subject": "refactor: standardize agent execution terminology on invocation (#2606)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "2b0ab2e5", "pr": 2508, "subject": "fix: require a GitHub login allowlist at startup (#2508)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "047d84fd", "pr": 2632, "subject": "refactor: structure core agent prompts (#2632)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "b3fe46df", "pr": 2637, "subject": "fix(slack): show only the last path component of model names in the footer (#2637)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "461c121f", "pr": 2641, "subject": "fix: link Slack failure replies to LangSmith instead of Open SWE Web (#2641)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "ae9337a7", "pr": 2642, "subject": "fix(ui): let modifier shortcuts like `Cmd`/`Ctrl`+`N` fire while typing (#2642)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "6f2b36e4", "pr": 2644, "subject": "revert: recover stuck pooled agent streams (#2567) (#2644)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "a1e1345a", "pr": 2634, "subject": "feat: hide compaction summaries and add conversation offloading (#2634)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "3b76cf26", "pr": 2601, "subject": "feat: add owner-only private threads (#2601)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "0b2cc083", "pr": 2651, "subject": "fix(ui): collapse long user messages with show more instead of nested scroll (#2651)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "cb9ca35a", "pr": 2649, "subject": "fix: enforce default sandbox command timeout (#2649)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "cd5ebf76", "pr": 2622, "subject": "fix: allow cross-repo baby-sit watches (#2622)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "8520b826", "pr": 2623, "subject": "fix(sandbox): delete files through async execution (#2623)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "e8fdf291", "pr": 2624, "subject": "fix: normalize missing run source before preparation (#2624)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "98ae7413", "pr": 2633, "subject": "refactor(linear): remove direct API access (#2633)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "7eea59df", "pr": 2597, "subject": "fix(desktop): keep the top strip draggable and the sidebar toggle clickable (#2597)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "e691cb14", "pr": 2654, "subject": "feat: add Auto mode to the model picker (#2654)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "16b59261", "pr": 2650, "subject": "feat: show Slack's animated Thinking status while the agent works in threads (#2650)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "0f439ec2", "pr": 2557, "subject": "fix: allow concurrent local dev runs (#2557)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "14eea6ea", "pr": 2653, "subject": "fix: stabilize adaptive model routing (#2653)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "1c0a8caa", "pr": 2659, "subject": "feat(ui): move the thread visibility picker into the header (#2659)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "429085b6", "pr": 2647, "subject": "feat: scope thread credentials and preserve initiator PR ownership (#2647)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "fd2e82f6", "pr": 2660, "subject": "chore(desktop): bump version to 0.2.9 (#2660)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "77318fd7", "pr": 2406, "subject": "fix: drop untrusted-data warning from background task notification (#2406)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "5a2c0bfa", "pr": 2596, "subject": "fix: keep RunConfig.dump from raising on non-JSON extras (#2596)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "01f6a808", "pr": 2614, "subject": "docs: include diffstats in PR delivery messages (#2614)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "0af3fe37", "pr": 2617, "subject": "fix(ui): default Datadog RUM site to us5 (#2617)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "06352496", "pr": 2375, "subject": "fix(dashboard): fill the Slack manifest with this deployment's URLs (#2375)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "f8361ce4", "pr": 2418, "subject": "fix(slack): a join is news for the next turn, not a turn of its own (#2418)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "24672d95", "pr": 2419, "subject": "feat(slack): let the agent name who starts out in a code channel (#2419)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "d7203932", "pr": 2640, "subject": "feat: org-wide adaptive model routing toggle (#2640)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "ba086656", "pr": 2669, "subject": "fix(slack): read subtype off the parsed event, not with dict.get (#2669)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "9752b06c", "pr": 2682, "subject": "fix(e2e): expose installation repositories (#2682)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "8c86049c", "pr": 2690, "subject": "fix: discover desktop updates without restarting (#2690)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "d77d7f4a", "pr": 2673, "subject": "fix: persist web model choice across Slack turns (#2673)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "c10712e0", "pr": 2693, "subject": "feat: add Linear ticket quality skill (#2693)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "143ca351", "pr": 2668, "subject": "docs: propose expedited Slack review as OEP-0002 (#2668)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "711804bc", "pr": 2636, "subject": "feat(ui): label the environment selector in the composer (#2636)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "7d40d1f5", "pr": 2594, "subject": "feat(mcp): add user-scoped MCP connections (#2594)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "dbafb947", "pr": 2549, "subject": "feat(sandbox): proxy sandbox service URLs through the dashboard (#2549)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "299df7d9", "pr": 2701, "subject": "docs: align setup guides with global defaults navigation (#2701)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "5623f4e5", "pr": 2694, "subject": "feat: add archive all threads setting (#2694)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "f8d11f2f", "pr": 2702, "subject": "fix(ui): use repository selector for global default (#2702)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "fea4c785", "pr": 2698, "subject": "feat(desktop): allow personal tracing projects (#2698)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "2ed7ab1e", "pr": 2609, "subject": "feat: allow Slack bots to start system threads (#2609)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "f654b96e", "pr": 2556, "subject": "docs: document optional code scanning alerts permission (#2556)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "5d7cd295", "pr": 2670, "subject": "ci: typecheck main before promoting it to prod (#2670)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "0564ccb8", "pr": 2713, "subject": "docs(prompt): clarify web sandbox workflow (#2713)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "e0d9aff5", "pr": 2712, "subject": "refactor(slack): use the official async Python SDK (#2712)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "6c925eea", "pr": 2717, "subject": "refactor: remove Stagehand browser automation and voice dictation (#2717)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "727f6969", "pr": 2700, "subject": "fix(desktop): copy Datadog links natively (#2700)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "f5b43ed0", "pr": 2615, "subject": "fix(ui): move terminal actions into panel header (#2615)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "ce328521", "pr": 2720, "subject": "docs: encourage strong typing and discourage Any in AGENTS.md (#2720)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "b403ec75", "pr": 2719, "subject": "feat(slack): stage uploaded Slack files in the thread sandbox (#2719)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "ae8ed49e", "pr": 2722, "subject": "fix: attribute routed model in PR footers (#2722)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "68dcbb4e", "pr": 2648, "subject": "fix: keep non-image bytes out of read_file image blocks (#2648)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "71a654cd", "pr": 2665, "subject": "fix(slack): default untagged collaborative threads to silence (#2665)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "25641e04", "pr": 2638, "subject": "feat(slack): add every Slack participant to existing agent threads (#2638)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "479463f9", "pr": 2676, "subject": "fix: preview PR links throughout messages (#2676)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "e48bdf4c", "pr": 2324, "subject": "test: remove static prompt prose assertions (#2324)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "f88baead", "pr": 2725, "subject": "test: drop the unused OBSERVABILITY_AUTHORIZED_EMAILS setting (#2725)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "ac9740fb", "pr": 2681, "subject": "fix: say \"Feedback submitted\" after Slack thread feedback (#2681)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "8ca9d7e2", "pr": 2683, "subject": "feat(analytics): define PostgreSQL usage events and schema (#2683)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "e467dd31", "pr": 2684, "subject": "feat(analytics): process usage events and retain durable history (#2684)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "1aa5d3b0", "pr": 2685, "subject": "feat(analytics): derive all Usage reports from PostgreSQL (#2685)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "914f3d77", "pr": 2729, "subject": "feat: include PR stack context in the fix prompt (#2729)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "ebd7b177", "pr": 2731, "subject": "feat: add generic thread feedback tool (#2731)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "e2c8d781", "pr": 2732, "subject": "fix(ui): stop the sidebar requesting the same page three times (#2732)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}
{"sha": "9fba9672", "pr": 2734, "subject": "feat: grant admin permissions to private admin threads (#2734)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-09-14T12:38:03Z"}

View file

@ -6,7 +6,7 @@ Commits on `upstream/main` (langchain-ai/open-swe) not yet in `dev`, and the dec
Rows key on the **upstream SHA** (stable across local cherry-picks). Deferred rows are provisional Rows key on the **upstream SHA** (stable across local cherry-picks). Deferred rows are provisional
— re-inspect before picking. See the fork-maintenance runbook in `CLAUDE.md`. — re-inspect before picking. See the fork-maintenance runbook in `CLAUDE.md`.
**Last synced `upstream/main`:** `aa1934cd` (2026-08-24) **Last synced `upstream/main`:** `9fba9672` (2026-09-14)
| sha | pr | subject | decision | why | branch | | sha | pr | subject | decision | why | branch |
|---|---|---|---|---|---| |---|---|---|---|---|---|
@ -498,5 +498,322 @@ Rows key on the **upstream SHA** (stable across local cherry-picks). Deferred ro
| `6e6d2db3` | #2190 | feat(ui): enable React Compiler on Vite 8 (#2190) | Untriaged | | | | `6e6d2db3` | #2190 | feat(ui): enable React Compiler on Vite 8 (#2190) | Untriaged | | |
| `2446cb0d` | #2193 | feat: add admin sandbox reset tool (#2193) | Untriaged | | | | `2446cb0d` | #2193 | feat: add admin sandbox reset tool (#2193) | Untriaged | | |
| `aa1934cd` | #2194 | ci: move preview environment builds out of this repository (#2194) | Untriaged | | | | `aa1934cd` | #2194 | ci: move preview environment builds out of this repository (#2194) | Untriaged | | |
| `f81bfcda` | #2195 | refactor: remove the per-turn git checkpoint feature (#2195) | Untriaged | | |
| `60e03a41` | #2196 | fix: hide sender context after thread refresh (#2196) | Untriaged | | |
| `b721b339` | #2198 | perf(agent): order parallel tool results deterministically (#2198) | Untriaged | | |
| `3009bfe0` | #2201 | perf(agent): load the factory's tool sets in parallel (#2201) | Untriaged | | |
| `8c9fdd20` | #2202 | fix(agent): inject context instead of rewriting history (#2202) | Untriaged | | |
| `37933d6a` | #2206 | perf(agent): write the git identity while the proxy is configured (#2206) | Untriaged | | |
| `0c92fb10` | #2203 | feat: add Datadog RUM to dashboard (#2203) | Untriaged | | |
| `999de6a5` | #2205 | fix: submit queued message after stopping (#2205) | Untriaged | | |
| `f038614d` | #2199 | fix: prevent stale Slack thread replies (#2199) | Untriaged | | |
| `d201c8c0` | #2208 | perf(agent): let an integration describe itself without being built (#2208) | Untriaged | | |
| `45a36634` | #2197 | refactor: run Stagehand in task sandboxes (#2197) | Untriaged | | |
| `534f2fa1` | #2192 | fix: hide sidebar keyboard shortcut (#2192) | Untriaged | | |
| `aa13a720` | #2204 | feat: show active thread in web title (#2204) | Untriaged | | |
| `46278d74` | #2210 | docs: document workflow push approval gate (#2210) | Untriaged | | |
| `daab5de0` | #2177 | fix: hide threads after resolving (#2177) | Untriaged | | |
| `97e9fc89` | #2211 | fix: reintroduce context on inbound messages, not at the model call (#2211) | Untriaged | | |
| `3a7cee6a` | #2220 | refactor: share middleware content normalization (#2220) | Untriaged | | |
| `dd09f5c2` | #2184 | fix(desktop): make the whole top strip of the window draggable (#2184) | Untriaged | | |
| `4d9c3b03` | #2224 | fix: allow concurrent web and desktop development (#2224) | Untriaged | | |
| `272dcda4` | #2221 | fix: keep changes toolbar responsive (#2221) | Untriaged | | |
| `50595908` | #2219 | refactor(review): one canonical record for a finding's GitHub identity (#2219) | Untriaged | | |
| `e86ad114` | #2217 | refactor: centralize model choice normalization (#2217) | Untriaged | | |
| `bbbd8791` | #2212 | fix: give the agent GitHub's actual response when a PR fails (#2212) | Untriaged | | |
| `a3c99316` | #2229 | fix: accept displayed integration tool names (#2229) | Untriaged | | |
| `239c9861` | #2230 | feat: attach sandbox HTML to Slack threads (#2230) | Untriaged | | |
| `8e4a71aa` | #2215 | refactor(store): one LangGraph Store helper with one error policy (#2215) | Untriaged | | |
| `700b99d9` | #2214 | refactor(middleware): delete dead middleware and correct the docs that claimed it (#2214) | Untriaged | | |
| `780cb0a0` | #2213 | refactor(thread-ids): derive every deterministic thread id in one module (#2213) | Untriaged | | |
| `30a8a0a7` | #2235 | build(pnpm): retire the last npm and npx call sites (#2235) | Untriaged | | |
| `c8a262cb` | #2218 | fix: keep first message visible during thread creation (#2218) | Untriaged | | |
| `d0bfaf3c` | #2216 | fix: group sidebar threads by recent activity (#2216) | Untriaged | | |
| `1a9d00b7` | #2243 | refactor(store): type LangGraph Store records and source_context with Pydantic (#2243) | Untriaged | | |
| `1adf7a72` | #2240 | feat: pin threads in the sidebar (#2240) | Untriaged | | |
| `b4932e94` | #2239 | fix: dedupe sender context by sender (#2239) | Untriaged | | |
| `080edb16` | #2251 | fix: align desktop filesystem paths with shell (#2251) | Untriaged | | |
| `9471d5ed` | #2249 | fix: arm scheduler cron monitors reliably (#2249) | Untriaged | | |
| `8da544d0` | #2250 | fix: enable desktop gateway routing (#2250) | Untriaged | | |
| `f4981e03` | #2248 | refactor(sandbox): remove per-repo snapshots (#2248) | Untriaged | | |
| `4673b332` | #2247 | feat(html-artifacts): one authoring contract, scripts allowed, no boilerplate (#2247) | Untriaged | | |
| `3e315bc6` | #2245 | chore: log legacy auth migration impact (#2245) | Untriaged | | |
| `75b0eac4` | #2237 | refactor: remove thread ownership (#2237) | Untriaged | | |
| `a01f702b` | #2254 | refactor(environments): migrate to TypedStore and delete KeyedRecordStore (#2254) | Untriaged | | |
| `9ed21832` | #2238 | fix: block external Slack channels (#2238) | Untriaged | | |
| `efe6b5b1` | #2236 | chore: drop Dockerfile.sandbox (#2236) | Untriaged | | |
| `9457a973` | #2234 | fix: keep changes panel controls and diffs visible (#2234) | Untriaged | | |
| `5e0f98e1` | #2226 | chore: defer PR descriptions to repository guidance (#2226) | Untriaged | | |
| `2be8c000` | #2252 | feat: integrate Slack code channels (#2252) | Untriaged | | |
| `c5a2419b` | #2241 | feat: scan actionable PR context before fixing (#2241) | Untriaged | | |
| `e143f7b9` | #2260 | fix: move code channel web link to context (#2260) | Untriaged | | |
| `f03233f5` | #2255 | feat: add Baseten GLM-5.3 Flash (#2255) | Untriaged | | |
| `c2c4f3f1` | #2256 | Add confirmation rule for conflicting thread guidance (#2256) | Untriaged | | |
| `324635df` | #2262 | feat: align code channel and thread titles (#2262) | Untriaged | | |
| `3da1a1bd` | #2266 | revert: remove the Slack thread_version optimistic lock (#2199) (#2266) | Untriaged | | |
| `db747418` | #2271 | fix: default Slack code channels to public (#2271) | Untriaged | | |
| `de85f3db` | #2268 | docs(prompt): require explicit path when using rg (#2268) | Untriaged | | |
| `024f821c` | #2274 | feat: add sandbox service URL tool (#2274) | Untriaged | | |
| `d4141066` | #2261 | Add native Slack Agent view support (#2261) | Untriaged | | |
| `46349a44` | #2258 | feat: stream agent steps in Slack (#2258) | Untriaged | | |
| `31ff4d66` | #2273 | feat: link code channels from web threads (#2273) | Untriaged | | |
| `e575a9b4` | #2269 | Fix Slack file upload to use form-encoded bodies (#2269) | Untriaged | | |
| `a2ed177f` | #2232 | feat: add anchored comments to plan previews (#2232) | Untriaged | | |
| `224676be` | #2279 | fix: Revert Slack Agent view support and agent step streaming (#2279) | Untriaged | | |
| `440c7670` | #2283 | feat: restore Slack Thinking Steps (#2283) | Untriaged | | |
| `af59a1c3` | #2286 | Group Slack thinking steps by run (#2286) | Untriaged | | |
| `4388627d` | #2276 | chore: migrate wiki to claims + okf v0.2 and update broken update workflow (#2276) | Untriaged | | |
| `5423c7f1` | #2263 | Make automations workspace admin managed (#2263) | Untriaged | | |
| `683d4e50` | #2297 | fix(sandbox): don't treat retryable sandbox errors as fatal (#2297) | Untriaged | | |
| `9dbddb5f` | #2287 | fix: ignore metadata-only Slack message edits (#2287) | Untriaged | | |
| `2f3020da` | #2293 | docs(repo): update OpenWiki (#2293) | Untriaged | | |
| `71151486` | #2299 | fix: show Slack command details (#2299) | Untriaged | | |
| `66a23eee` | #2301 | feat(models): replace GLM 5.2 with GLM 5.3 (#2301) | Untriaged | | |
| `9c426aac` | #2318 | feat(ui): redesign new agent chat and composer (#2318) | Untriaged | | |
| `4bed1112` | #2289 | feat(ui): redesign the agents sidebar (#2289) | Untriaged | | |
| `f4cd500d` | #2334 | fix: consolidate thread bug fixes (#2334) | Untriaged | | |
| `3daddc35` | #2336 | fix: stabilize desktop login and local development (#2336) | Untriaged | | |
| `0976f100` | #2339 | fix(ui): align sidebar hover actions with status icons (#2339) | Untriaged | | |
| `8d017bc5` | #2340 | perf(e2e): cut redundant specs and CI setup work (#2340) | Untriaged | | |
| `f93d05ad` | #2341 | feat: add Don't ask again to Slack onboarding (#2341) | Untriaged | | |
| `61ba9993` | #2344 | feat: default Slack implementation tasks to code channels (#2344) | Untriaged | | |
| `53dda2ae` | #2345 | refactor(ui): rebuild thread runtime lifecycle (#2345) | Untriaged | | |
| `509bc7da` | #2346 | fix: remove sidebar scroll shadow gap (#2346) | Untriaged | | |
| `4e3e7ea3` | #2328 | Render composer project picker upward (#2328) | Untriaged | | |
| `993e7bd4` | #2348 | feat(ui): render chat markdown properly (#2348) | Untriaged | | |
| `665512dc` | #2326 | docs(repo): update OpenWiki (#2326) | Untriaged | | |
| `427e119b` | #2354 | chore: upgrade LangSmith SDK to 0.12.0 (#2354) | Untriaged | | |
| `933fe9ae` | #2353 | feat: link pull requests from Slack channel cards (#2353) | Untriaged | | |
| `37732225` | #2357 | fix(ui): clarify settings scope (#2357) | Untriaged | | |
| `b10b113e` | #2347 | refactor(ui): split sidebar pagination by project (#2347) | Untriaged | | |
| `c2235db0` | #2285 | fix: hide sender context from agent chat (#2285) | Untriaged | | |
| `54a089f0` | #2356 | feat: open Slack threads in the native app (#2356) | Untriaged | | |
| `b1903145` | #2355 | fix: align collapsed sidebar button (#2355) | Untriaged | | |
| `6813f875` | #2359 | docs: reposition Open SWE as a software factory (#2359) | Untriaged | | |
| `c12055db` | #2361 | feat: expand command palette actions (#2361) | Untriaged | | |
| `64d6daed` | #2367 | fix(ui): queue mid-run follow-ups in local threads (#2367) | Untriaged | | |
| `9acd2904` | #2368 | fix: make sidebar expand button clickable (#2368) | Untriaged | | |
| `cd4f0d94` | #2298 | fix(slack): queue message edits instead of running them (#2298) | Untriaged | | |
| `6f56e5af` | #2363 | build(deps): bump the major group with 3 updates (#2363) | Untriaged | | |
| `20794d03` | #2362 | build(deps): bump langchain/langgraph-api in the minor-and-patch group (#2362) | Untriaged | | |
| `1cf3aadb` | #2352 | docs(repo): update OpenWiki (#2352) | Untriaged | | |
| `924a9be6` | #2322 | docs: clarify admin threads start in the Web UI (#2322) | Untriaged | | |
| `745dccad` | #2366 | feat: implement desktop release and nightly workflow (#2366) | Untriaged | | |
| `65aa51b7` | #2321 | chore(ui): pin nitro instead of tracking the latest dist-tag (#2321) | Untriaged | | |
| `cee104f5` | #2317 | ci: type-check the dashboard (#2317) | Untriaged | | |
| `05bca50a` | #2316 | fix: warn when ALLOWED_GITHUB_ORGS leaves dashboard login unrestricted (#2316) | Untriaged | | |
| `2c11a34d` | #2315 | test: skip the POSIX-shell html artifact tests on Windows (#2315) | Untriaged | | |
| `a683e8d3` | #2376 | refactor: split the sandbox and auth subsystems out of agent/utils (#2376) | Untriaged | | |
| `d7b26182` | #2380 | feat: replace Gemini 3.7 Flash with 3.8 Flash (#2380) | Untriaged | | |
| `9ded8a3a` | #2382 | fix: bundle local backend in desktop releases (#2382) | Untriaged | | |
| `16456e49` | #2384 | chore(desktop): bump version to 0.2.4 (#2384) | Untriaged | | |
| `50117174` | #2351 | feat(desktop): choose between the current checkout and a new worktree (#2351) | Untriaged | | |
| `e477fdef` | #2386 | fix(ui): stop duplicate initial prompt on local threads (#2386) | Untriaged | | |
| `90b5e581` | #2387 | fix(ui): make dropdown menus opaque (#2387) | Untriaged | | |
| `703621d3` | #2383 | feat: add desktop auto-updates (#2383) | Untriaged | | |
| `b7594875` | #2388 | fix: derive Slack error status from run outcome (#2388) | Untriaged | | |
| `72ca8c05` | #2389 | chore(desktop): bump version to 0.2.5 (#2389) | Untriaged | | |
| `45321107` | #2379 | feat(ui): search reviewer repositories (#2379) | Untriaged | | |
| `eb8f4afa` | #2373 | revert: stop defaulting Slack work to code channels (#2373) | Untriaged | | |
| `110098c3` | #2385 | fix(ui): remove context size checkmark (#2385) | Untriaged | | |
| `37641150` | #2381 | refactor: expose browser tools to the main agent (#2381) | Untriaged | | |
| `5ea63f4a` | #2364 | build(deps): bump the minor-and-patch group with 15 updates (#2364) | Untriaged | | |
| `22c1543a` | #2365 | build(deps): bump the major group with 2 updates (#2365) | Untriaged | | |
| `9a559481` | #2392 | Mark Kanban as experimental (#2392) | Untriaged | | |
| `2531b9dd` | #2374 | docs(repo): update OpenWiki (#2374) | Untriaged | | |
| `0d8ad72e` | #2270 | chore: bump deepagents to 0.7.9 (#2270) | Untriaged | | |
| `c6cb7ca4` | #2395 | fix(deps): patch transitive dependency vulnerabilities (#2395) | Untriaged | | |
| `395c6ec5` | #2398 | fix: support the default root sandbox snapshot (#2398) | Untriaged | | |
| `4989d854` | #2399 | fix: make code channel promotion opt-in (#2399) | Untriaged | | |
| `1463e370` | #2378 | refactor: group modules by service instead of by category (#2378) | Untriaged | | |
| `ed68d0d7` | #2323 | fix: surface working tree connection failures (#2323) | Untriaged | | |
| `ad29b0f0` | #2156 | chore: update Python and JavaScript dependencies (#2156) | Untriaged | | |
| `a40c28e4` | #2296 | refactor(config): model `configurable` as a pydantic RunConfig (#2296) | Untriaged | | |
| `11743d4c` | #2404 | feat: classify run failures and say why in the failure reply (#2404) | Untriaged | | |
| `2b5e814f` | #2407 | feat(github): log every inbound webhook payload in full (#2407) | Untriaged | | |
| `bc8b0891` | #2397 | fix: resolve threads after attached pull requests close (#2397) | Untriaged | | |
| `d120e433` | #2411 | docs: clarify desktop platform support (#2411) | Untriaged | | |
| `257987ca` | #2402 | chore: require Python 3.14 as the minimum version (#2402) | Untriaged | | |
| `2cc45ed6` | #2396 | fix: hide compaction summaries from chat (#2396) | Untriaged | | |
| `86cbbee2` | #2421 | chore: switch Python type checking to ty (#2421) | Untriaged | | |
| `9c4f13b6` | #2424 | fix: use bare code fences in Slack replies (#2424) | Untriaged | | |
| `8ca30952` | #2409 | fix(ui): forward backend responses instead of stringifying them (#2409) | Untriaged | | |
| `a3c9ed9d` | #2427 | feat(ui): move workflow approval into transcript (#2427) | Untriaged | | |
| `0323b8d2` | #2425 | docs: establish lightweight OEP process (#2425) | Untriaged | | |
| `5589fc24` | #2426 | fix: clarify workflow push approval prompts (#2426) | Untriaged | | |
| `d54c831c` | #2431 | chore(desktop): bump version to 0.2.6 (#2431) | Untriaged | | |
| `1fa5882b` | #2428 | fix(desktop): connect Slack and Notion through a loopback handoff (#2428) | Untriaged | | |
| `b7d687db` | #2433 | fix(desktop): preserve adaptive macOS Dock icon (#2433) | Untriaged | | |
| `7be36858` | #2394 | docs: drop the legacy LangSmith-brokered GitHub OAuth setup (#2394) | Untriaged | | |
| `2d407c41` | #2423 | docs: trim agent instructions (#2423) | Untriaged | | |
| `df99ccb5` | #2417 | fix(agent): narrow Corridor guidance (#2417) | Untriaged | | |
| `7fb7b6c7` | #2439 | docs: restore OpenWiki guidance (#2439) | Untriaged | | |
| `70004c6a` | #2416 | docs(customization): update prompt-section table with current section names (fixes #2371) (#2416) | Untriaged | | |
| `7da6f448` | #2438 | feat: replace Fable 5 with Fable 5.1 (#2438) | Untriaged | | |
| `a150cc67` | #2441 | Keep generated artifacts out of repositories (#2441) | Untriaged | | |
| `0f80306e` | #2390 | fix(ui): tweak themes (#2390) | Untriaged | | |
| `39644993` | #2440 | feat: persist agent run usage telemetry (#2440) | Untriaged | | |
| `01b54758` | #2435 | feat: inject user LangSmith credentials through sandbox proxy (#2435) | Untriaged | | |
| `b294314d` | #2442 | fix: remove sidebar bottom scroll shadow gap (#2442) | Untriaged | | |
| `d9095795` | #2450 | feat: Haiku thread-title fallback for Anthropic-only deployments (#2450) | Untriaged | | |
| `b224c29e` | #2449 | feat: allow explicitly authorized force pushes (#2449) | Untriaged | | |
| `f3e656b5` | #2408 | fix: preserve Slack reply order during active work (#2408) | Untriaged | | |
| `4e5e394d` | #2422 | fix(ui): scroll to submitted follow-ups (#2422) | Untriaged | | |
| `5361ef97` | #2434 | fix(desktop): keep updater artifact names consistent (#2434) | Untriaged | | |
| `1203aae1` | #2468 | fix(desktop): call Codex login a ChatGPT subscription (#2468) | Untriaged | | |
| `71530e70` | #2470 | fix: omit snapshot_id instead of sending "" for the root snapshot (#2470) | Untriaged | | |
| `265b00c3` | #2471 | fix: remove priority sidebar sorting (#2471) | Untriaged | | |
| `65d775f4` | #2350 | feat(desktop): enable terminal and changes on the local home screen (#2350) | Untriaged | | |
| `9ff59545` | #2467 | Dispatch stable desktop releases to Homebrew (#2467) | Untriaged | | |
| `135cac50` | #2475 | feat: add GPT-6 Astra (#2475) | Untriaged | | |
| `7eb1decd` | #2476 | chore(desktop): bump version to 0.2.7 (#2476) | Untriaged | | |
| `19cefef6` | #2481 | feat: support optional model and effort environment defaults (#2481) | Untriaged | | |
| `497fa043` | #2477 | fix: default to Opus for Anthropic-only deployments (#2477) | Untriaged | | |
| `4dff9ccb` | #2463 | refactor(config): unify environment configuration and standardize LangSmith env (#2463) | Untriaged | | |
| `0621c0f7` | #2489 | feat(langsmith): discover the tenant and trace every run into LANGSMITH_PROJECT (#2489) | Untriaged | | |
| `ea0abc82` | #2486 | feat(dashboard): serve the bundled dashboard from the backend origin (#2486) | Untriaged | | |
| `8a7982d0` | #2491 | fix(agent): keep the server's runtime out of the graphs factories bind (#2491) | Untriaged | | |
| `c87e5dce` | #2493 | feat(dashboard): hot reload on the backend's origin via a Vite dev proxy (#2493) | Untriaged | | |
| `0ed3ad89` | #2495 | fix(dashboard): treat the dev-proxied UI as living on the backend origin (#2495) | Untriaged | | |
| `2ad5524a` | #2496 | fix: guard subagent workflow pushes (#2496) | Untriaged | | |
| `33e735cb` | #2483 | chore: remove obsolete write_todos feedback (#2483) | Untriaged | | |
| `342559af` | #2499 | docs: split the guide into installation (deploying) and local development, add make tunnel (#2499) | Untriaged | | |
| `de7eb3a9` | #2507 | chore(config): drop the *_PROD environment aliases (#2507) | Untriaged | | |
| `4d7c1124` | #2503 | perf: scrub custom middleware trace inputs (#2503) | Untriaged | | |
| `1e6588c7` | #2511 | fix: remove docs-plz Slack gate (#2511) | Untriaged | | |
| `04e67efe` | #2469 | fix: land orphaned usage telemetry follow-ups (#2469) | Untriaged | | |
| `184dc55c` | #2512 | chore: log usage leaderboard aggregation (#2512) | Untriaged | | |
| `66afd4c1` | #2516 | Unify dashboard typography (#2516) | Untriaged | | |
| `3bbaead9` | #2523 | docs: require behavior-focused tests (#2523) | Untriaged | | |
| `e854f25b` | #2524 | fix: filter agent costs by trace (#2524) | Untriaged | | |
| `5951d56c` | #2510 | fix: keep queued messages visible after refresh (#2510) | Untriaged | | |
| `70412adb` | #2521 | fix(dashboard): lower thread-search page size to cut LangGraph rate-limit cost (#2521) | Untriaged | | |
| `646b274e` | #2403 | docs(repo): update OpenWiki (#2403) | Untriaged | | |
| `0eae53cb` | #2528 | ci: scope agent unit tests to relevant changes (#2528) | Untriaged | | |
| `8121935e` | #2479 | fix: keep composer branch aligned with current checkout (#2479) | Untriaged | | |
| `9d35037d` | #2509 | feat: show thread title and actions in the top bar (#2509) | Untriaged | | |
| `e56feb08` | #2536 | fix(tools): include the protocol id when the thread tool starts a run (#2536) | Untriaged | | |
| `629b3ec7` | #2526 | fix(ui): strip request framing headers in the backend proxy (#2526) | Untriaged | | |
| `4f2e7f93` | #2527 | fix: add LangSmith trace to failed-run footer (#2527) | Untriaged | | |
| `74ea4dc5` | #2525 | fix: migrate HTTP clients to HTTPX2 (#2525) | Untriaged | | |
| `ffc48254` | #2514 | feat(ui): add project compose shortcut (#2514) | Untriaged | | |
| `0ff86e22` | #2539 | fix(ui): make new thread heading project-agnostic (#2539) | Untriaged | | |
| `81baa595` | #2544 | fix(deps): patch hono and js-yaml security alerts (#2544) | Untriaged | | |
| `1bc788d3` | #2537 | refactor(ui): run agent threads on the SDK's useStream (#2537) | Untriaged | | |
| `648053fa` | #2522 | fix(models): align OpenAI context windows with Codex (#2522) | Untriaged | | |
| `cafbe464` | #2513 | fix: preserve background completion provenance (#2513) | Untriaged | | |
| `aad35eb7` | #2543 | feat: add workspace-scoped MCP connections (#2543) | Untriaged | | |
| `4ab72d1c` | #2506 | fix(slack): never go silent on an addressed request, and stop requiring a repository (#2506) | Untriaged | | |
| `2add0629` | #2538 | feat: sign PRs with model details (#2538) | Untriaged | | |
| `5cc9d6f9` | #2531 | fix: show web message sends optimistically (#2531) | Untriaged | | |
| `17c2857c` | #2540 | Trust unedited self-authored fix comments (#2540) | Untriaged | | |
| `d7b08e2b` | #2530 | refactor: use LangGraph v3 streaming throughout (#2530) | Untriaged | | |
| `b366be20` | #2551 | fix: render working directory in system prompt (#2551) | Untriaged | | |
| `b489426b` | #2541 | feat: add stable chat ordering and no-project grouping (#2541) | Untriaged | | |
| `0275efea` | #2552 | refactor(dashboard): split thread_api into a threads package (#2552) | Untriaged | | |
| `92ab8f5a` | #2553 | refactor: make cross-module helpers public and enforce it with ruff (#2553) | Untriaged | | |
| `1711e572` | #2547 | feat(slack): collect private thread ratings and comments (#2547) | Untriaged | | |
| `96fb6b07` | #2405 | feat: enhance Open SWE thread discovery and inspection (#2405) | Untriaged | | |
| `5853c66b` | #2555 | docs: codify concise PR descriptions (#2555) | Untriaged | | |
| `0061ec40` | #2546 | feat(ui): dev server against a deployed backend (#2546) | Untriaged | | |
| `808f8a79` | #2560 | fix: use Slack headers helper for modals (#2560) | Untriaged | | |
| `f60add00` | #2559 | chore(desktop): bump version to 0.2.8 (#2559) | Untriaged | | |
| `26bf6a58` | #2565 | feat: prefer Fireworks for GLM 5.3 Flash (#2565) | Untriaged | | |
| `36c828ad` | #2566 | ci: isolate Playwright from broken Chrome apt feed (#2566) | Untriaged | | |
| `430b290f` | #2571 | fix: restore native macOS window controls (#2571) | Untriaged | | |
| `6fb74746` | #2574 | Clarify README tagline punctuation (#2574) | Untriaged | | |
| `abedcbac` | #2572 | feat(desktop): add manual update check (#2572) | Untriaged | | |
| `d9556090` | #2575 | fix: respect no-project compose selection (#2575) | Untriaged | | |
| `ce25ad24` | #2564 | fix(slack): unify thread feedback submission and completion (#2564) | Untriaged | | |
| `d6240b1b` | #2567 | fix(ui): recover stuck pooled agent streams (#2567) | Untriaged | | |
| `201d41de` | #2474 | feat: roll out adaptive model routing to all threads (#2474) | Untriaged | | |
| `1c24c8f1` | #2563 | feat(mcp): add scoped runtime and OAuth client credentials (#2563) | Untriaged | | |
| `c9d3e4a7` | #2583 | feat: remove live review findings cap (#2583) | Untriaged | | |
| `8c99ba1f` | #2577 | feat: add backend swagger.json contract (#2577) | Untriaged | | |
| `5f1c16f4` | #2520 | fix: simplify status text shimmer (#2520) | Untriaged | | |
| `799ce3c1` | #2578 | docs: scope agent instructions to their directories (#2578) | Untriaged | | |
| `19da5d55` | #2591 | refactor: simplify system prompt delivery (#2591) | Untriaged | | |
| `1f7bb31a` | #2590 | fix(ui): return from settings to active thread (#2590) | Untriaged | | |
| `00b0af87` | #2587 | refactor: remove dedicated Corridor MCP integration (#2587) | Untriaged | | |
| `c415e093` | #2581 | fix: preserve desktop thread on reload (#2581) | Untriaged | | |
| `59998510` | #2580 | refactor: replace hardcoded provider tools with workspace MCPs (#2580) | Untriaged | | |
| `e4b9bedb` | #2599 | feat(desktop): enable Datadog RUM in releases (#2599) | Untriaged | | |
| `ec9d5546` | #2602 | refactor: extract model prompts into markdown resources (#2602) | Untriaged | | |
| `7140075e` | #2598 | feat: add delayed Slack thread feedback (#2598) | Untriaged | | |
| `2445e1af` | #2605 | feat: add web thread feedback (#2605) | Untriaged | | |
| `358bd880` | #2607 | ci: close stale pull requests automatically (#2607) | Untriaged | | |
| `b1725f21` | #2608 | feat: simplify thread feedback to Good and Bad (#2608) | Untriaged | | |
| `27f4e3c9` | #2415 | feat(environments): publish environments from the admin sandbox, verify nightly (#2415) | Untriaged | | |
| `f95b7e86` | #2621 | fix(ui): stop the agent thread page render loop (#2621) | Untriaged | | |
| `64b21669` | #2625 | fix: hide live compaction summaries (#2625) | Untriaged | | |
| `703a0e12` | #2606 | refactor: standardize agent execution terminology on invocation (#2606) | Untriaged | | |
| `2b0ab2e5` | #2508 | fix: require a GitHub login allowlist at startup (#2508) | Untriaged | | |
| `047d84fd` | #2632 | refactor: structure core agent prompts (#2632) | Untriaged | | |
| `b3fe46df` | #2637 | fix(slack): show only the last path component of model names in the footer (#2637) | Untriaged | | |
| `461c121f` | #2641 | fix: link Slack failure replies to LangSmith instead of Open SWE Web (#2641) | Untriaged | | |
| `ae9337a7` | #2642 | fix(ui): let modifier shortcuts like `Cmd`/`Ctrl`+`N` fire while typing (#2642) | Untriaged | | |
| `6f2b36e4` | #2644 | revert: recover stuck pooled agent streams (#2567) (#2644) | Untriaged | | |
| `a1e1345a` | #2634 | feat: hide compaction summaries and add conversation offloading (#2634) | Untriaged | | |
| `3b76cf26` | #2601 | feat: add owner-only private threads (#2601) | Untriaged | | |
| `0b2cc083` | #2651 | fix(ui): collapse long user messages with show more instead of nested scroll (#2651) | Untriaged | | |
| `cb9ca35a` | #2649 | fix: enforce default sandbox command timeout (#2649) | Untriaged | | |
| `cd5ebf76` | #2622 | fix: allow cross-repo baby-sit watches (#2622) | Untriaged | | |
| `8520b826` | #2623 | fix(sandbox): delete files through async execution (#2623) | Untriaged | | |
| `e8fdf291` | #2624 | fix: normalize missing run source before preparation (#2624) | Untriaged | | |
| `98ae7413` | #2633 | refactor(linear): remove direct API access (#2633) | Untriaged | | |
| `7eea59df` | #2597 | fix(desktop): keep the top strip draggable and the sidebar toggle clickable (#2597) | Untriaged | | |
| `e691cb14` | #2654 | feat: add Auto mode to the model picker (#2654) | Untriaged | | |
| `16b59261` | #2650 | feat: show Slack's animated Thinking status while the agent works in threads (#2650) | Untriaged | | |
| `0f439ec2` | #2557 | fix: allow concurrent local dev runs (#2557) | Untriaged | | |
| `14eea6ea` | #2653 | fix: stabilize adaptive model routing (#2653) | Untriaged | | |
| `1c0a8caa` | #2659 | feat(ui): move the thread visibility picker into the header (#2659) | Untriaged | | |
| `429085b6` | #2647 | feat: scope thread credentials and preserve initiator PR ownership (#2647) | Untriaged | | |
| `fd2e82f6` | #2660 | chore(desktop): bump version to 0.2.9 (#2660) | Untriaged | | |
| `77318fd7` | #2406 | fix: drop untrusted-data warning from background task notification (#2406) | Untriaged | | |
| `5a2c0bfa` | #2596 | fix: keep RunConfig.dump from raising on non-JSON extras (#2596) | Untriaged | | |
| `01f6a808` | #2614 | docs: include diffstats in PR delivery messages (#2614) | Untriaged | | |
| `0af3fe37` | #2617 | fix(ui): default Datadog RUM site to us5 (#2617) | Untriaged | | |
| `06352496` | #2375 | fix(dashboard): fill the Slack manifest with this deployment's URLs (#2375) | Untriaged | | |
| `f8361ce4` | #2418 | fix(slack): a join is news for the next turn, not a turn of its own (#2418) | Untriaged | | |
| `24672d95` | #2419 | feat(slack): let the agent name who starts out in a code channel (#2419) | Untriaged | | |
| `d7203932` | #2640 | feat: org-wide adaptive model routing toggle (#2640) | Untriaged | | |
| `ba086656` | #2669 | fix(slack): read subtype off the parsed event, not with dict.get (#2669) | Untriaged | | |
| `9752b06c` | #2682 | fix(e2e): expose installation repositories (#2682) | Untriaged | | |
| `8c86049c` | #2690 | fix: discover desktop updates without restarting (#2690) | Untriaged | | |
| `d77d7f4a` | #2673 | fix: persist web model choice across Slack turns (#2673) | Untriaged | | |
| `c10712e0` | #2693 | feat: add Linear ticket quality skill (#2693) | Untriaged | | |
| `143ca351` | #2668 | docs: propose expedited Slack review as OEP-0002 (#2668) | Untriaged | | |
| `711804bc` | #2636 | feat(ui): label the environment selector in the composer (#2636) | Untriaged | | |
| `7d40d1f5` | #2594 | feat(mcp): add user-scoped MCP connections (#2594) | Untriaged | | |
| `dbafb947` | #2549 | feat(sandbox): proxy sandbox service URLs through the dashboard (#2549) | Untriaged | | |
| `299df7d9` | #2701 | docs: align setup guides with global defaults navigation (#2701) | Untriaged | | |
| `5623f4e5` | #2694 | feat: add archive all threads setting (#2694) | Untriaged | | |
| `f8d11f2f` | #2702 | fix(ui): use repository selector for global default (#2702) | Untriaged | | |
| `fea4c785` | #2698 | feat(desktop): allow personal tracing projects (#2698) | Untriaged | | |
| `2ed7ab1e` | #2609 | feat: allow Slack bots to start system threads (#2609) | Untriaged | | |
| `f654b96e` | #2556 | docs: document optional code scanning alerts permission (#2556) | Untriaged | | |
| `5d7cd295` | #2670 | ci: typecheck main before promoting it to prod (#2670) | Untriaged | | |
| `0564ccb8` | #2713 | docs(prompt): clarify web sandbox workflow (#2713) | Untriaged | | |
| `e0d9aff5` | #2712 | refactor(slack): use the official async Python SDK (#2712) | Untriaged | | |
| `6c925eea` | #2717 | refactor: remove Stagehand browser automation and voice dictation (#2717) | Untriaged | | |
| `727f6969` | #2700 | fix(desktop): copy Datadog links natively (#2700) | Untriaged | | |
| `f5b43ed0` | #2615 | fix(ui): move terminal actions into panel header (#2615) | Untriaged | | |
| `ce328521` | #2720 | docs: encourage strong typing and discourage Any in AGENTS.md (#2720) | Untriaged | | |
| `b403ec75` | #2719 | feat(slack): stage uploaded Slack files in the thread sandbox (#2719) | Untriaged | | |
| `ae8ed49e` | #2722 | fix: attribute routed model in PR footers (#2722) | Untriaged | | |
| `68dcbb4e` | #2648 | fix: keep non-image bytes out of read_file image blocks (#2648) | Untriaged | | |
| `71a654cd` | #2665 | fix(slack): default untagged collaborative threads to silence (#2665) | Untriaged | | |
| `25641e04` | #2638 | feat(slack): add every Slack participant to existing agent threads (#2638) | Untriaged | | |
| `479463f9` | #2676 | fix: preview PR links throughout messages (#2676) | Untriaged | | |
| `e48bdf4c` | #2324 | test: remove static prompt prose assertions (#2324) | Untriaged | | |
| `f88baead` | #2725 | test: drop the unused OBSERVABILITY_AUTHORIZED_EMAILS setting (#2725) | Untriaged | | |
| `ac9740fb` | #2681 | fix: say "Feedback submitted" after Slack thread feedback (#2681) | Untriaged | | |
| `8ca9d7e2` | #2683 | feat(analytics): define PostgreSQL usage events and schema (#2683) | Untriaged | | |
| `e467dd31` | #2684 | feat(analytics): process usage events and retain durable history (#2684) | Untriaged | | |
| `1aa5d3b0` | #2685 | feat(analytics): derive all Usage reports from PostgreSQL (#2685) | Untriaged | | |
| `914f3d77` | #2729 | feat: include PR stack context in the fix prompt (#2729) | Untriaged | | |
| `ebd7b177` | #2731 | feat: add generic thread feedback tool (#2731) | Untriaged | | |
| `e2c8d781` | #2732 | fix(ui): stop the sidebar requesting the same page three times (#2732) | Untriaged | | |
| `9fba9672` | #2734 | feat: grant admin permissions to private admin threads (#2734) | Untriaged | | |
_Maintenance: after a `git sync`, add new `dev..upstream/main` SHAs as **Untriaged** (edit `triage.jsonl`) and bump "Last synced". A successful `git cherry-pick -x` auto-moves the row to **Landed** via the `post-commit` journal + `make triage-reconcile`._ _Maintenance: after a `git sync`, add new `dev..upstream/main` SHAs as **Untriaged** (edit `triage.jsonl`) and bump "Last synced". A successful `git cherry-pick -x` auto-moves the row to **Landed** via the `post-commit` journal + `make triage-reconcile`._