diff --git a/docs/upstream-sync/triage.jsonl b/docs/upstream-sync/triage.jsonl index a7c1aeae..fbfbc0f6 100644 --- a/docs/upstream-sync/triage.jsonl +++ b/docs/upstream-sync/triage.jsonl @@ -1,4 +1,4 @@ -{"_meta": {"last_synced": "0e2eefbc", "last_synced_date": "2026-07-24"}} +{"_meta": {"last_synced": "80e01ee6", "last_synced_date": "2026-08-10"}} {"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": "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"} @@ -150,3 +150,75 @@ {"sha": "b67215ed", "pr": 1780, "subject": "feat: link originating Slack threads (#1780)", "disposition": "deferred", "reason": "Desirable for the Slack-heavy fork: dispatch records the originating Slack permalink in thread metadata (webhooks/common.py), open_pull_request embeds an 'Originating Slack thread' link in the PR body (gated to private repos), and the sidebar menu links it. Impl files auto-merge (thread_api / open_pull_request / webhooks/common); conflicts are fork drift in prompt.py (customized prompt constants), tests/e2e/harness.py, tests/slack/test_slack_context.py — hand re-key those; keep backend + UI (AgentsSidebar, types) + e2e dashboard spec as one vertical.", "branch": "", "local_sha": null, "updated": "2026-07-24T19:25:37Z"} {"sha": "7d79d300", "pr": 1804, "subject": "chore(deps): bump deepagents to 0.7.0b1 pin (#1804)", "disposition": "deferred", "reason": "Rides the deferred #1745 deepagents bump: 0.7.0a7→0.7.0b1 pin + wcmatch>=11.0 uv override (langchain-e2b's e2b dep still caps wcmatch<11.0). Fork is pinned deepagents==0.6.12 — and langsmith==0.10.10 already satisfies the new >=0.10.9 floor — and never took the a7-era HARNESS_EXCLUDED_MIDDLEWARE code its prompt.py hunk deletes, so nothing applies standalone. Re-triage as one cluster: #1745 (bump, now targeting 0.7.0b1) + #1796 (offload delegation) + this pin/override.", "branch": "", "local_sha": null, "updated": "2026-07-24T19:25:44Z"} {"sha": "0e2eefbc", "pr": 1801, "subject": "chore: bump default sandbox resources and delete-after-stop (#1801)", "disposition": "deferred", "reason": "Capacity/cost policy, not a correctness fix: defaults 2→4 vCPU, 7936MiB→16GiB mem, 32→128GiB FS, stopped-sandbox delete 24h→14d. Would materially raise LangSmith sandbox spend on sh-openswe unless prod env already overrides; all five values are env-overridable today. Decide prod sizing first (ops decision), then adopt or reject. Textual conflict is only fork drift in integrations/langsmith.py (sync-era SandboxClient, reconnect constants absent) — the constants re-key trivially; docs hunks auto-merge.", "branch": "", "local_sha": null, "updated": "2026-07-24T19:25:49Z"} +{"sha": "d49553c2", "pr": 1806, "subject": "fix: pass initialized backend instance to create_deep_agent (#1806)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "ed12bb8d", "pr": 1807, "subject": "feat: add Claude Opus 5 support (#1807)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "e72a658e", "pr": 1809, "subject": "fix: patch vulnerable dependencies (#1809)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "d3d02135", "pr": 1810, "subject": "fix: never recreate or delete a thread's sandbox (#1810)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "1b01d9c1", "pr": 1812, "subject": "fix: log automated Slack warnings as errors (#1812)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "fcf4db55", "pr": 1811, "subject": "fix: let users explicitly override prompt instructions (#1811)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "998b8084", "pr": 1814, "subject": "fix: make approve_plan work on Python 3.11 and bump langgraph-api (#1814)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "94653fdd", "pr": 1815, "subject": "chore: bump deepagents and trim prompt shims (#1815)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "90b43423", "pr": 1816, "subject": "fix: extend sandbox delete-after-stop ttl (#1816)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "f353a76b", "pr": 1818, "subject": "feat: Cursor-style model picker; retire Opus 4.8 and GPT-5.5 (#1818)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "2c54ea7a", "pr": 1817, "subject": "fix: let the reviewer recover from an unreachable sandbox (#1817)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "4be00103", "pr": 1820, "subject": "chore: require LangSmith SDK 0.10.11 (#1820)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "30c339a3", "pr": 1821, "subject": "fix: make the web stop button work and bound stalled model calls (#1821)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "dff6a5f8", "pr": 1808, "subject": "feat: add deployable Open SWE Dockerfile (#1808)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "5f095229", "pr": 1822, "subject": "feat: add persistent diff line wrapping (#1822)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "26c5b6d2", "pr": 1824, "subject": "perf: cache the dashboard repo picker's repo list (#1824)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "f2dc7cd1", "pr": 1825, "subject": "feat: add explicit sandbox recreation tool (#1825)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "6af059b5", "pr": 1828, "subject": "fix: remove natural wording from approval prompts (#1828)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "60bdb911", "pr": 1827, "subject": "feat: vary Slack acknowledgement reactions (#1827)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "940db8e6", "pr": 1830, "subject": "feat: user-level custom instructions with agent self-edit (#1830)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "9ec6f851", "pr": 1831, "subject": "chore: bump LangSmith and Deep Agents SDKs (#1831)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "7ddbbb17", "pr": 1836, "subject": "fix: correct Kimi K3 Fireworks model id and effort levels (#1836)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "b7ecd8e4", "pr": 1835, "subject": "feat: support forwarded Slack message context (#1835)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "883c1d08", "pr": 1837, "subject": "fix: remove repeated Slack prompt instructions (#1837)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "9fb145a1", "pr": 1834, "subject": "fix: show Kimi K3 context window (#1834)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "4ac5eb5e", "pr": 1842, "subject": "fix: sync CLAUDE.md sandbox lifecycle (#1842)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "5b2cbabc", "pr": 1840, "subject": "chore(deps): bump the major group with 4 updates (#1840)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "79596dc4", "pr": 1839, "subject": "chore(deps): bump langchain/langgraph-api from 0.10.0rc3-py3.12 to 0.13.0.dev8-py3.12 in the minor-and-patch group (#1839)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "2c697312", "pr": 1844, "subject": "chore(deps): bump the minor-and-patch group across 1 directory with 13 updates (#1844)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "4f414cb9", "pr": 1845, "subject": "chore(deps): bump aiohttp from 3.14.1 to 3.14.3 (#1845)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "a5ccfb91", "pr": 1846, "subject": "chore(deps): bump cryptography from 49.0.0 to 50.0.0 (#1846)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "b0be18ea", "pr": 1847, "subject": "fix: avoid approval-like reactions on PR posts (#1847)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "e563e7bf", "pr": 1849, "subject": "feat: support max reasoning for GPT-5.6 Luna (#1849)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "970548ff", "pr": 1848, "subject": "fix: restrict user instructions tool scope (#1848)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "3305a5dd", "pr": 1843, "subject": "fix: cancel active dashboard runs by ID (#1843)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "26c98fa7", "pr": 1850, "subject": "feat: add user-managed agent skills (#1850)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "c059dfca", "pr": 1851, "subject": "refactor(web): rebuild the agents chat surface on one palette (#1851)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "97f69066", "pr": 1833, "subject": "feat: show run usage in Slack footers (#1833)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "ffe24c92", "pr": 1855, "subject": "feat: add skill autocomplete to agent chat (#1855)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "5106116b", "pr": 1858, "subject": "chore: bump LangSmith SDK to 0.10.16 (#1858)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "7138945d", "pr": 1860, "subject": "chore(deps): bump langchain-anthropic minimum (#1860)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "652b426e", "pr": 1859, "subject": "feat: add experimental Electron client (#1859)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "6a5cd535", "pr": 1856, "subject": "feat: show plans in the agent side panel (#1856)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "133d3873", "pr": 1862, "subject": "fix: collapse shell tool calls by default (#1862)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "52597446", "pr": 1863, "subject": "feat: autofocus new agent input (#1863)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "6e329535", "pr": 1867, "subject": "feat: allow org members to use LangSmith tools (#1867)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "0b9d69ee", "pr": 1865, "subject": "feat: give agent chat a distinct typeface (#1865)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "b54d6b3d", "pr": 1866, "subject": "fix(slack): drop rotating loading messages from assistant status (#1866)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "c410ff6b", "pr": 1868, "subject": "feat: dynamically load integration tool schemas (#1868)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "6e090976", "pr": 1870, "subject": "fix: let user scrolling override diff navigation (#1870)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "28ebd893", "pr": 1871, "subject": "fix: require explicit request for PR reviewer (#1871)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "59de29c4", "pr": 1864, "subject": "feat: run dcode locally in desktop app (#1864)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "98a30c7e", "pr": 1873, "subject": "fix: remember right panel state per thread (#1873)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "eafe15c1", "pr": 1872, "subject": "feat: let agents manage user skills (#1872)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "0696eb27", "pr": 1875, "subject": "fix: restore desktop agent live updates (#1875)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "6b3e3009", "pr": 1874, "subject": "feat: source changed-files views from git turn checkpoints (#1874)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "7fd374b0", "pr": 1876, "subject": "fix: recover dashboard streams after suspension (#1876)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "95cce798", "pr": 1878, "subject": "fix: recover desktop ACP sessions after prompt errors (#1878)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "cd0a3369", "pr": 1879, "subject": "fix: show one static Slack tip per run (#1879)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "2a29d526", "pr": 1883, "subject": "fix(web): bind the stream transport to the active thread (#1883)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "0a8ceb33", "pr": 1880, "subject": "refactor: run sandbox and LangSmith IO natively async (#1880)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "f188d3bc", "pr": 1881, "subject": "fix: show approval state on shared threads (#1881)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "7a42e2ed", "pr": 1877, "subject": "feat: enable local terminal (#1877)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "dd79f4f2", "pr": 1884, "subject": "feat: split the agents sidebar into Local and Cloud sections (#1884)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "1ce0c621", "pr": 1885, "subject": "fix: soften dark and light theme palettes (#1885)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "ed6ab82b", "pr": 1887, "subject": "fix(web): restore thread stream lifecycle (#1887)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "35e75e1f", "pr": 1886, "subject": "feat: add per-user PR draft preference (#1886)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "3a38602d", "pr": 1888, "subject": "feat: auto-approve dcode ACP permissions (#1888)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "ee3986b5", "pr": 1889, "subject": "fix: make sidebar Local/Cloud headers read as headings (#1889)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "458ed232", "pr": 1890, "subject": "fix: isolate desktop dev profile from installed app (#1890)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "24da2a9f", "pr": 1861, "subject": "chore(deps-dev): bump electron (#1861)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} +{"sha": "80e01ee6", "pr": 1892, "subject": "style(web): format entire UI tree and enforce it in CI (#1892)", "disposition": "untriaged", "reason": "", "branch": "", "local_sha": null, "updated": "2026-08-10T12:33:10Z"} diff --git a/docs/upstream-sync/triage.md b/docs/upstream-sync/triage.md index 44c97697..cefacadb 100644 --- a/docs/upstream-sync/triage.md +++ b/docs/upstream-sync/triage.md @@ -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 — re-inspect before picking. See the fork-maintenance runbook in `CLAUDE.md`. -**Last synced `upstream/main`:** `0e2eefbc` (2026-07-24) +**Last synced `upstream/main`:** `80e01ee6` (2026-08-10) | sha | pr | subject | decision | why | branch | |---|---|---|---|---|---| @@ -161,5 +161,77 @@ Rows key on the **upstream SHA** (stable across local cherry-picks). Deferred ro | `b67215ed` | #1780 | feat: link originating Slack threads (#1780) | Deferred | Desirable for the Slack-heavy fork: dispatch records the originating Slack permalink in thread metadata (webhooks/common.py), open_pull_request embeds an 'Originating Slack thread' link in the PR body (gated to private repos), and the sidebar menu links it. Impl files auto-merge (thread_api / open_pull_request / webhooks/common); conflicts are fork drift in prompt.py (customized prompt constants), tests/e2e/harness.py, tests/slack/test_slack_context.py — hand re-key those; keep backend + UI (AgentsSidebar, types) + e2e dashboard spec as one vertical. | | | `7d79d300` | #1804 | chore(deps): bump deepagents to 0.7.0b1 pin (#1804) | Deferred | Rides the deferred #1745 deepagents bump: 0.7.0a7→0.7.0b1 pin + wcmatch>=11.0 uv override (langchain-e2b's e2b dep still caps wcmatch<11.0). Fork is pinned deepagents==0.6.12 — and langsmith==0.10.10 already satisfies the new >=0.10.9 floor — and never took the a7-era HARNESS_EXCLUDED_MIDDLEWARE code its prompt.py hunk deletes, so nothing applies standalone. Re-triage as one cluster: #1745 (bump, now targeting 0.7.0b1) + #1796 (offload delegation) + this pin/override. | | | `0e2eefbc` | #1801 | chore: bump default sandbox resources and delete-after-stop (#1801) | Deferred | Capacity/cost policy, not a correctness fix: defaults 2→4 vCPU, 7936MiB→16GiB mem, 32→128GiB FS, stopped-sandbox delete 24h→14d. Would materially raise LangSmith sandbox spend on sh-openswe unless prod env already overrides; all five values are env-overridable today. Decide prod sizing first (ops decision), then adopt or reject. Textual conflict is only fork drift in integrations/langsmith.py (sync-era SandboxClient, reconnect constants absent) — the constants re-key trivially; docs hunks auto-merge. | | +| `d49553c2` | #1806 | fix: pass initialized backend instance to create_deep_agent (#1806) | Untriaged | | | +| `ed12bb8d` | #1807 | feat: add Claude Opus 5 support (#1807) | Untriaged | | | +| `e72a658e` | #1809 | fix: patch vulnerable dependencies (#1809) | Untriaged | | | +| `d3d02135` | #1810 | fix: never recreate or delete a thread's sandbox (#1810) | Untriaged | | | +| `1b01d9c1` | #1812 | fix: log automated Slack warnings as errors (#1812) | Untriaged | | | +| `fcf4db55` | #1811 | fix: let users explicitly override prompt instructions (#1811) | Untriaged | | | +| `998b8084` | #1814 | fix: make approve_plan work on Python 3.11 and bump langgraph-api (#1814) | Untriaged | | | +| `94653fdd` | #1815 | chore: bump deepagents and trim prompt shims (#1815) | Untriaged | | | +| `90b43423` | #1816 | fix: extend sandbox delete-after-stop ttl (#1816) | Untriaged | | | +| `f353a76b` | #1818 | feat: Cursor-style model picker; retire Opus 4.8 and GPT-5.5 (#1818) | Untriaged | | | +| `2c54ea7a` | #1817 | fix: let the reviewer recover from an unreachable sandbox (#1817) | Untriaged | | | +| `4be00103` | #1820 | chore: require LangSmith SDK 0.10.11 (#1820) | Untriaged | | | +| `30c339a3` | #1821 | fix: make the web stop button work and bound stalled model calls (#1821) | Untriaged | | | +| `dff6a5f8` | #1808 | feat: add deployable Open SWE Dockerfile (#1808) | Untriaged | | | +| `5f095229` | #1822 | feat: add persistent diff line wrapping (#1822) | Untriaged | | | +| `26c5b6d2` | #1824 | perf: cache the dashboard repo picker's repo list (#1824) | Untriaged | | | +| `f2dc7cd1` | #1825 | feat: add explicit sandbox recreation tool (#1825) | Untriaged | | | +| `6af059b5` | #1828 | fix: remove natural wording from approval prompts (#1828) | Untriaged | | | +| `60bdb911` | #1827 | feat: vary Slack acknowledgement reactions (#1827) | Untriaged | | | +| `940db8e6` | #1830 | feat: user-level custom instructions with agent self-edit (#1830) | Untriaged | | | +| `9ec6f851` | #1831 | chore: bump LangSmith and Deep Agents SDKs (#1831) | Untriaged | | | +| `7ddbbb17` | #1836 | fix: correct Kimi K3 Fireworks model id and effort levels (#1836) | Untriaged | | | +| `b7ecd8e4` | #1835 | feat: support forwarded Slack message context (#1835) | Untriaged | | | +| `883c1d08` | #1837 | fix: remove repeated Slack prompt instructions (#1837) | Untriaged | | | +| `9fb145a1` | #1834 | fix: show Kimi K3 context window (#1834) | Untriaged | | | +| `4ac5eb5e` | #1842 | fix: sync CLAUDE.md sandbox lifecycle (#1842) | Untriaged | | | +| `5b2cbabc` | #1840 | chore(deps): bump the major group with 4 updates (#1840) | Untriaged | | | +| `79596dc4` | #1839 | chore(deps): bump langchain/langgraph-api from 0.10.0rc3-py3.12 to 0.13.0.dev8-py3.12 in the minor-and-patch group (#1839) | Untriaged | | | +| `2c697312` | #1844 | chore(deps): bump the minor-and-patch group across 1 directory with 13 updates (#1844) | Untriaged | | | +| `4f414cb9` | #1845 | chore(deps): bump aiohttp from 3.14.1 to 3.14.3 (#1845) | Untriaged | | | +| `a5ccfb91` | #1846 | chore(deps): bump cryptography from 49.0.0 to 50.0.0 (#1846) | Untriaged | | | +| `b0be18ea` | #1847 | fix: avoid approval-like reactions on PR posts (#1847) | Untriaged | | | +| `e563e7bf` | #1849 | feat: support max reasoning for GPT-5.6 Luna (#1849) | Untriaged | | | +| `970548ff` | #1848 | fix: restrict user instructions tool scope (#1848) | Untriaged | | | +| `3305a5dd` | #1843 | fix: cancel active dashboard runs by ID (#1843) | Untriaged | | | +| `26c98fa7` | #1850 | feat: add user-managed agent skills (#1850) | Untriaged | | | +| `c059dfca` | #1851 | refactor(web): rebuild the agents chat surface on one palette (#1851) | Untriaged | | | +| `97f69066` | #1833 | feat: show run usage in Slack footers (#1833) | Untriaged | | | +| `ffe24c92` | #1855 | feat: add skill autocomplete to agent chat (#1855) | Untriaged | | | +| `5106116b` | #1858 | chore: bump LangSmith SDK to 0.10.16 (#1858) | Untriaged | | | +| `7138945d` | #1860 | chore(deps): bump langchain-anthropic minimum (#1860) | Untriaged | | | +| `652b426e` | #1859 | feat: add experimental Electron client (#1859) | Untriaged | | | +| `6a5cd535` | #1856 | feat: show plans in the agent side panel (#1856) | Untriaged | | | +| `133d3873` | #1862 | fix: collapse shell tool calls by default (#1862) | Untriaged | | | +| `52597446` | #1863 | feat: autofocus new agent input (#1863) | Untriaged | | | +| `6e329535` | #1867 | feat: allow org members to use LangSmith tools (#1867) | Untriaged | | | +| `0b9d69ee` | #1865 | feat: give agent chat a distinct typeface (#1865) | Untriaged | | | +| `b54d6b3d` | #1866 | fix(slack): drop rotating loading messages from assistant status (#1866) | Untriaged | | | +| `c410ff6b` | #1868 | feat: dynamically load integration tool schemas (#1868) | Untriaged | | | +| `6e090976` | #1870 | fix: let user scrolling override diff navigation (#1870) | Untriaged | | | +| `28ebd893` | #1871 | fix: require explicit request for PR reviewer (#1871) | Untriaged | | | +| `59de29c4` | #1864 | feat: run dcode locally in desktop app (#1864) | Untriaged | | | +| `98a30c7e` | #1873 | fix: remember right panel state per thread (#1873) | Untriaged | | | +| `eafe15c1` | #1872 | feat: let agents manage user skills (#1872) | Untriaged | | | +| `0696eb27` | #1875 | fix: restore desktop agent live updates (#1875) | Untriaged | | | +| `6b3e3009` | #1874 | feat: source changed-files views from git turn checkpoints (#1874) | Untriaged | | | +| `7fd374b0` | #1876 | fix: recover dashboard streams after suspension (#1876) | Untriaged | | | +| `95cce798` | #1878 | fix: recover desktop ACP sessions after prompt errors (#1878) | Untriaged | | | +| `cd0a3369` | #1879 | fix: show one static Slack tip per run (#1879) | Untriaged | | | +| `2a29d526` | #1883 | fix(web): bind the stream transport to the active thread (#1883) | Untriaged | | | +| `0a8ceb33` | #1880 | refactor: run sandbox and LangSmith IO natively async (#1880) | Untriaged | | | +| `f188d3bc` | #1881 | fix: show approval state on shared threads (#1881) | Untriaged | | | +| `7a42e2ed` | #1877 | feat: enable local terminal (#1877) | Untriaged | | | +| `dd79f4f2` | #1884 | feat: split the agents sidebar into Local and Cloud sections (#1884) | Untriaged | | | +| `1ce0c621` | #1885 | fix: soften dark and light theme palettes (#1885) | Untriaged | | | +| `ed6ab82b` | #1887 | fix(web): restore thread stream lifecycle (#1887) | Untriaged | | | +| `35e75e1f` | #1886 | feat: add per-user PR draft preference (#1886) | Untriaged | | | +| `3a38602d` | #1888 | feat: auto-approve dcode ACP permissions (#1888) | Untriaged | | | +| `ee3986b5` | #1889 | fix: make sidebar Local/Cloud headers read as headings (#1889) | Untriaged | | | +| `458ed232` | #1890 | fix: isolate desktop dev profile from installed app (#1890) | Untriaged | | | +| `24da2a9f` | #1861 | chore(deps-dev): bump electron (#1861) | Untriaged | | | +| `80e01ee6` | #1892 | style(web): format entire UI tree and enforce it in CI (#1892) | 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`._