docs: remove reapplication-plan.md (#11481)

This commit is contained in:
Hannes Rudolph 2026-02-15 11:23:23 -07:00 committed by GitHub
parent aaee5a2c02
commit 6ef149d567
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,372 +0,0 @@
# Reapplication Plan — PRs Reverted by #11462
> **Analysis date:** 2026-02-14
> **Scope:** 42 PRs reverted by #11462 that were NOT reapplied by #11463
> **Method:** Dry-run `git cherry-pick --no-commit` against `main-sync-rc6`
---
## 1. Executive Summary
| Category | Count | % |
| --------------------- | ------ | ----- |
| **CLEAN_CHERRY_PICK** | 22 | 52 % |
| **MINOR_CONFLICTS** | 9 | 21 % |
| **MAJOR_CONFLICTS** | 6 | 14 % |
| **EXCLUDED (AI SDK)** | 5 | 12 % |
| **Total** | **42** | 100 % |
**Progress:** 37 of 42 PRs reapplied ✅. 5 PRs excluded (AI-SDK-dependent, will not be reapplied). Reapplication is complete.
### Overall Assessment
Over half (52 %) of the reverted PRs cherry-pick cleanly onto the current branch with zero conflicts. Another 21 % have only minor, mechanically-resolvable conflicts (lockfile diffs, adjacent-line shifts, small provider divergences). Together these 31 PRs have been reapplied across Batches 1 and 2.
The remaining 6 PRs (all MAJOR conflicts) have been reapplied in PR [#11475](https://github.com/RooCodeInc/Roo-Code/pull/11475) after all product decisions were approved:
- **Skills infrastructure** (#11102, #11157, #11414) — skills UI restored, then built-in skills mechanism removed as approved.
- **Cross-cutting removals** (#11253, #11297, #11392) — provider removals, browser use removal, and Grounding checkbox removal all approved and applied.
5 PRs have been permanently excluded because they depend on the AI SDK type system (see §8 Excluded PRs).
### Key Risk Areas
1. **`ClineProvider.ts` and `Task.ts`** are the most frequently touched files — sequential application within batches is essential.
2. **Skills infrastructure** is the #1 conflict magnet across 3 PRs.
3. **API provider files** (`gemini.ts`, `vertex.ts`, `bedrock.ts`) have diverged significantly.
4. **i18n `settings.json`** files cause positional conflicts for any PR adding keys.
5. **`pnpm-lock.yaml`** conflicts are trivially regeneratable via `pnpm install`.
---
## 1.5 Progress
| Batch | Status | Details |
| ------- | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| Batch 1 | ✅ COMPLETE | 22/22 PRs cherry-picked, PR [#11473](https://github.com/RooCodeInc/Roo-Code/pull/11473) created |
| Batch 2 | ✅ COMPLETE (rebuilt) | 9/9 PRs cherry-picked (3 AI SDK PRs excluded, 1 Azure PR excluded). PR [#11474](https://github.com/RooCodeInc/Roo-Code/pull/11474) |
| Batch 3 | ✅ COMPLETE | 4/4 PRs cherry-picked (skills infra + browser use removal). PR [#11475](https://github.com/RooCodeInc/Roo-Code/pull/11475) |
| Batch 4 | ✅ COMPLETE | 2/2 PRs cherry-picked (provider removals). PR [#11475](https://github.com/RooCodeInc/Roo-Code/pull/11475) |
---
## 2. Dependency Graph
```mermaid
graph TD
subgraph "Delegation Chain — ✅ MERGED (Batch 1)"
PR11281["#11281 prevent parent task state loss"]
PR11302["#11302 delegation-aware removeClineFromStack"]
PR11331["#11331 delegation race condition"]
PR11335["#11335 serialize taskHistory writes"]
PR11281 --> PR11302 --> PR11331 --> PR11335
end
subgraph Skills Chain
PR11102["#11102 skill mode dropdown"]
PR11157["#11157 improve Skills/Slash Commands UI"]
PR11414["#11414 remove built-in skills mechanism"]
PR11102 --> PR11157 --> PR11414
end
subgraph Opus 4.6
PR11224["#11224 Claude Opus 4.6 support"]
PR11232["#11232 Bedrock model ID for Opus 4.6"]
PR11224 --> PR11232
end
subgraph Gemini Provider
PR11233["#11233 empty-string baseURL guard"]
PR11303["#11303 Gemini thinkingLevel validation"]
PR11253["#11253 remove URL context/Grounding checkboxes"]
PR11233 --> PR11303 --> PR11253
end
subgraph Removal PRs Product Decisions
PR11253
PR11297["#11297 remove 9 low-usage providers"]
PR11392["#11392 remove browser use entirely"]
PR11414
end
```
### Textual Dependency Summary
| Dependency Chain | PRs (in order) |
| ------------------- | ------------------------------------------------------- |
| Delegation (merged) | #11281#11302#11331#11335 = ✅ MERGED (Batch 1) |
| Skills | #11102#11157#11414 |
| Opus 4.6 | #11224#11232 |
| Gemini provider | #11233#11303#11253 |
---
## 3. Recommended Batches
### Batch 1 — Clean Cherry-Picks (Low Risk)
**COMPLETE** — PR [#11473](https://github.com/RooCodeInc/Roo-Code/pull/11473)
**22 PRs · No manual conflict resolution**
Apply all CLEAN_CHERRY_PICK PRs in dependency order. These are safe to apply in a single session. Start with independent PRs, then apply the clean delegation PRs in chain order.
| Order | PR# | Title |
| ----- | ------ | ----------------------------------------------- |
| 1 | #10874 | image content in MCP tool responses |
| 2 | #10975 | transform tool blocks to text before condensing |
| 3 | #10981 | Codex-inspired read_file refactor |
| 4 | #10994 | allow import settings in welcome screen |
| 5 | #11038 | code-index gemini-embedding-001 |
| 6 | #11116 | treat extension .env as optional |
| 7 | #11131 | sanitize tool_use_id |
| 8 | #11140 | queue messages during command execution |
| 9 | #11162 | IPC task cancellation fixes |
| 10 | #11183 | AGENTS.local.md support |
| 11 | #11205 | cli provider switch race condition |
| 12 | #11207 | remove dead toolFormat code |
| 13 | #11215 | extract translation/merge resolver into skills |
| 14 | #11224 | Claude Opus 4.6 support across providers |
| 15 | #11225 | gpt-5.3-codex model |
| 16 | #11281 | prevent parent task state loss |
| 17 | #11302 | delegation-aware removeClineFromStack |
| 18 | #11313 | webview postMessage crashes |
| 19 | #11331 | delegation race condition |
| 20 | #11335 | serialize taskHistory writes |
| 21 | #11369 | task resumption in API module |
| 22 | #11410 | clean up repo-facing mode rules |
**Rationale:** These have zero conflicts and include the first 4 delegation PRs in the chain, which unblocks later batches.
> **Post-application notes:**
>
> - Extra fix commit: `maxReadFileLine` added to `ExtensionState` type for compatibility
> - #11215 and #11410 were empty commits (changes already present in base)
> - Verification: 5,359 backend tests ✅, 1,229 webview-ui tests ✅, TypeScript ✅
---
### Batch 2 — Minor Conflicts (Medium Risk)
**COMPLETE (rebuilt)** — PR [#11474](https://github.com/RooCodeInc/Roo-Code/pull/11474)
**9 PRs (rebuilt) · Originally 13 PRs**
> **Rebuild note:** Originally 13 PRs. Rebuilt after excluding #11379, #11418, #11422 (AI SDK dependent) and #11374 (depends on excluded #11315).
| Order | PR# | Title | Conflicts | Notes |
| ----- | ------ | --------------------------------------------- | --------- | ------------------------------- |
| 1 | #11232 | Bedrock model ID for Opus 4.6 | 1 | Depends on #11224 (Batch 1) |
| 2 | #11233 | empty-string baseURL guard | 3 | Provider file conflicts |
| 3 | #11218 | defaultTemperature required in getModelParams | 2 | Provider signature changes |
| 4 | #11245 | batch consecutive tool calls in chat UI | 2 | Chat UI content conflicts |
| 5 | #11279 | IPC query handlers | 2 | IPC event types diverged |
| 6 | #11295 | lock toggle to pin API config | 1 | Trivial lockfile conflict |
| 7 | #11303 | Gemini thinkingLevel validation | 1 | Depends on #11233 |
| 8 | #11425 | cli release v0.0.53 | 2 | Version bump conflicts |
| 9 | #11440 | GLM-5 model for Z.ai | 2 | Z.ai provider diverged slightly |
> **Post-application notes:**
>
> - AI SDK contamination cleaned: Removed 3 AI SDK tests + import from gemini.spec.ts
> - Type errors fixed: Added missing `defaultTemperature` to vertex.ts and xai.ts
> - pnpm-lock.yaml regenerated: Clean lockfile matching current dependencies
> - Verification: 5,372 backend tests ✅, 1,250 webview-ui tests ✅, 14/14 type checks ✅, AI SDK contamination check clean
---
### Batch 3 — Major Conflicts: Skills & Browser Use (High Risk)
**COMPLETE** — PR [#11475](https://github.com/RooCodeInc/Roo-Code/pull/11475)
**4 PRs · All product decisions approved**
| Order | PR# | Title | Conflicts | Notes |
| ----- | ------ | -------------------------------- | --------- | ----------------------------- |
| 1 | #11102 | skill mode dropdown | 44 | Skills infra must be restored |
| 2 | #11157 | improve Skills/Slash Commands UI | 48 | Superset of #11102 |
| 3 | #11414 | remove built-in skills mechanism | 30 | Depends on #11102 + #11157 |
| 4 | #11392 | remove browser use entirely | 15 | Cross-cutting removal |
---
### Batch 4 — Major Conflicts: Provider Removals (High Risk)
**COMPLETE** — PR [#11475](https://github.com/RooCodeInc/Roo-Code/pull/11475)
**2 PRs · All product decisions approved**
| Order | PR# | Title | Conflicts | Notes |
| ----- | ------ | --------------------------------------- | --------- | ---------------------------------- |
| 1 | #11253 | remove URL context/Grounding checkboxes | 4 | Depends on Gemini PRs from Batch 2 |
| 2 | #11297 | remove 9 low-usage providers | 18 | Provider files modified/deleted |
---
## 4. Per-PR Analysis Table
| PR# | Title | Commit SHA | Category | Conflicting Files | Dependencies | Notes |
| ------ | ----------------------------------------------- | ------------ | -------- | --------------------------------------------------------------------------------------------------------------------- | ----------------- | ----------------------------------------------------- |
| #10874 | image content in MCP tool responses | `e46fae7ad7` | CLEAN | — | — | |
| #10975 | transform tool blocks to text before condensing | `b4b8cef859` | CLEAN | — | — | |
| #10981 | Codex-inspired read_file refactor | `cc86049f10` | CLEAN | — | — | 19 files (types, core, webview, tests) |
| #10994 | allow import settings in welcome screen | `fa93109b76` | CLEAN | — | — | 1 file (WelcomeViewProvider.tsx) |
| #11038 | code-index gemini-embedding-001 | `1e790b0d39` | CLEAN | — | — | |
| #11102 | skill mode dropdown | `16fbabf2a4` | MAJOR | 44 files: skills.json ×18, settings.json ×18, + skills infra | Skills chain head | Skills UI fully removed in revert |
| #11116 | treat extension .env as optional | `20d1f1f282` | CLEAN | — | — | extension.ts + test |
| #11131 | sanitize tool_use_id | `3400499917` | CLEAN | — | — | auto-merged presentAssistantMessage.ts |
| #11140 | queue messages during command execution | `ede1d29299` | CLEAN | — | — | auto-merged ChatView.tsx |
| #11157 | improve Skills/Slash Commands UI | `54ea34e2c1` | MAJOR | 48 files: CreateSkillDialog.tsx, SkillsSettings.tsx, SettingsView.tsx + skills infra | #11102 | Superset of #11102 conflicts |
| #11162 | IPC task cancellation fixes | `e5fa5e8e46` | CLEAN | — | — | auto-merged runTaskInCli.ts, Task.ts |
| #11183 | AGENTS.local.md support | `1da2b1c457` | CLEAN | — | — | .gitignore, custom-instructions.ts, test |
| #11205 | cli provider switch race condition | `aa49871a5d` | CLEAN | — | — | auto-merged webviewMessageHandler.ts |
| #11207 | remove dead toolFormat code | `f73b103b87` | CLEAN | — | — | trivially clean |
| #11215 | extract translation/merge resolver into skills | `5507f5ab64` | CLEAN | — | — | empty diff — already present |
| #11218 | defaultTemperature required in getModelParams | `0e5407aa76` | MINOR | cerebras.ts, mistral.ts | — | Provider signature changes |
| #11224 | Claude Opus 4.6 support across providers | `47bba1c2f7` | CLEAN | — | — | 30 files (provider types + i18n) |
| #11225 | gpt-5.3-codex model | `d5b7fdcfa7` | CLEAN | — | — | 2 files (openai-codex.ts + test) |
| #11232 | Bedrock model ID for Opus 4.6 | `8c6d1ef15d` | MINOR | packages/types/src/providers/bedrock.ts | #11224 | Content conflict in bedrock types |
| #11233 | empty-string baseURL guard | `23d34154d0` | MINOR | gemini.spec.ts, deepseek.ts, gemini.ts | — | Provider file conflicts |
| #11245 | batch consecutive tool calls in chat UI | `7afa43635f` | MINOR | ChatRow.tsx, ChatView.tsx | — | Content conflicts in chat UI |
| #11253 | remove URL context/Grounding checkboxes | `2053de7b40` | MAJOR | gemini.ts, vertex.ts, gemini-handler.spec.ts, vertex.spec.ts | #11233, #11303 | Gemini/Vertex diverged; needs product decision |
| #11279 | IPC query handlers | `9b39d2242a` | MINOR | packages/types/src/events.ts, src/extension/api.ts | — | IPC event types diverged |
| #11281 | prevent parent task state loss | `6826e20da2` | CLEAN | — | — | auto-merged Task.ts, ClineProvider.ts, tests |
| #11295 | lock toggle to pin API config | `5d17f56db7` | MINOR | pnpm-lock.yaml | — | Trivial lockfile conflict |
| #11297 | remove 9 low-usage providers | `ef2fec9a23` | MAJOR | 18 files: 9 provider files (modify/delete), pnpm-lock.yaml, ApiOptions.tsx, package.json | — | Needs product decision |
| #11302 | delegation-aware removeClineFromStack | `70775f0ec1` | CLEAN | — | #11281 | auto-merged ClineProvider.ts |
| #11303 | Gemini thinkingLevel validation | `a11be8b72e` | MINOR | src/api/providers/gemini.ts | #11233 | Content conflict |
| #11313 | webview postMessage crashes | `62a0106ce0` | CLEAN | — | — | auto-merged ClineProvider.ts |
| #11331 | delegation race condition | `7c58f29975` | CLEAN | — | #11302 | auto-merged task.ts, Task.ts, ClineProvider.ts, tests |
| #11335 | serialize taskHistory writes | `115d6c5fce` | CLEAN | — | #11331 | auto-merged ClineProvider.ts + test |
| #11369 | task resumption in API module | `b02924530c` | CLEAN | — | — | auto-merged api.ts |
| #11392 | remove browser use entirely | `fa9dff4a06` | MAJOR | 15 files: Task.ts, ClineProvider.ts, system-prompt.spec.ts, mentions/, build-tools.ts, ChatView.tsx, SettingsView.tsx | — | Cross-cutting removal; needs product decision |
| #11410 | clean up repo-facing mode rules | `d2c52c9e09` | CLEAN | — | — | trivially clean |
| #11414 | remove built-in skills mechanism | `b759b92f01` | MAJOR | 30 files: built-in-skills.ts, generate-built-in-skills.ts, shared/skills.ts + skills infra | #11157 | Skills files deleted in HEAD; needs product decision |
| #11425 | cli release v0.0.53 | `f54f224a26` | MINOR | CHANGELOG.md, package.json | — | Version bump conflicts |
| #11440 | GLM-5 model for Z.ai | `cdf481c8f9` | MINOR | src/api/providers/zai.ts, zai.spec.ts | — | Z.ai provider diverged slightly |
> **Note:** 5 PRs (#11315, #11374, #11379, #11418, #11422) have been excluded from this table. See §8 Excluded PRs.
---
## 5. Product Decisions Required
The following 4 PRs perform **removals of existing functionality**. They cannot be reapplied without explicit stakeholder sign-off because the removal may conflict with current product direction or user expectations.
### #11253 — Remove URL Context/Grounding Checkboxes
- **What it removes:** URL context and Grounding search checkboxes from Gemini and Vertex providers
- **Why sign-off is needed:** Grounding is a user-visible feature toggle. Removing it changes the Gemini/Vertex UX and may affect users relying on grounded responses. Product must confirm these features are deprecated.
- **Conflict scope:** 4 files (gemini.ts, vertex.ts, and their spec files)
- **Dependencies:** Should be applied after #11233 and #11303
### #11297 — Remove 9 Low-Usage Providers
- **What it removes:** 9 API provider integrations deemed low-usage
- **Why sign-off is needed:** Removing providers breaks existing users of those providers. Product must confirm the usage data supports removal and that affected users have been notified or migrated.
- **Conflict scope:** 18 files — 9 provider files are modify/delete conflicts (files were modified in HEAD but the PR deletes them), plus pnpm-lock.yaml, ApiOptions.tsx, package.json
- **Dependencies:** None, but should be applied after all other provider-touching PRs
### #11392 — Remove Browser Use Entirely
- **What it removes:** The entire browser use feature (browser automation, mentions, tool definitions, UI toggles)
- **Why sign-off is needed:** Browser use is a significant user-facing capability. Its removal is a major product decision affecting workflows that depend on browser automation. Product must confirm this feature is being sunset.
- **Conflict scope:** 15 files — cross-cutting across Task.ts, ClineProvider.ts, system-prompt.spec.ts, mentions/, build-tools.ts, ChatView.tsx, SettingsView.tsx
- **Dependencies:** None, but deeply cross-cutting
### #11414 — Remove Built-In Skills Mechanism
- **What it removes:** The built-in skills infrastructure (generation scripts, shared types, skill definitions)
- **Why sign-off is needed:** This removes the mechanism for shipping skills bundled with the extension. Product must confirm that the skills system is moving entirely to user-managed skills (via SKILL.md files) and that no built-in skills are planned.
- **Conflict scope:** 30 files — skills infrastructure files deleted in HEAD
- **Dependencies:** Requires #11102 and #11157 to be applied first (skills UI must exist before it can be removed)
---
## 6. Recommended Execution Order
### Phase 1: Clean Cherry-Picks (Batch 1) ✅
1. ✅ Cherry-pick the 22 CLEAN PRs in the order listed in Batch 1 (§3)
2. ✅ Run `pnpm install` to regenerate lockfile
3. ✅ Run full test suite to confirm no regressions
4. ✅ Commit/tag checkpoint: `batch-1-clean-complete`
> Checkpoint tagged: branch `reapply/batch-1-clean-cherry-picks`, PR [#11473](https://github.com/RooCodeInc/Roo-Code/pull/11473)
### Phase 2: Minor Conflict Resolution (Batch 2) ✅
5. ✅ Cherry-pick #11232 (Bedrock Opus 4.6 model ID) — resolve 1 conflict in bedrock.ts
6. ✅ Cherry-pick #11233 (empty-string baseURL guard) — resolve 3 provider conflicts
7. ✅ Cherry-pick #11218 (defaultTemperature) — resolve 2 provider signature conflicts
8. ✅ Cherry-pick #11245 (batch tool calls in chat UI) — resolve 2 chat UI conflicts
9. ✅ Cherry-pick #11279 (IPC query handlers) — resolve 2 IPC type conflicts
10. ✅ Cherry-pick #11295 (lock toggle) — resolve lockfile conflict, regenerate with `pnpm install`
11. ✅ Cherry-pick #11303 (Gemini thinkingLevel) — resolve 1 gemini.ts conflict
12. ✅ Cherry-pick #11425 (cli release v0.0.53) — resolve version bump conflicts
13. ✅ Cherry-pick #11440 (GLM-5 for Z.ai) — resolve 2 Z.ai conflicts
14. ✅ Run full test suite
15. ✅ Commit/tag checkpoint: `batch-2-minor-complete`
> Checkpoint tagged: branch `reapply/batch-2-minor-conflicts`, PR [#11474](https://github.com/RooCodeInc/Roo-Code/pull/11474)
### Phase 3: Product Decisions Gate ✅
16. ✅ Stakeholder sign-off obtained:
- [x] #11253 — Remove Grounding checkboxes
- [x] #11297 — Remove 9 low-usage providers
- [x] #11392 — Remove browser use
- [x] #11414 — Remove built-in skills mechanism
### Phase 4: Skills Infrastructure Restoration (Batch 3) ✅
17. ✅ Cherry-pick #11102 (skill mode dropdown) — resolved 44 conflicts (skills infra restoration)
18. ✅ Cherry-pick #11157 (improve Skills/Slash Commands UI) — resolved 48 conflicts
19. ✅ Cherry-pick #11414 (remove built-in skills) — resolved 30 conflicts
20. ✅ Cherry-pick #11392 (remove browser use) — resolved 15 conflicts
21. ✅ Run full test suite
22. ✅ Commit/tag checkpoint: `batch-3-skills-complete`
> Checkpoint tagged: branch `reapply/batch-3-4-5-major-conflicts`, PR [#11475](https://github.com/RooCodeInc/Roo-Code/pull/11475)
### Phase 5: Provider Removals (Batch 4) ✅
23. ✅ Cherry-pick #11253 (remove Grounding checkboxes) — resolved 4 conflicts
24. ✅ Cherry-pick #11297 (remove 9 providers) — resolved 18 conflicts
25. ✅ Run full test suite
26. ✅ Commit/tag checkpoint: `batch-4-removals-complete`
> Checkpoint tagged: branch `reapply/batch-3-4-5-major-conflicts`, PR [#11475](https://github.com/RooCodeInc/Roo-Code/pull/11475)
### Final
27. Run complete test suite (`pnpm test`)
28. Run linter (`pnpm lint`)
29. Manual smoke test of key flows (delegation, skills, providers)
30. Tag final checkpoint: `reapplication-complete`
---
## 7. Appendix: Reapplication Complete Summary
All 37 reapplicable PRs have been cherry-picked across Batches 14 (PRs #11473, #11474, #11475). 5 PRs have been permanently excluded as AI-SDK-dependent (see §8). The reapplication effort is **complete** at 37/42 PRs.
---
## 8. Excluded PRs (AI SDK Dependent — Will Not Be Reapplied)
The following 5 PRs depend on the AI SDK type system (`@ai-sdk/azure`, `RooMessage`, `readRooMessages`, `saveRooMessages`) introduced by AI SDK PRs #11380/#11409. They will **not** be reapplied or re-implemented.
| PR# | Title | Reason |
| ------ | --------------------------- | ---------------------------------------------------------------------------- |
| #11315 | Azure Foundry provider | Imports `@ai-sdk/azure`; entire provider is AI SDK dependent |
| #11374 | Azure Foundry fix | Depends on #11315 (Azure Foundry provider) |
| #11379 | Harden delegation lifecycle | Imports `RooMessage` types, `readRooMessages`, `saveRooMessages` from AI SDK |
| #11418 | Delegation reopen flow | Depends on #11379's `RooMessage` infrastructure |
| #11422 | Cancel/resume abort races | Depends on #11418 |
> **Rationale:** The AI SDK migration is not being pursued. These PRs are tightly coupled to the AI SDK type system and cannot be cherry-picked or meaningfully adapted without that dependency. The earlier delegation chain (#11281#11302#11331#11335) is clean, already merged in Batch 1, and provides sufficient delegation support without these PRs.