mirror of
https://github.com/Sea-Haven-Industries/open-swe.git
synced 2026-09-30 06:53:14 +00:00
Some checks are pending
CI / Lint (push) Waiting to run
CI / Format check (push) Waiting to run
CI / Typecheck (push) Waiting to run
CI / Unit tests (push) Waiting to run
CI / Playwright E2E (push) Waiting to run
CI / Docker build smoke (push) Waiting to run
CI / Triage ledger up to date (push) Waiting to run
CI / ui bun.lock in sync (push) Waiting to run
16 KiB
16 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: bfa67a7a (2026-07-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 |
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 |
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 | |
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 | |
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) | |
4cd5fa5c |
#1629 | avoid recapping Slack replies | Deferred | slack-tooling | |
baf0c248 |
#1617 | filter & grouping menu in threads sidebar | Deferred | ~998 LOC | own branch |
f29868ff |
#1615 | recover thread work as patch | Deferred | ~495 LOC | own branch |
8e0788dc |
#1631 | show queued dashboard follow-ups | Deferred | own branch | |
9c601ca1 |
#1648 | add Stagehand-powered browser subagent | Deferred | own branch | |
8c944381 |
#1622 | restore forced tool call | Deferred | own branch | |
27f987dc |
#1686 | refactor: remove dead sync-interface compatibility code (#1686) | Deferred | chain head: dead-code removal (get_sandbox_backend_sync); pointless alone | sandbox-refactor |
2503a2f4 |
#1687 | refactor(open-swe): provision LangSmith sandboxes natively async (#1687) | Deferred | FLAG-HUMAN: load-bearing async pivot of create_sandbox + _configure_github_proxy (GitHub-App auth surface) | sandbox-refactor |
2529b109 |
#1690 | fix: checkpoint per-run graph setup (#1690) | Deferred | per-run graph-setup checkpoint; built on async server.py; entangled | sandbox-refactor |
c0a7e93e |
#1691 | fix: reconnect sandbox backend on resumed runs (#1691) | Deferred | reconnect proxy (has_backend/reconnect); assumes async create_sandbox | sandbox-refactor |
4f8bc2dd |
#1692 | refactor: simplify open-swe agent sandbox lifecycle (#1692) | Deferred | FLAG-HUMAN: structural rewrite of ensure_sandbox_for_thread (drops creating 4-case sentinel) | sandbox-refactor |
48217b68 |
#1489 | feat(open-swe): add E2B sandbox provider (#1489) | Deferred | additive E2B provider; separable but ships on the async sandbox.py base | sandbox-refactor |
22e024cb |
#1704 | fix: link issue PRs and prompt repo conventions (#1704) | Deferred | issue/PR linking + repo-convention prompt; clean but prompt-conflict risk vs #113 | webhook-issue-linking |
27b0ddeb |
#1708 | feat: add GPT-5.6 OpenAI models (#1708) | Deferred | FLAG-HUMAN: adds OpenAI GPT-5.6 to the model picker; fork's picker is Bedrock/Fireworks-only — needs a product decision before adopting OpenAI models. Gateway (#155) can route OpenAI if adopted. | model-picker |
62e0ca2d |
#1709 | fix: stale admin model defaults after model upgrades (#1709) | Deferred | stale admin model-default cleanup in team_settings after model upgrades; applies to fork's default-model resolution. | model-picker |
138ab9ec |
#1710 | fix: bump langchain-fireworks to 1.4.4 (#1710) | Deferred | langchain-fireworks 1.4.4 bump; fork uses Fireworks as a primary provider — adopt with a lockfile refresh. | deps |
71e3b818 |
#1713 | fix: align reviewer eval with published findings (#1713) | Deferred | reviewer-eval/judge alignment; touches reviewer.py + add_finding/publish_review which are fork-diverged — reconcile against fork's reviewer before porting. | reviewer-eval |
35659177 |
#1718 | fix: sanitize orphaned OpenAI tool results (#1718) | Deferred | Correctness fix for orphaned OpenAI tool results before Responses API calls. Fork already wires SanitizeOpenAIResponsesMiddleware and uses OpenAI, so relevant - adopt, but the middleware file and pyproject conflict (fork copy diverged from an earlier pick); hand-resolve and refresh uv.lock. | openai-sanitize |
092abafa |
#1717 | fix: enforce terse Slack tool messages (#1717) | Deferred | Terse Slack tool-message UX fix. Impl (prompt.py + slack_thread_reply.py) auto-merges; only tests/test_github_comment_prompts.py conflicts against the fork prompt customizations - adopt and resolve that one test. | slack-terse |
92d63170 |
#1720 | fix: separate review access from automatic reviews (#1720) | Deferred | Separates review access from automatic reviews; touches fork-diverged webapp.py + webhooks/github.py auto-review flow + review UI. Cherry-picks clean textually but is an access-control change on the fork-customized opened/ready_for_review auto-review surface - re-inspect semantics and get human sign-off before picking. | reviewer-access |
8356eb34 |
#1726 | refactor: organize repository by domain (#1726) | Untriaged | ||
83abea26 |
#1724 | fix: accept natural-language Slack plan approvals (#1724) | Untriaged | ||
129ddcf9 |
#1728 | chore: include ripgrep in sandbox image (#1728) | Untriaged | ||
ddbe457b |
#1727 | fix: restore GPT-5.5 as default model (#1727) | Untriaged | ||
1ea03a43 |
#1729 | feat: include Cargo in sandbox image (#1729) | Untriaged | ||
5136079d |
#1725 | chore: disable todos for GPT-5.6 Sol (#1725) | Untriaged | ||
09eaf94c |
#1730 | fix: let admins interrupt runaway agents (#1730) | Untriaged | ||
30832d29 |
#1731 | fix: preserve OpenAI Responses tool history (#1731) | Untriaged | ||
1ea0e600 |
#1736 | fix: bind cached GitHub tokens to users (#1736) | Untriaged | ||
3fcb27ce |
#1737 | fix: bound reviewer diff fetching (#1737) | Untriaged | ||
d714586c |
#1732 | fix: normalize dashboard label rendering (#1732) | Untriaged | ||
ef68c09b |
#1734 | fix: handle Slack DMs as mentions (#1734) | Untriaged | ||
bfa67a7a |
#1711 | chore(deps): bump soupsieve from 2.8.3 to 2.8.4 (#1711) | 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.