Repository navigation
tech-debt(worktrees): 3 branches hold unlanded work on already-closed issues — 22 files, ~1760 insertions never PR'd #13603
Description
What
A worktree sweep on 2026-08-04 removed 66 worktrees whose branches were verified landed in Dev_new_gui. Three were deliberately not removed — they hold committed work that is not in the base, on issues that are already closed. Recording them so the work is finished rather than quietly lost.
Per the standing rule, a branch that looks like debris is unfinished work: it gets completed and landed, never deleted.
1. issue-13140-slmapibase — 18 files unlanded, issue already closed
#13140 is CLOSED and its PR #13170 is MERGED, but the branch carries three further commits that never became a PR:
6b624466d refactor(slm-frontend): state the auth-ref staleness precisely, and prove it (#13140)
58a1f0730 test(slm-frontend): assert the converted transport's real behaviour (#13140)
1592d191f refactor(slm-frontend): route the getSlmApiBase() call sites through slmApiClient (#13140)
git diff origin/Dev_new_gui...issue-13140-slmapibase --stat — 18 files, 1321 insertions, 382 deletions, none of it in the base:
src/components/DeploymentWizard.test.ts | 128 +++++++++
src/components/InfrastructureWizard.vue | 84 +++---
src/composables/usePerformanceMonitoring.ts | 103 +++----
src/composables/usePrometheusMetrics.test.ts | 178 ++++++++++++
src/composables/usePrometheusMetrics.ts | 306 +++++++++++----------
src/constants/api-timeouts.ts | 56 ++++
src/views/InfrastructureView.test.ts | 143 ++++++++++
src/views/ToolsView.test.ts | 239 ++++++++++++++++
src/views/monitoring/AlertsMonitor.test.ts | 159 +++++++++++
… 18 files changed, 1321 insertions(+), 382 deletions(-)
Five of those files are new test files that exist nowhere else. The issue title was "~52 SLM-backend call sites still bypass slmApiClient" — closing it while the call-site migration and its tests sit unlanded means the stated problem is only partly solved in the tree. This is the premature-closure pattern: the PR merged, the issue closed, the remainder stayed on a branch.
The worktree also has 1 uncommitted file, so it was skipped by the sweep on that ground alone.
2. issue-13337-fixes and issue-13337-sync — 4 files unlanded, issue already closed
#13337 is CLOSED and PR #13359 MERGED (3c3371133 in base). Both branches nonetheless carry work beyond it:
git diff origin/Dev_new_gui...issue-13337-fixes --stat
autobot-backend/llc/tests/conftest.py | 391 ++++++++++++++++-----
autobot-backend/llc/tests/test_health_probe.py | 40 +--
autobot-slm-backend/tests/api/conftest.py | 17 +-
.../tests/api/test_slm_endpoints_12515.py | 115 +++++-
4 files changed, 443 insertions(+), 120 deletions(-)
issue-13337-sync is a superset of -fixes (same commits plus base merges), so the two need reconciling before either lands — they are not independent.
This is directly relevant to #13599. The unlanded commit 2755ce485 fix(llc-tests): bind the conftest sys.modules stubs to their own collect/run windows is exactly the class of fix that the leak guard's misattribution bug needs, and llc/tests/conftest.py gains 391 lines here. Whoever picks up #13599 should read this branch first rather than re-deriving it.
What is needed
- Rebase each branch onto current
Dev_new_guiand open a PR — the work is committed, it just never got one. - Reconcile
issue-13337-fixesagainstissue-13337-syncand land one, not both. - Reopen tech-debt(slm-frontend): ~52 SLM-backend call sites still bypass slmApiClient, blocking the no-raw-fetch lint rule (from #12420) #13140 and test-infra: llc/tests conftest leaks a sys.modules['agents'] stub — third conftest leak in two days #13337, or file successor issues, so the closed state matches the tree. Right now both read as delivered while their work sits on a branch.
- The uncommitted file in the
issue-13140-slmapibaseworktree needs its owner to decide — it was not touched.
Do not
Delete these branches or their worktrees. Nothing here is landed, so removal is data loss, not cleanup.
Activity
mrveiss commentedon Aug 25, 2026
Disposition: LANDED — and two of the three branches never existed to begin with
Triaged as part of the stranded-work sweep on umbrella #14078. The three branches, one at a time.
1.
issue-13140-slmapibase— LANDED, byte-for-byteThe branch exists locally, 18 files, ~1321 insertions, and its three commits are indeed not
ancestors of
Dev_new_gui. That is what a squash merge looks like: PR #13170 (merged2026-07-31, squash
d16ec8e) is in base.Compared at content level, tree object by tree object:
DeploymentWizard.{vue,test.ts},InfrastructureWizard.vue,fleet/FleetToolsTab.vue,usePerformanceMonitoring.ts,usePrometheusMetrics.{ts,test.ts},useSlmWebSocket.ts,AgentsView.vue,InfrastructureView.{vue,test.ts},RolesView.vue,ToolsView.{vue,test.ts},monitoring/AlertsMonitor.{vue,test.ts}src/constants/api-timeouts.ts,src/locales/en.jsonFor the two that differ, the exact set of lines present on the branch and absent from base is
three lines:
api-timeouts.ts— one doc-comment line. Base's version is a superset: it documents both tech-debt(slm-frontend): ~52 SLM-backend call sites still bypass slmApiClient, blocking the no-raw-fetch lint rule (from #12420) #13140and tech-debt(slm-frontend): 7 components bypass useAutobotApi with their own transport, losing the autobot_access_token fallback #13079.
en.json—"pipelineReconnectingAttempt"is in base aten.json:328(it simply moved), and itis used at
views/CodeSyncView.vue:988and:1127."deployedOnly"is absent from base, and isreferenced by nothing anywhere in
autobot-slm-frontend— an unused key, not a missing string.So 1321 insertions minus one comment line and one dead i18n key. Nothing is stranded. Issue #13140
is CLOSED.
2 & 3.
issue-13337-fixesandissue-13337-sync— these refs do not existChecked
git branch -a,git worktree list,git for-each-ref, and the reflog across all refs:no branch, no worktree, no ref, no dangling commit mentioning
13337.Issue #13337 (test-infra: llc/tests conftest leaks a
sys.modules['agents']stub) is CLOSED,its PR #13359 merged as
3c3371133. The branches are gone because their work merged and therefs were pruned.
Decision: the "22 files, ~1760 insertions never PR'd" headline does not survive contact with the
content. Every file landed; the only two branches that could have held anything unlanded do not
exist.
issue-13140-slmapibaseis disposable; left in place — branch deletion is a separatedeliberate act.
Note on the audit that produced this issue
Same root cause as #11703: the audit used branch ancestry to decide "unlanded". This repository
squash-merges, so ancestry always says "unlanded" and the insertion count is then read off the
branch's own diff. Any future unlanded-work audit here has to compare content against base, not
ancestry — otherwise it reports every merged branch as stranded work.