mirror of
https://github.com/Sea-Haven-Industries/open-swe.git
synced 2026-09-30 22:03:14 +00:00
99 KiB
99 KiB
Upstream triage ledger
Commits on upstream/main (langchain-ai/open-swe) not yet in dev, and the decision on each.
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: 9fba9672 (2026-09-14)
| sha | pr | subject | decision | why | branch |
|---|---|---|---|---|---|
0b76afdc |
#1653 | reviews block agenda, sticky headers, diff scroll | Landed | cherry-pick-upstream | |
7530653b |
#1655 | ResizeObserver settle for review scroll-to | Landed | cherry-pick-upstream | |
23bd4a63 |
#1660 | top padding to sticky review block header | Landed | cherry-pick-upstream | |
9e5a1924 |
#1656 | purge expired thread_wakeup crons | Landed | cherry-pick-upstream | |
63eb9a08 |
#1661 | sidebar filter popover border tokens | Landed | cherry-pick-upstream | |
bc7ce591 |
#1668 | preserve dashboard redirect after login | Landed | cherry-pick-upstream | |
f32e492a |
#1637 | return to thread after plan approval | Landed | cherry-pick-upstream | |
7ee3e057 |
#1636 | make plan view mobile friendly | Landed | cherry-pick-upstream | |
6575c327 |
#1654 | disable React StrictMode | Landed | kept fork's PwaUpdateProvider |
cherry-pick-upstream |
00906401 |
#1610 | editable plan mode | Landed | re-implemented in fork via #130 (editable plan mode) | |
f5670f24 |
#1639 | require bun for ui agent work | Landed | cherry-picked (-x) in this PR (#132) | PR1 |
209132d3 |
#1621 | durable interrupt dispatch + completion webhook | Landed | investigate first — may be applied | durable-dispatch |
02bb4dfd |
#1658 | don't attach loopback run-complete webhooks | Landed | durable-dispatch | |
29015fad |
#1614 | gate workflow pushes with approval | Landed | durable-dispatch | |
546042a4 |
#1652 | add workflow approval UI | Landed | plan-approval | |
ae04b72b |
#1635 | publish plans from sandbox files | Landed | ported (adapted) in #128 (save_plan reads sandbox file) | plan-approval |
c03a6be7 |
#1634 | keep plan guidance high-level | Landed | plan-approval | |
96cceb74 |
#1632 | notify Slack on plan approval | Landed | ported (adapted) in #128 | plan-approval |
2f56d754 |
#1618 | omit plan link when no plan exists | Landed | already in dev via #81 (upstream-sync); ledger was stale (was: likely regression) | plan-approval |
ee224d3e |
#1650 | add Slack reaction tool | Landed | slack-tooling | |
747ce4bb |
#1638 | add Slack breakout thread tool | Landed | slack-tooling | |
27d90ef1 |
#1633 | include Slack channel context in prompts | Landed | slack-tooling | |
92dbf6f9 |
#1630 | update Slack trace reply on web handoff | Landed | ported in #128 (trace_message_ts on first-mention run mapping) | slack-tooling |
bb36448b |
#1627 | surface Slack thread errors | Landed | slack-tooling | |
73b7d1c0 |
#1678 | fix OpenAI Responses reasoning replay | Landed | gateway-routing | |
5f7c2f46 |
#1674 | fix Fireworks Gateway base URL | Landed | gateway-routing | |
702ef908 |
#1673 | dedicated LangSmith gateway API key | Landed | gateway-routing | |
e9dc6e01 |
#1671 | opt-in LangSmith LLM Gateway routing | Landed | gateway-routing | |
289f5e3a |
#1651 | add Sonnet 5 to model picker | Landed | already in dev; added Bedrock family fallback fix (c16fb915) |
gateway-routing |
5da3d0c6 |
#1624 | post reviewer resolution notes verbatim | Landed | cherry-picked (-x) in #127 | reviewer-misc |
69148f54 |
#1612 | add PR trace resolution | Landed | cherry-picked (-x) in #127 | reviewer-misc |
6d125526 |
#1625 | stop wrapping installs in sfw | Landed | already present in dev; empty pick confirmed in #127 | reviewer-misc |
320bb39a |
#1657 | opt-in tracemalloc for aiohttp sessions | Landed | cherry-picked (-x) in #127 | reviewer-misc |
4f913198 |
#1647 | widen split review diffs | Landed | already present in dev; empty pick confirmed in #127 | reviewer-misc |
20f63e8c |
#1646 | install missing deps before verification | Landed | already in dev via #81 (upstream-sync); ledger was stale | prompt-tweaks |
2f237b53 |
#1626 | fall back to vision model for image threads | Landed | ported (adapted to Bedrock/Fireworks vision) in #128 | gateway-routing |
48217b68 |
#1489 | feat(open-swe): add E2B sandbox provider (#1489) | Landed | re-implemented on fork's sync create_sandbox factory in #199 (E2B SDK is sync; async base not needed); langchain-e2b==0.0.4; dark-safe; GitHub proxy/App-token flow untouched | feat/port-1489-e2b-provider |
fbc6de85 |
#1667 | chore(deps): bump fireworks-ai from 1.2.0a75 to 1.2.0a86 (#1667) | Landed | Superseded by #158 (fireworks-ai a85 -> a88, efeb6b12); dev already exceeds a86. No port needed. |
deps |
c9f6dd86 |
#1694 | fix: fall back on model stream transport errors (#1694) | Landed | adds httpx.TransportError to transient set; small conflict w/ dev's diverged Bedrock fallback | model-fallback |
c9a9a7cd |
#1695 | fix: retry model fallback exhaustion (#1695) | Landed | alternating retry+backoff rewrite; reconcile by hand w/ dev's Bedrock + sync wrap path | model-fallback |
e5dbc788 |
#1696 | fix: Harden durable agent runs (#1696) | Landed | large durable-run hardening; 3 new modules dev lacks; rewrites fork dispatch/completion | durable-dispatch |
52fe2916 |
#1698 | feat: add PR review link route (#1698) | Landed | cherry-picked (-x) in #127 (PR review link route) | reviewer-misc |
5f7f5fbd |
#1697 | fix: Reduce graph import and loader startup latency (#1697) | Landed | import-hygiene refactor; cross-cutting, references many deferred upstream-only modules | durable-dispatch |
216cf181 |
#1699 | fix: keep workflow HITL without token downscoping (#1699) | Landed | DIVERGES-FROM-UPSTREAM: fork deliberately does NOT adopt #1699's standing-token workflows:write broadening. Security review (#159) BLOCKed it — the standing ALWAYS-ON proxy token carrying workflows:write turns the HITL guard's git-push-parser gaps (obfuscated-expansion push, gh api REST contents PUT, cross-branch refspecs) into live unapproved-workflow-push exploits. Fork keeps BASE without workflows:write and restores the transient per-approval elevation (_run_with_workflow_token mints WORKFLOW_RUNTIME_PROXY_TOKEN_PERMISSIONS around the approved, guard-normalized fixed_command, then downscopes to RUNTIME then BASE): the token scope is the backstop the parser relies on, so a bypass hits GitHub 403. HITL diff-preview/approval-URL/Slack-card additions from #159 retained; token-model divergence only. |
plan-approval |
67abf5b0 |
#1659 | fix: surface attributed PR creation failures (#1659) | Landed | PR-attribution-failure guard (new mw, safe imports); heavy conflict on diverged open_pull_request.py | pr-attribution |
3dbc0282 |
#1676 | fix: preserve plan redirects after login (#1676) | Landed | FLAG-HUMAN: follow-on to landed #1668 refining sanitize_redirect_to (open-redirect auth surface); not a dup | plan-approval |
c75cbb1f |
#1677 | feat: re-add Fable 5 with an admin toggle to disable it (#1677) | Landed | Ported + Bedrock-converted onto dev via feat/readd-fable5-bedrock; anthropic: Fable ID mapped to bedrock_converse:us.anthropic.claude-fable-5. | fable-admin-toggle |
bb104d93 |
#1679 | fix: submit plan comments with cmd enter (#1679) | Landed | applies clean but edits fork-diverged PlanReview.tsx (#130); needs UI/e2e validation — separate PR | plan-approval |
304032fa |
#1680 | chore: clarify question answering prompt (#1680) | Landed | reword Slack info-only answer guidance; conflicts w/ fork's customized Slack prompt | prompt-tweaks |
5003c953 |
#1683 | feat: open Linear-triggered PRs as the triggering user (#1683) | Landed | FLAG-HUMAN: adds linear to resolve_github_token per-user OAuth branch (auth surface); depends on #1626 linear.py | feature/port-linear-pr-author |
feb7ac98 |
#1689 | feat(web): surface thread sandbox ID with touch-friendly menu (#1689) | Landed | Ported to dev via feat/thread-sandbox-id-sidebar. | dashboard-ui |
7f7af715 |
#1684 | feat: auto-load scoped AGENTS on reads (#1684) | Landed | ported in #129 (SubdirAgentsReadMiddleware) | subdir-agents |
88b62322 |
#1685 | feat: add platform issue reporting tool (#1685) | Landed | ported in #129 (report_platform_issue tool) | small-tools |
90cb6caa |
#1681 | feat: terse Slack replies, share long content via plan-review page (#1681) | Landed | terse Slack + long-content-via-plan-page; conflicts w/ fork prompt + diverged plan stack | plan-approval |
f53caff1 |
#1701 | fix: fall back to core GitHub App scope when optional grants missing (#1701) | Landed | Ported as Option A: workflows:write kept OUT of standing scope, minted only transiently by the workflow-push guard (security-reviewed); PR #181 | chore/port-github-app-scope-fallback |
22e024cb |
#1704 | fix: link issue PRs and prompt repo conventions (#1704) | Landed | issue/PR linking + repo-convention prompt; clean but prompt-conflict risk vs #113 | chore/upstream-easy-picks |
62e0ca2d |
#1709 | fix: stale admin model defaults after model upgrades (#1709) | Landed | cherry-picked (-x) in #200; retired-model map converted to fork Bedrock/Fireworks IDs (Fable deliberately maps to Opus — provider-data-share gate; test-pinned); dropped #1708-entangled profile tests | fix/port-1709-stale-model-defaults |
138ab9ec |
#1710 | fix: bump langchain-fireworks to 1.4.4 (#1710) | Landed | langchain-fireworks 1.4.4 adopted via fork Dependabot group PR #190 (dev now resolves langchain-fireworks==1.4.4); upstream commit not cherry-picked | deps |
71e3b818 |
#1713 | fix: align reviewer eval with published findings (#1713) | Landed | cherry-picked (-x) in #201; reviewer.py + publish_review.py hand-reconciled into fork structure (kept sandbox/skills/middleware stack, kebab-case workflow, Bedrock eval default); publish_review cap param removed (tool-facing only) | fix/port-1713-reviewer-eval-alignment |
092abafa |
#1717 | fix: enforce terse Slack tool messages (#1717) | Landed | cherry-picked (-x) in #197; one test conflict resolved by adopting upstream's test (fork prompt now contains upstream text); follow-up to landed #1681, not superseded by it | fix/port-1717-terse-slack-tool-msgs |
92d63170 |
#1720 | fix: separate review access from automatic reviews (#1720) | Landed | cherry-picked (-x) in #198 + fork-only auto-fix gates renamed to _is_repo_auto_review_enabled (kept opt-in-gated); opt-in list now gates only AUTOMATIC reviews — manual/re-review/watch/finding-replies open to any App-installed repo. Adam signed off 2026-07-16; /sh-security-review explicitly waived by Adam 2026-07-16 | fix/port-1720-review-access-split |
8356eb34 |
#1726 | refactor: organize repository by domain (#1726) | Landed | Adopted as a file-move exercise (fork content, upstream layout) on branch refactor/domain-reorg-adoption — gate-approved plan in docs/upstream-sync/domain-reorg/. New layout: agent/{graphs,runtime,api,review,resources}, agent/webhooks/*_routes.py (webapp.py split into api/ + per-source route modules; webapp.py now a shim), tests//, ui/src/features/. Kills the per-pick path-remap tax and unblocks 8 deferred rows (#1732/#1761/#1744/#1748/#1742 clean; #1736/#1758/#1760 near-clean). | refactor/domain-reorg-adoption |
129ddcf9 |
#1728 | chore: include ripgrep in sandbox image (#1728) | Landed | 1-line Dockerfile add (ripgrep); dev image lacks it; trivial pick | chore/upstream-easy-picks |
1ea03a43 |
#1729 | feat: include Cargo in sandbox image (#1729) | Landed | 2-line Dockerfile add (Cargo); adopt with #1728 | chore/upstream-easy-picks |
09eaf94c |
#1730 | fix: let admins interrupt runaway agents (#1730) | Landed | admin interrupt for runaway agents (dashboard route + UI); useful ops control; UI half on post-reorg ui/src/features — remap to ui/src/components/agents | feat/admin-thread-interrupt |
1ea0e600 |
#1736 | fix: bind cached GitHub tokens to users (#1736) | Landed | Landed via fork PR #207 after both gates passed (GPT-4.1 cross-family: no BLOCK; /sh-security-review: 0 confirmed critical/high, 1 accepted low CWE-613). Composed with the fork's repo-binding: cache key (thread_id, principal), values keep bound_repo; unprincipaled user tokens refused. Added bot-fallback + cross-repo composition tests. | bug/bind-cached-github-tokens |
d714586c |
#1732 | fix: normalize dashboard label rendering (#1732) | Landed | Landed via fork PR #206 (clean cherry-pick). | feature/port-upstream-clean-batch |
3e8089c3 |
#1744 | fix: collapse git panel by default (#1744) | Landed | Landed via fork PR #206. One import-context conflict in AgentThreadView.tsx resolved (upstream moved panel prefs to ui/src/features/agents/lib/gitPanelPreferences.ts). | feature/port-upstream-clean-batch |
c34e04f4 |
#1742 | fix: defensive copy in get_reviewer_agent and get_chat_agent [closes #1584] (#1742) | Landed | Landed via fork PR #206 (cherry-pick, authors reset). Two fork-only reviewer tests that relied on the pre-fix in-place config mutation updated to assert against the agent-bound config. | feature/port-upstream-clean-batch |
79df6b2f |
#1748 | feat: add Linear issue search tool (#1748) | Landed | Landed via fork PR #206. Python auto-merged; fork's CLAUDE.md/AGENTS.md/README kept their own tool-list style with linear_search_issues inserted in place. | feature/port-upstream-clean-batch |
c69459ad |
#1751 | fix: prefer LangSmith tools for trace links (#1751) | Landed | 1-line prompt: prefer LangSmith tools for trace links; trivial but edits fork-customized prompt.py | chore/upstream-easy-picks |
5cb2e2bb |
#1750 | fix: add trace link to error banner (#1750) | Landed | adds trace link to error banner (13 lines); remap AgentThreadView.tsx path (fork: ui/src/components/agents/) | chore/upstream-easy-picks |
22383033 |
#1758 | feat: inject extra JSON fields into sandbox create via env var (#1758) | Landed | Landed via fork PR #206, re-implemented against the fork's sync SandboxClient (upstream is async AsyncSandboxClient — retry/reconnect helpers not adopted; future picks touching them will conflict). | feature/port-upstream-clean-batch |
e826864d |
#1760 | feat: optional separate LangSmith key/endpoint for sandboxes (#1760) | Landed | Landed via fork PR #206 on the sync client. Sandbox endpoint honors SANDBOX_LANGSMITH_ENDPOINT/LANGSMITH_ENDPOINT (LANGCHAIN_ENDPOINT alone no longer applies); new sandbox names thread-deterministic with _release_sandbox_name before create. | feature/port-upstream-clean-batch |
dd5b7bec |
#1761 | fix: capitalize dashboard tool labels (#1761) | Landed | Landed via fork PR #206 (clean cherry-pick, stacked on #1732). | feature/port-upstream-clean-batch |
b5e52925 |
#1775 | feat: add structured Linear issue filters (#1775) | Landed | Clean pick: structured filters for linear_search_issues — stacks directly on #1748 (landed PR #206); zero fork drift on all three files. Ready whenever. | feature/upstream-clean-batch-security-linear |
31263f83 |
#1785 | Fix: Fix Stored XSS in ReplyCard.tsx (#1785) | Landed | SECURITY priority, near-clean: diff is urlencode() hardening of the GitHub OAuth authorize URL in dashboard routes.py auth_login (upstream bot title says ReplyCard.tsx — mismatch, trust the diff). Fork auth_login has the identical f-string URL; hunk applies clean. Port promptly. | feature/upstream-clean-batch-security-linear |
3ea29d3f |
#1789 | Fix: Fix Improper privilege management in server.py (#1789) | Landed | SECURITY priority, near-clean: adds empty-signature reject to verify_github_signature (utils/github_comments.py) + verify_linear_signature (webhooks/common.py) (title says server.py — mismatch, trust the diff). Both fork functions match at the hunk sites; fork-only verify_jira_secret already guards empty token. Real value: None signature currently raises TypeError in compare_digest. Port BOTH hunks together. | feature/upstream-clean-batch-security-linear |
2e8ff4b7 |
#1782 | chore: clarify shared response image guidance (#1782) | Landed | Landed via fork PR #226 | feature/upstream-clean-batch-jul21 |
4ea2441a |
#1791 | fix: match embedded review description background (#1791) | Landed | Landed via fork PR #226 | feature/upstream-clean-batch-jul21 |
75fb8b48 |
#1786 | Fix PR creation guard shell bypasses (#1786) | Landed | Landed via fork PR #226 | feature/upstream-clean-batch-jul21 |
32e81f29 |
#1788 | Fix: Fix Insecure Direct Object Reference in slack_start_new_thread.py (#1788) | Landed | Landed via fork PR #226 | feature/upstream-clean-batch-jul21 |
ab85b372 |
#1764 | fix: add exc_info to swallowed exception in push re-review webhook (#1764) | Landed | Landed via fork PR #226 | feature/upstream-clean-batch-jul21 |
a77c4e47 |
#1799 | fix: show current shared thread in sidebar (#1799) | Landed | Landed via fork PR #226 | feature/upstream-clean-batch-jul21 |
c3292d82 |
#1611 | bake sfw binary into sandbox image | Won't merge | already in dev | |
48bf712b |
#1609 | show message timestamps | Won't merge | already in dev | |
85c0f63e |
#1620 | clickable shared PR header | Won't merge | already in dev | |
db2ae58e |
#1643 | pre-bundle shiki/@pierre deps | Won't merge | already in dev | |
1d9da064 |
#1662 | bump astral-sh/setup-uv | Won't merge | dev ahead (v8.2.0, checkout@v7) |
|
83cb40a0 |
#1616 | update langsmith sdk to 0.9.3 | Won't merge | regression — dev has 0.9.6 | |
e5a29eca |
#1613 | plan links in PR descriptions | Won't merge | regression — dev has async plan-ref | |
e1d85526 |
#1645 | switch ui to pnpm | Won't merge | tooling — fork keeps bun | |
4cd5fa5c |
#1629 | avoid recapping Slack replies | Won't merge | already in dev — landed via sync PR #81 (1f060f2a), then deliberately superseded by the fork's refined Slack no-duplication rule in PR #159 (f87847ba) |
|
baf0c248 |
#1617 | filter & grouping menu in threads sidebar | Won't merge | already in dev — full feature present (sidebarFilter/sidebarPrefs/SidebarFilterMenu + AgentsSidebar wiring); only deltas are the later-landed #1661 token restyle | |
f29868ff |
#1615 | recover thread work as patch | Won't merge | already in dev via squash-sync PR #81 (1f060f2a) — recovery-patch vertical byte-identical to upstream; 6 recovery tests pass on dev |
|
8e0788dc |
#1631 | show queued dashboard follow-ups | Won't merge | already in dev via squash-sync PR #81 (1f060f2a) — full queued-follow-ups vertical (types, QueuedMessages UI, streaming de-dupe, e2e) present and since evolved |
|
9c601ca1 |
#1648 | add Stagehand-powered browser subagent | Won't merge | requires Browserbase/Stagehand creds or Chromium-in-server-image + hard stagehand dep; browser runs in server process outside the sandbox; against fork curated-tools policy, no fork use case | |
8c944381 |
#1622 | restore forced tool call | Won't merge | already in dev via squash-sync PR #81 (1f060f2a) — ensure_no_empty_msg middleware/tests/wiring/prompt line byte-identical to 8c944381; squash hid it from ancestry |
|
5dc360d8 |
#1619 | bump langgraph-checkpoint 4.1.0→4.1.1 | Won't merge | already in dev — uv.lock already resolves langgraph-checkpoint 4.1.1 | |
89f886e2 |
#1642 | request actions read for sandbox logs | Won't merge | already in dev — actions:read in RUNTIME_PROXY_TOKEN_PERMISSIONS + identical prompt line | |
27f987dc |
#1686 | refactor: remove dead sync-interface compatibility code (#1686) | Won't merge | pure dead-sync-path deletion committing to the async-only posture the fork rejects; fork still uses get_sandbox_backend_sync; no embedded fix | |
2503a2f4 |
#1687 | refactor(open-swe): provision LangSmith sandboxes natively async (#1687) | Won't merge | async pivot of create_sandbox/_configure_github_proxy (auth surface) — fork keeps sync lifecycle; langsmith bump subsumed by fork's 0.10.5 pin; metadata-await fix moot on fork's to_thread path | |
2529b109 |
#1690 | fix: checkpoint per-run graph setup (#1690) | Won't merge | fork's get_agent re-runs idempotent setup by design (stateless), so the un-checkpointed-setup bug doesn't exist; faithful adaptation is a 4-graph rewrite presupposing the deferred async base | |
c0a7e93e |
#1691 | fix: reconnect sandbox backend on resumed runs (#1691) | Won't merge | fixes a #1690-introduced regression (latched setup skips ensure on resume); fork unconditionally re-runs ensure_sandbox_for_thread (case-4 reconnect), so the gap doesn't exist | |
4f8bc2dd |
#1692 | refactor: simplify open-swe agent sandbox lifecycle (#1692) | Won't merge | structural rewrite deleting the fork's 4-case creating sentinel; net diff is exactly the sentinel removal + rewritten test; collides with fork-only TID-COLLIDE-01 repo-binding guard | |
ab4eea4b |
#1663 | chore(deps): bump the major group across 1 directory with 3 updates (#1663) | Won't merge | already in dev — CI already on checkout@v7/setup-node@v6/upload-artifact@v7 | |
2bf207fb |
#1664 | chore(deps): bump python in the minor-and-patch group (#1664) | Won't merge | already in dev — Dockerfile already at python 3.14.6-slim-trixie | |
13b40113 |
#1666 | chore(deps): bump cryptography from 48.0.1 to 49.0.0 in the major group (#1666) | Won't merge | already in dev — same 48->49 cryptography bump dev did via #105 | |
290d0fee |
#1669 | chore(deps): update langgraph-cli[inmem] requirement (#1669) | Won't merge | already in dev — langgraph-cli[inmem] at 0.4.30 | |
73a9e8b5 |
#1693 | chore(deps): bump the minor-and-patch group across 1 directory with 19 updates (#1693) | Won't merge | dev at-or-ahead on 17/19; group fights dev's pinned langsmith==0.9.7 (#115) and carries an upstream plan-route test | |
9cd7e464 |
#1700 | Fix workflow approval visibility (#1700) | Won't merge | superseded — dev's list_workflow_approvals_for_thread already enforces owner-only 403 | |
fd2541ce |
#1705 | fix: drop orphaned function_call items with stale OpenAI reasoning (#1705) | Won't merge | N/A — edits sanitize_openai_responses.py which dev deleted in the Bedrock/Fireworks migration (#62) | |
27b0ddeb |
#1708 | feat: add GPT-5.6 OpenAI models (#1708) | Won't merge | fork picker deliberately Bedrock/Fireworks-only — no-OpenAI-models product decision (consistent with #1725/#1727); options.py verified zero openai: IDs | |
35659177 |
#1718 | fix: sanitize orphaned OpenAI tool results (#1718) | Won't merge | N/A — fork has no OpenAI Responses traffic path; middleware present is #155's leaner rewrite lacking the orphan machinery #1718 patches; langchain-openai>=1.3.4 already satisfied; superseded upstream by #1731 (re-evaluate #155 rewrite when triaging #1731). Note: fd2541ce row's '#62 deleted sanitize_openai_responses.py' is inaccurate — the path was added fresh by #155 | |
5136079d |
#1725 | chore: disable todos for GPT-5.6 Sol (#1725) | Won't merge | superseded — #1733 (136d28e6) rewrites the same todo-exclusion block to a global default-off with env opt-in; per-model GPT-5.6 Sol list moot (fork picker has no OpenAI models) | |
bfa67a7a |
#1711 | chore(deps): bump soupsieve from 2.8.3 to 2.8.4 (#1711) | Won't merge | already in dev — uv.lock resolves soupsieve 2.8.4 | |
f7d94ad3 |
#1721 | docs: add e2b to sandbox provider lists in AGENTS.md and CLAUDE.md (#1721) | Won't merge | N/A — edits upstream AGENTS.md/CLAUDE.md, both fully fork-rewritten; E2B provider itself deferred (48217b68) — add a doc line if/when E2B lands | |
4773b336 |
#1746 | chore: point basedpyright at uv's .venv (#1746) | Won't merge | tooling — fork does not use basedpyright (lint stack is ruff); nothing to point at .venv | |
697adaa7 |
#1752 | fix: update PyJWT to 2.13.0 (#1752) | Won't merge | already in dev — uv.lock resolves PyJWT 2.13.0 | |
714ea4a2 |
#1759 | fix: clear basedpyright standard-mode type errors (#1759) | Won't merge | tooling — basedpyright type-error cleanup across 123 post-reorg files; fork uses ruff and the pre-reorg layout | |
dccf6437 |
#1769 | fix: tighten sandbox config test types (#1769) | Won't merge | test-only change in post-reorg path tests/sandbox/ — fork doesn't have this file (domain reorg #1726 deferred) | |
c9a193e2 |
#1766 | chore(deps): bump mcp from 1.27.2 to 1.28.1 (#1766) | Won't merge | indirect dependency bump (mcp); fork's own Dependabot handles these | |
d0b63551 |
#1773 | fix: remove workflow push approval gating (#1773) | Won't merge | Removes WorkflowPushGuardMiddleware and the proxy-token permission ladder — both actively wired in this fork (server.py middleware stack; github_app.py scoped-mint fallback). Adopting would let agent runs push .github/workflows/ changes with no human approval and mint proxy tokens at full scope unconditionally — a security-posture loosening counter to Sea Haven gating. Keep the fork's guard; skip the doc/prompt relaxation too (fork prompt documents the approval flow). | |
589dfd83 |
#1787 | fix: Harden Stagehand browser URL handling (#1787) | Won't merge | Follows #1648 (wont-merge): fork does not carry the Stagehand browser subagent — this 'fix' re-adds the entire module (992 insertions; modify/delete vs HEAD) plus the stagehand dep in pyproject/uv.lock. Adopting would resurrect a feature rejected under the curated-tools policy. | |
df743658 |
#1774 | feat: add repository skill support to the coding agent (#1774) | Won't merge | Upstream reverted this feature in #1800: its factory-time ensure_sandbox_for_thread call ran outside the serialized run and raced the deterministic sandbox name (prod sandbox-create 409s spiking from the #1774 merge date). Feature withdrawn upstream; the fork's deferred security review is moot. If upstream re-lands repo skills (host-side .agents/skills resolution per #1800), triage that new commit fresh — the prompt-injection / trusted-ref concerns in the old reason still apply. | |
5b5e6076 |
#1790 | chore: Add open wiki docs (#1790) | Won't merge | Upstream-repo openwiki doc site + AGENTS.md/CLAUDE.md pointers: content documents upstream's codebase and would be wrong for this fork (conflicts with the fork's heavily customized CLAUDE.md, which is canonical). Its companion auto-update workflow is bot-push docs automation counter to the fork's workflow-gating posture (#1773). | |
1443fc4b |
#1792 | fix: Update openwiki gh action (#1792) | Won't merge | Follows #1790 (wont-merge): fixes the openwiki-update workflow this fork does not carry (modify/delete vs HEAD). | |
e1138cf5 |
#1797 | fix: merge concurrent trusted skill refs (#1797) | Won't merge | Follow-up fix to #1774's TrustedSkillsMiddleware, which the fork never adopted (row df743658) and upstream itself reverted in #1800 — nothing to apply. | |
60e7307c |
#1800 | revert: repository skill support for the coding agent (#1774, #1797) (#1800) | Won't merge | Revert of #1774 + #1797; the fork adopted neither, so there is nothing to revert. Upstream's rationale: #1774's factory-time ensure_sandbox_for_thread ran outside the serialized run and raced the thread-deterministic sandbox name (prod create-409s). Fork invariant holds: its single provisioning call sits inside the creating-sentinel lifecycle within the interrupt-serialized run. | |
83abea26 |
#1724 | fix: accept natural-language Slack plan approvals (#1724) | Deferred | natural-language Slack plan approvals; touches fork-diverged plan-mode + Slack webhook stack (#130); post-reorg test paths need remap | plan-approval |
ddbe457b |
#1727 | fix: restore GPT-5.5 as default model (#1727) | Deferred | restores GPT-5.5 default in options/team_settings; fork picker is Bedrock/Fireworks-only — rides the #1708 OpenAI-models product decision (27b0ddeb) | model-picker |
30832d29 |
#1731 | fix: preserve OpenAI Responses tool history (#1731) | Deferred | deletes SanitizeOpenAIResponsesMiddleware in favor of replay-history preservation in utils/model.py; supersedes deferred #1718 (35659177) — triage the pair together against fork-diverged middleware + model.py | openai-sanitize |
3fcb27ce |
#1737 | fix: bound reviewer diff fetching (#1737) | Deferred | bounds reviewer diff fetching + new fetch_review_diff tool; reviewer.py fork-diverged — reconcile like #1713 (71e3b818) | reviewer-misc |
ef68c09b |
#1734 | fix: handle Slack DMs as mentions (#1734) | Deferred | treat Slack DMs as mentions; touches fork-diverged Slack webhook + e2e harness; post-reorg test paths | slack-tooling |
26828ff9 |
#1745 | chore: upgrade deepagents to 0.7.0a7 (#1745) | Deferred | deepagents 0.6.12 -> 0.7.0a7 alpha + [tool.uv] override-dependencies to bypass sandbox integrations <0.7.0 bound; fork is built on create_deep_agent — dedicated validation (unit + e2e) before adopting an alpha | deps |
ef0ed5af |
#1741 | fix: centralize SSRF-safe image fetches (#1741) | Deferred | security hardening — centralizes image fetches through url_safety.py (SSRF); fork has url_safety.py/multimodal.py (diverged) — hand-reconcile; untrusted-input surface: /sh-security-review on landing | ssrf-hardening |
136d28e6 |
#1733 | fix: disable todos by default (#1733) | Deferred | global write_todos/TodoListMiddleware default-off with OPEN_SWE_ENABLE_TODOS opt-in; edits fork-customized prompt.py — small hand-merge; supersedes #1725 | prompt-tweaks |
5077e2c7 |
#1735 | feat(open-swe): untagged two-party Slack replies + debounced interrupts (#1735) | Deferred | untagged two-party Slack replies + debounced interrupts (~620 LOC incl. e2e); rides fork-diverged Slack webhook stack; own branch + e2e validation | slack-untagged-replies |
8b26819f |
#1719 | fix: offload web tool results to sandbox (#1719) | Deferred | offloads large web tool results to sandbox files; touches fork-relevant web_search/http tools; check interplay with fork sandbox lifecycle | tool-offloading |
b7c5dbd6 |
#1747 | fix: simplify Slack run links (#1747) | Deferred | simplifies Slack run links; heavy churn on fork-diverged Slack context/prompt tests | slack-tooling |
81d544bc |
#1765 | feat: Expose more specific AGENTS.md context to Open SWE reviewer (#1765) | Deferred | Near-clean: agents_md.py helper + tests are zero-drift; reviewer.py hunk is small (~39 lines) but lands in the fork's heavily-diverged reviewer — hand-apply the scoped_agents_md wiring onto the fork's fetch_agents_md call sites (reviewer.py ~L404/445/1031). | reviewer-context |
8c8e58bc |
#1776 | feat: connect automations to Slack channels (#1776) | Deferred | Moderate reconcile: Slack-channel wiring for automations. Fork helpers exist (post_slack_top_level_message_with_ts, generate_thread_id_from_slack_thread, slack_id_for_login); completion.py (+233 drift) and schedules.py (+167) need hand-merge; UI automations feature present. Keep backend+UI+tests as one vertical. | automations-slack |
f0897479 |
#1778 | feat: surface context window usage in agents UI (#1778) | Deferred | Near-clean: context-window indicator UI is all new files (zero drift); options.py hunk must be re-keyed to the fork's Bedrock/Fireworks model map (fork model IDs differ from upstream's) — add context_window per fork entry rather than taking upstream values. | context-usage-ui |
9bbd65d3 |
#1781 | fix: derive model context windows from LangChain profiles (#1781) | Deferred | Pair with deferred #1778 on context-usage-ui: derives model context windows from LangChain profiles. options.py conflicts — re-key to the fork's Bedrock/Fireworks model map (upstream IDs differ; verify LangChain profiles even resolve for the fork's Bedrock-style IDs, else keep static values). uv.lock bumps langchain to a profiles-capable version; test_model_fallback_resolution also conflicts. Port with/after #1778. | context-usage-ui |
7312851d |
#1777 | feat: add explicit plan approval tool (#1777) | Deferred | Feature: explicit approve_plan tool + plan-mode exit. All deps exist in fork (plan_store PLAN_STATUS_APPROVED/SHARED, thread_api._user_owns_thread). Conflicts: prompt.py (fork prompt constants), server.py (tool/middleware wiring), check_message_queue.py (fork dashboard-handoff + mid-run injection drift), AGENTS.md. Hand re-key those four; keep the whole vertical (tool + plan_mode + thread_api + 4 test files) on one side. | |
e51abe14 |
#1754 | fix: skip oversized images before model calls (#1754) | Deferred | Desirable: 10MB image size cap + 'image omitted' text block before model calls, prevents oversized-image model failures. Conflicts only because the fork hardened fetch_image_block (SSRF redirect guard, host-only logging) — hunks are compatible; re-key the size check around the fork's guarded fetch and port impl + test together. | |
0ed560a5 |
#1779 | fix: settle review checks after run failures (#1779) | Deferred | Desirable: run-failure completion webhook now settles reviewer check runs left open when the graph dies (_settle_failed_reviewer_check; uses settle_review_check_run + review_check_pending_result, both already in the fork's review/publish.py from the #214/#215 ports). Conflict is fork drift in completion.py (failure-reply customizations); re-key the new helper in and port with its 159-line test. | |
bedc57b8 |
#1796 | fix: cap execute output by making SandboxBackendProxy a BaseSandbox (#1796) | Deferred | Real fix (unbounded execute stdout pulled into the worker → OOM risk) but inapplicable at the fork's deepagents==0.6.12: no capture-offload API exists (ExecuteOffloadResult / execute_accepts_timeout absent; FilesystemMiddleware has no _resolve_capture BaseSandbox gate), so the bug it fixes cannot occur yet. Re-triage together with deferred #1745 (deepagents 0.6.12→0.7.x bump) — landing that bump makes this fix required. Fork's SandboxBackendProxy has diverged (sync-era, bound_repo repo-binding, no reconnect machinery): hand-apply the execute_with_offload/aexecute_with_offload delegation onto the fork proxy rather than cherry-pick. | |
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 | ||
46d64508 |
#1891 | fix: route desktop login through backend (#1891) | Untriaged | ||
83344ca5 |
#1895 | feat(open-swe): set the sandbox base snapshot at runtime (#1895) | Untriaged | ||
a9f07635 |
#1897 | fix: always include Slack loading tips (#1897) | Untriaged | ||
d479a6ec |
#1896 | fix: keep queued messages visible during active runs (#1896) | Untriaged | ||
eb69d266 |
#1898 | fix: reconnect chat after plan decisions (#1898) | Untriaged | ||
c263bec5 |
#1899 | feat: make model picker selected-model first (#1899) | Untriaged | ||
c7fb16e0 |
#1900 | feat: add deployment-aware dashboard UI context (#1900) | Untriaged | ||
2407abc4 |
#1904 | fix: improve agents chat legibility and surface contrast (#1904) | Untriaged | ||
ff1ae2ea |
#1902 | fix: auto-open plan panel instead of in-progress plan banner (#1902) | Untriaged | ||
ae0b1583 |
#1903 | feat: rebuild dashboard settings page (#1903) | Untriaged | ||
88375cdd |
#1907 | ci: remove PR title linting (#1907) | Untriaged | ||
87afa826 |
#1908 | fix: even out chat composer gutters beside the git panel (#1908) | Untriaged | ||
a6933d44 |
#1906 | feat: add macOS release pipeline (#1906) | Untriaged | ||
9f4fbbed |
#1905 | feat: git diff panel for desktop local mode sessions (#1905) | Untriaged | ||
ed9e058a |
#1901 | fix: keep Slack breakout roots headline-only (#1901) | Untriaged | ||
5efd0b9c |
#1911 | feat: preview deployment environment (#1911) | Untriaged | ||
6efe5c50 |
#1912 | fix: read PR author association from the REST pulls endpoint (#1912) | Untriaged | ||
2ff8c0e8 |
#1914 | ci: restore permissive PR title lint (#1914) | Untriaged | ||
82009c88 |
#1915 | fix: keep local sandbox setup off event loop (#1915) | Untriaged | ||
5274b653 |
#1910 | feat: port production desktop terminal (#1910) | Untriaged | ||
badf8920 |
#1916 | feat: rebuild the agent side panel as a tabbed workspace (#1916) | Untriaged | ||
a93da9a0 |
#1918 | fix: separate web and Slack model defaults (#1918) | Untriaged | ||
ea602cfe |
#1919 | feat: show repository in cloud session header (#1919) | Untriaged | ||
e218c194 |
#1920 | security: update vulnerable transitive dependencies (#1920) | Untriaged | ||
92d3cd53 |
#1923 | chore: bump LangSmith SDK to 0.10.18 (#1923) | Untriaged | ||
3f7631d6 |
#1925 | feat: add defined chat header bar (#1925) | Untriaged | ||
6e811049 |
#1926 | fix: load git diff from pull request repository (#1926) | Untriaged | ||
75b81ee8 |
#1928 | fix: remove Slack assistant status calls (#1928) | Untriaged | ||
f41a418c |
#1922 | feat: trigger automations as tests (#1922) | Untriaged | ||
bc9d0ba2 |
#1924 | fix: preserve original Slack thread owner (#1924) | Untriaged | ||
bea97cf4 |
#1931 | feat: include Slack user timezone in agent context (#1931) | Untriaged | ||
54d314a6 |
#1932 | feat: simplify review panel header (#1932) | Untriaged | ||
79f07996 |
#1933 | refactor: reorganize the repo into a pnpm + Turborepo monorepo (#1933) | Untriaged | ||
c5abec89 |
#1930 | fix: keep plan review header readable (#1930) | Untriaged | ||
2b779ab3 |
#1929 | feat: add user-scoped LangSmith credentials (#1929) | Untriaged | ||
6800e374 |
#1935 | fix: validate reviewer outcomes dataset name (#1935) | Untriaged | ||
8848a8d2 |
#1934 | fix(slack): dedupe mention event deliveries (#1934) | Untriaged | ||
315ad0b1 |
#1936 | fix: compact review diff header (#1936) | Untriaged | ||
e6d9dbbb |
#1927 | fix: clarify Slack acknowledgements and preference scope (#1927) | Untriaged | ||
98386c51 |
#1941 | fix: drop unreplayable OpenAI reasoning items (#1941) | Untriaged | ||
e80f9a35 |
#1942 | test: expect OpenAI replay sanitizer (#1942) | Untriaged | ||
d00377fc |
#1940 | fix(cache): stop keying TTL cache entries on callable addresses (#1940) | Untriaged | ||
609718f6 |
#1939 | perf: overlap sandbox startup with agent assembly (#1939) | Untriaged | ||
9c862bc4 |
#1921 | feat: add conditional automation Slack notifications (#1921) | Untriaged | ||
349875e0 |
#1943 | fix: avoid duplicate Slack output and brittle prompt tests (#1943) | Untriaged | ||
ab27a34a |
#1944 | fix: honor forwarded scheme for desktop OAuth (#1944) | Untriaged | ||
84b74f51 |
#1946 | feat(sandbox): set GH_TOKEN via the GitHub proxy rule (#1946) | Untriaged | ||
5f688018 |
#1954 | fix(sandbox): keep local sandbox git identity out of ~/.gitconfig (#1954) | Untriaged | ||
a63b27ba |
#1956 | chore(typing): clear basedpyright errors and gate CI on typecheck (#1956) | Untriaged | ||
d94efde9 |
#1958 | fix(sandbox): adopt an orphaned sandbox on name collision (#1958) | Untriaged | ||
d4a2fc02 |
#1948 | fix: make prompts and tools source-aware (#1948) | Untriaged | ||
b6458aa4 |
#1945 | fix: keep GitHub SAML login in desktop (#1945) | Untriaged | ||
2cbe4335 |
#1947 | feat: generate thread titles in background (#1947) | Untriaged | ||
91efb6e5 |
#1961 | feat: add macOS desktop install command (#1961) | Untriaged | ||
294bb0f1 |
#1937 | feat: persist local ACP sessions (#1937) | Untriaged | ||
8a0f1853 |
#1949 | feat: add Slack buttons for plan approvals (#1949) | Untriaged | ||
5230884b |
#1955 | fix: deny Slack tools to subagents (#1955) | Untriaged | ||
c8bee9c7 |
#1963 | fix: inherit shell auth for desktop ACP (#1963) | Untriaged | ||
4571ab5d |
#1950 | fix: exclude plan setup from turn diffs (#1950) | Untriaged | ||
cd2ee509 |
#1965 | fix: keep sidebar section headers visible (#1965) | Untriaged | ||
04833ffb |
#1952 | feat(environments): named prompt + captured snapshot per environment (#1952) | Untriaged | ||
2f4a0dee |
#1967 | fix: verify CI status before reporting success (#1967) | Untriaged | ||
006b9c94 |
#1968 | fix: align local thread header with cloud (#1968) | Untriaged | ||
a6c36004 |
#1969 | feat: delete local desktop sessions (#1969) | Untriaged | ||
de4cfc0f |
#1972 | feat: Enable terminals on the Desktop new-agent screen (#1972) | Untriaged | ||
9de6414b |
#1970 | feat: shimmer the conversation loader (#1970) | Untriaged | ||
8dcac4d4 |
#1966 | feat: switch models in desktop threads (#1966) | Untriaged | ||
d572b93c |
#1971 | feat: show local project branch before runs (#1971) | Untriaged | ||
a6c31b41 |
#1977 | feat(desktop): sign in through the user's own browser (#1977) | Untriaged | ||
ae22b6b2 |
#1980 | fix(ui): allow the prod branch to deploy the production dashboard (#1980) | Untriaged | ||
c1fc7db1 |
#1981 | fix(dashboard): keep thread-title generation out of the run's stream (#1981) | Untriaged | ||
8417fd0f |
#1982 | test(e2e): drop the blanket 8s stall from the fake implement script (#1982) | Untriaged | ||
db663b1e |
#1959 | feat(slack): drop quiet third parties from the untagged-reply gate (#1959) | Untriaged | ||
40832fb7 |
#1984 | fix(environments): drop the tag from captured snapshot names (#1984) | Untriaged | ||
c70bae66 |
#1983 | feat(ui): stop the running turn with Escape (#1983) | Untriaged | ||
2c26eba6 |
#1985 | test(e2e): stop recording traces and video for passing CI runs (#1985) | Untriaged | ||
3c7aafec |
#1979 | build(ui): add a Dockerfile for the dashboard (#1979) | Untriaged | ||
74d55f34 |
#1986 | feat: tint admin threads red (#1986) | Untriaged | ||
9e9727ed |
#1974 | feat: show local branch pull requests (#1974) | Untriaged | ||
6ced941e |
#1962 | fix(slack): dedupe on the message, not the delivery (#1962) | Untriaged | ||
1299f3bd |
#1960 | fix: display the repository used by an agent (#1960) | Untriaged | ||
87875e70 |
#1976 | feat: add cloud sandbox terminals (#1976) | Untriaged | ||
e318e732 |
#1990 | fix: restore desktop window drag region (#1990) | Untriaged | ||
516ae408 |
#1988 | fix: fit chat composer on mobile (#1988) | Untriaged | ||
585ab55a |
#1989 | fix: shorten tool call file paths (#1989) | Untriaged | ||
217116e9 |
#1987 | feat: add voice dictation to the composer (#1987) | Untriaged | ||
82678d85 |
#1975 | feat: add organization skills (#1975) | Untriaged | ||
e95eff0c |
#1992 | fix: style plan approval as Slack status (#1992) | Untriaged | ||
a1a6a9c6 |
#1991 | feat: require platform issue details (#1991) | Untriaged | ||
a2e38790 |
#1993 | fix: require admin threads to create environments (#1993) | Untriaged | ||
41a78837 |
#1994 | feat: show inline diffs for edit tool calls (#1994) | Untriaged | ||
4da9d1f9 |
#1995 | feat: scope user settings reads to thread participants (#1995) | Untriaged | ||
331ea489 |
#2003 | chore: migrate desktop Node code to TypeScript (#2003) | Untriaged | ||
b018817c |
#1996 | fix: restore cloud terminal connections (#1996) | Untriaged | ||
34c826b9 |
#1998 | feat: retitle Slack-started agent threads (#1998) | Untriaged | ||
14575194 |
#2012 | chore: update Gemini Flash model (#2012) | Untriaged | ||
4e1ccd1a |
#2005 | fix: collapse composer extras into a menu (#2005) | Untriaged | ||
14329d00 |
#2000 | feat(desktop): pin dcode and add Electron E2E (#2000) | Untriaged | ||
41e456f6 |
#1999 | fix: align OpenAI context windows with Codex (#1999) | Untriaged | ||
f4f20939 |
#2010 | fix: ban white check mark Slack reactions (#2010) | Untriaged | ||
e950ce7a |
#2013 | Make dashboard plan mode opt-in (#2013) | Untriaged | ||
2980448e |
#1997 | feat: add guarded automatic PR approval (#1997) | Untriaged | ||
e712a9ef |
#2001 | fix: clarify Slack channel repo hint (#2001) | Untriaged | ||
9600cd04 |
#2016 | fix: clear stale local session activity (#2016) | Untriaged | ||
5bec7959 |
#2009 | feat: stop Slack runs on x reactions (#2009) | Untriaged | ||
90856eed |
#2015 | chore: ban future annotations imports (#2015) | Untriaged | ||
6f64f1d4 |
#2014 | feat: separate automation threads from active work (#2014) | Untriaged | ||
49497d64 |
#2007 | fix: warn before discarding automation changes (#2007) | Untriaged | ||
216e74d2 |
#1964 | fix: pin thread settings and integration identity per thread (#1964) | Untriaged | ||
a268d381 |
#2008 | fix: keep sent Slack messages visible (#2008) | Untriaged | ||
e007900d |
#2017 | fix: stop polling on unknown mergeability (#2017) | Untriaged | ||
ff9b4b3b |
#1829 | feat: add explicit Slack thread mapping and moves (#1829) | Untriaged | ||
4094aa50 |
#2021 | chore: use sentence case for automatic thread titles (#2021) | Untriaged | ||
968aeeac |
#2022 | fix: rename agent button to thread (#2022) | Untriaged | ||
ab97334c |
#2029 | fix: handle cleared transcription model selection (#2029) | Untriaged | ||
0b130935 |
#2027 | feat: prefer PR delivery for code changes (#2027) | Untriaged | ||
3482367a |
#2032 | chore: bump LangSmith SDK to 0.11.0 (#2032) | Untriaged | ||
2c37c618 |
#2036 | fix: standardize user-facing Open SWE branding (#2036) | Untriaged | ||
710fb1d7 |
#2028 | fix: tint active admin composer control (#2028) | Untriaged | ||
a4509db3 |
#2026 | fix: open threads from completion notifications (#2026) | Untriaged | ||
7f7249ca |
#2024 | fix: exclude cached input from Slack token count (#2024) | Untriaged | ||
f2ae76bb |
#2004 | feat: allow collaborators to approve plans (#2004) | Untriaged | ||
7b51d7cd |
#2037 | fix(ui): proxy /webhooks through the hosted dashboard (#2037) | Untriaged | ||
39ba4ffc |
#2038 | fix: collapse PR button in narrow panels (#2038) | Untriaged | ||
98d25fc0 |
#2006 | feat: add /baby-sit PR CI monitoring (#2006) | Untriaged | ||
33899d2f |
#2019 | feat: add flexible thread board view (#2019) | Untriaged | ||
21120a5c |
#2002 | fix: require explicit URLs for out-of-org edits (#2002) | Untriaged | ||
eeb8a32d |
#2018 | fix: align plan header in narrow panels (#2018) | Untriaged | ||
67dcaa8f |
#1882 | feat(web): render subagent activity, status, and results (#1882) | Untriaged | ||
0fec8531 |
#2040 | fix: link PR references in user-facing responses (#2040) | Untriaged | ||
9edc1e6f |
#2033 | fix: persist Slack button selections (#2033) | Untriaged | ||
5649ac13 |
#2039 | ci: publish the preview dashboard image on every preview build (#2039) | Untriaged | ||
56e69c19 |
#2044 | revert: remove automatic PR approvals (#2044) | Untriaged | ||
2d7f8ddf |
#2042 | refactor(ui): read the backend URL at runtime, not build time (#2042) | Untriaged | ||
68cd8a3a |
#2045 | ci: publish the dashboard image to langchain-nonprod (#2045) | Untriaged | ||
827ac740 |
#2047 | fix: keep thread board stable on refocus (#2047) | Untriaged | ||
88e02eb3 |
#2048 | feat: add dollar skill picker (#2048) | Untriaged | ||
7130e603 |
#2020 | feat: route rapid Slack follow-ups and edits (#2020) | Untriaged | ||
c539cc7e |
#2050 | fix: make preview-fe labels opt-in (#2050) | Untriaged | ||
dd37dafe |
#1957 | feat: add sandboxed iframe outputs (#1957) | Untriaged | ||
f6305107 |
#2049 | fix: bound dashboard history hydration (#2049) | Untriaged | ||
16ef4156 |
#2046 | feat: add focus grouping to agent sidebar (#2046) | Untriaged | ||
03cf5d50 |
#2056 | chore: trim low-value tests (#2056) | Untriaged | ||
bdaef7da |
#2053 | feat: run desktop threads on the Open SWE graph (#2053) | Untriaged | ||
3f0ee041 |
#2059 | Revert "feat(web): render subagent activity, status, and results (#1882)" (#2059) | Untriaged | ||
bac661c9 |
#2057 | feat: show cumulative session cost in Slack (#2057) | Untriaged | ||
69db791a |
#2054 | ci: parallelize Playwright E2E (#2054) | Untriaged | ||
761adce4 |
#2060 | feat(ui): add an operations restart endpoint (#2060) | Untriaged | ||
61521fd7 |
#2058 | feat: add non-blocking sandbox commands (#2058) | Untriaged | ||
8d83612f |
#2061 | fix: stop thread reloads on refocus (#2061) | Untriaged | ||
3159143d |
#2064 | feat: toggle desktop thread sources (#2064) | Untriaged | ||
64cf112e |
#2041 | feat: render skill commands as badges (#2041) | Untriaged | ||
13504613 |
#2043 | feat: edit review comments (#2043) | Untriaged | ||
5df7cd99 |
#2031 | feat: measure dashboard thread time to first token (#2031) | Untriaged | ||
8922e375 |
#2067 | fix: simplify Slack session cost status (#2067) | Untriaged | ||
977b46e2 |
#2070 | fix: ignore generated desktop backend runtime (#2070) | Untriaged | ||
7172b2c0 |
#2072 | fix: allow narrower desktop windows (#2072) | Untriaged | ||
291e701e |
#2071 | fix: sync local thread running status (#2071) | Untriaged | ||
6f8773b0 |
#2055 | feat: add in-run steer action (#2055) | Untriaged | ||
9d1e2aa6 |
#2066 | fix: widen and expose baby-sit skill (#2066) | Untriaged | ||
d17e8843 |
#1951 | fix: bound inline changed-file summaries (#1951) | Untriaged | ||
3c97210a |
#2075 | fix: allow desktop agents to create pull requests (#2075) | Untriaged | ||
ef99d987 |
#2073 | feat(desktop): add local branch controls (#2073) | Untriaged | ||
6b944131 |
#2025 | fix: expose Slack message IDs for reactions (#2025) | Untriaged | ||
2e9cd3e0 |
#2077 | chore: ignore stray playwright output at the repo root (#2077) | Untriaged | ||
9ed1e4cb |
#2078 | fix: restore model switching for local threads (#2078) | Untriaged | ||
6c4d4c12 |
#2076 | feat: persist agent run diffs (#2076) | Untriaged | ||
d6edf2b2 |
#2079 | fix: toggle composer stop and send actions (#2079) | Untriaged | ||
800deb23 |
#2074 | feat: add keyboard command system (#2074) | Untriaged | ||
17c1237b |
#2084 | fix: stop a failed or interrupted run from bricking its thread (#2084) | Untriaged | ||
0235fe28 |
#2086 | perf: remove working repo middleware (#2086) | Untriaged | ||
7d6ac556 |
#2080 | fix: sync managed skills to local sessions (#2080) | Untriaged | ||
537ad8f5 |
#2083 | fix: guard review chat repo reads (#2083) | Untriaged | ||
efa653a5 |
#2085 | fix: require one event loop per process, and say so when it is not (#2085) | Untriaged | ||
611618a7 |
#2023 | fix: scope participant settings to each message (#2023) | Untriaged | ||
4c719981 |
#2088 | fix: support local baby-sit monitoring (#2088) | Untriaged | ||
5c887597 |
#2087 | refactor: lean on one loop per process instead of guarding every use (#2087) | Untriaged | ||
50c75492 |
#2035 | feat: render plans as sandboxed HTML artifacts (#2035) | Untriaged | ||
b6ba2418 |
#2089 | chore: refresh workspace repos before use (#2089) | Untriaged | ||
ec6a01c0 |
#2030 | feat: structure model input messages (#2030) | Untriaged | ||
0ebd637e |
#2069 | feat: share sandbox files with LangSmith download URLs (#2069) | Untriaged | ||
f964ef83 |
#2090 | chore: document workspace repos in environment prompts (#2090) | Untriaged | ||
47045874 |
#2095 | fix(deps): patch nanoid and brace-expansion advisories (#2095) | Untriaged | ||
4094f067 |
#2096 | fix: generate thread titles from the whole thread (#2096) | Untriaged | ||
920dc720 |
#2097 | fix(sandbox): start a stopped sandbox before failing the proxy refresh (#2097) | Untriaged | ||
4c98d51f |
#2098 | perf(dashboard): warm the thread state fetch and time it server-side (#2098) | Untriaged | ||
21954ac7 |
#2101 | perf(dashboard): warm the sidebar fetch and time it server-side (#2101) | Untriaged | ||
f9796ffc |
#2099 | fix(e2e): write the plan fixture as HTML so save_plan accepts it (#2099) | Untriaged | ||
67abe63a |
#2092 | fix(transcript): render every user message from its envelope (#2092) | Untriaged | ||
7a41b143 |
#2110 | fix: correct GitHub OAuth storage documentation (#2110) | Untriaged | ||
10686dcf |
#2103 | perf: keep recent thread views mounted (#2103) | Untriaged | ||
ee64d020 |
#2114 | fix: render Slack messages correctly in dashboard (#2114) | Untriaged | ||
db1958b2 |
#2111 | feat: render iframe outputs from sandbox URLs (#2111) | Untriaged | ||
333a35fc |
#2102 | feat(dashboard): show a loading placeholder in the threads sidebar (#2102) | Untriaged | ||
f5343c6f |
#2068 | fix: simplify agent activity transcript (#2068) | Untriaged | ||
4dfa1ace |
#2034 | feat: keep thread pull request links visible (#2034) | Untriaged | ||
dc3c5ab8 |
#2109 | fix: restrict admin thread messages (#2109) | Untriaged | ||
5d65c77f |
#2094 | feat: use C for new threads (#2094) | Untriaged | ||
abd49d7e |
#2116 | feat: show thread activity by run location (#2116) | Untriaged | ||
fd9fcc64 |
#2107 | fix(slack): stop rendering Open SWE's own replies as user messages (#2107) | Untriaged | ||
79e36d09 |
#2093 | fix: compact desktop sidebar header (#2093) | Untriaged | ||
141dedf7 |
#2117 | fix: synchronize thread status caches (#2117) | Untriaged | ||
efd99191 |
#2115 | feat: move environments into Settings (#2115) | Untriaged | ||
ffb8318d |
#2113 | fix: prevent new-thread dialog flash (#2113) | Untriaged | ||
f076c119 |
#2118 | feat: add concise mode to core agent prompt (#2118) | Untriaged | ||
10ea60ae |
#2105 | feat: expose admin status for environment changes (#2105) | Untriaged | ||
fd806643 |
#2120 | fix: reserve Slack reactions for active work (#2120) | Untriaged | ||
7eb79841 |
#2106 | fix: cap thread wakeup loops (#2106) | Untriaged | ||
b1e18266 |
#2119 | fix: let agent judge Slack plan approval (#2119) | Untriaged | ||
56367639 |
#2104 | fix: close the LangSmith client in trace_context (#2104) | Untriaged | ||
2704f4a9 |
#2121 | fix: render local task calls as subagents (#2121) | Untriaged | ||
1ba10f86 |
#2123 | feat: make live work status expandable (#2123) | Untriaged | ||
e1b82901 |
#2122 | fix: unify cloud and local changes panel (#2122) | Untriaged | ||
377a2230 |
#2124 | feat: simplify sidebar navigation (#2124) | Untriaged | ||
1d81c17a |
#2125 | fix: show local run activity before messages (#2125) | Untriaged | ||
8c947769 |
#2127 | feat: show thread activity as notification badges (#2127) | Untriaged | ||
8bc34151 |
#2129 | feat: shimmer active task names (#2129) | Untriaged | ||
c4486dcd |
#2108 | feat: add parent thread management tools (#2108) | Untriaged | ||
b3e46d86 |
#2130 | fix: stop web follow-ups rendering twice (#2130) | Untriaged | ||
a8f73edb |
#2100 | feat: make plan review read-only (#2100) | Untriaged | ||
9454f5ae |
#2112 | fix: progressively load sidebar threads (#2112) | Untriaged | ||
bea476a7 |
#2131 | feat: multi-surface right panel (#2131) | Untriaged | ||
91c5dcf8 |
#2133 | fix: align sidebar toggle in macOS fullscreen (#2133) | Untriaged | ||
d7f7b7bd |
#2135 | chore: move the langgraph runtime off end-of-life 0.10.x (#2135) | Untriaged | ||
9c0ea351 |
#2132 | feat: highlight JSON tool results (#2132) | Untriaged | ||
d1bc9f1d |
#2134 | fix: read the Changes surface from a selectable diff scope (#2134) | Untriaged | ||
a52603e5 |
#2137 | feat: add desktop checkout install command (#2137) | Untriaged | ||
9375c88d |
#2139 | fix: hide active run divider (#2139) | Untriaged | ||
c60aede5 |
#2138 | feat: fold the PR surface into the diff scope selector (#2138) | Untriaged | ||
f069ef73 |
#2140 | fix: optimistically render new threads (#2140) | Untriaged | ||
7966f55b |
#2141 | fix: clarify active tool call shimmer (#2141) | Untriaged | ||
1425d194 |
#2142 | fix: read working tree changes from live sandbox (#2142) | Untriaged | ||
70fcea5c |
#2143 | fix: make sidebar trace links navigable (#2143) | Untriaged | ||
cefc171f |
#2144 | ci: run E2E tests only for relevant changes (#2144) | Untriaged | ||
574a96f4 |
#2146 | fix: read working tree changes against head (#2146) | Untriaged | ||
01d29f1e |
#2150 | Add desktop local account sign-in (#2150) | Untriaged | ||
a375b2fe |
#2154 | fix: require explicit plan mode requests (#2154) | Untriaged | ||
0f30eb62 |
#2152 | feat: configure environment sandbox creation (#2152) | Untriaged | ||
2ca48dbb |
#2153 | feat: allow admin automation threads (#2153) | Untriaged | ||
11492bd6 |
#2158 | fix: allow desktop oauth callbacks without a state cookie (#2158) | Untriaged | ||
ee80d5c4 |
#2155 | fix: offload FilesystemBackend construction and stop blockbuster_ctx leaks (#2155) | Untriaged | ||
3ba3e600 |
#2162 | fix: read working tree directly from sandbox (#2162) | Untriaged | ||
02e0183e |
#2163 | fix(ui): clear dictation error on message send (#2163) | Untriaged | ||
265921f6 |
#2145 | feat(ui): polish the cloud / this mac source selector (#2145) | Untriaged | ||
d5e2b9af |
#2164 | fix(desktop): derive local run activity from the LangGraph backend (#2164) | Untriaged | ||
682fdb57 |
#2147 | fix: rebuild usage telemetry from source events (#2147) | Untriaged | ||
6af43462 |
#2165 | feat: show Slack action indicator for automation runs (#2165) | Untriaged | ||
a3ff583a |
#2168 | fix: dispatch runs with Protocol v2 event streaming (#2168) | Untriaged | ||
65483007 |
#2166 | chore: require screenshots for UI-facing changes (#2166) | Untriaged | ||
c0ea126f |
#2167 | feat: let admin threads manage organization skills (#2167) | Untriaged | ||
b4627bda |
#2157 | fix: use full viewport in HTML plan viewer (#2157) | Untriaged | ||
112f3f34 |
#2160 | feat: show actionable pull request health (#2160) | Untriaged | ||
02a45b3b |
#2159 | fix: keep sidebar threads in creation order (#2159) | Untriaged | ||
cb572ab0 |
#2170 | fix: keep resolved thread visible in sidebar (#2170) | Untriaged | ||
fccb5394 |
#2174 | fix: keep active attention thread pinned (#2174) | Untriaged | ||
5ed86550 |
#2171 | fix: open thread actions from row context menu (#2171) | Untriaged | ||
a0b5eca5 |
#2148 | fix: reconnect cloud terminals after disconnects (#2148) | Untriaged | ||
fdb798d6 |
#2175 | fix: initialize attention pins after sidebar load (#2175) | Untriaged | ||
9511f859 |
#2172 | fix: recover new thread transcript hydration (#2172) | Untriaged | ||
b27338af |
#2178 | fix: resolve threads optimistically (#2178) | Untriaged | ||
267fa2cc |
#2187 | chore: prefer rg over deepagents search (#2187) | Untriaged | ||
7d534ce1 |
#2188 | feat(agent): trace agent startup phases (#2188) | Untriaged | ||
6e6d2db3 |
#2190 | feat(ui): enable React Compiler on Vite 8 (#2190) | Untriaged | ||
2446cb0d |
#2193 | feat: add admin sandbox reset tool (#2193) | 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.