gut(ui): strip residual skills state + types + i18n (#2521)#2536
Merged
alexey-pelykh merged 1 commit intomainfrom Apr 24, 2026
Merged
gut(ui): strip residual skills state + types + i18n (#2521)#2536alexey-pelykh merged 1 commit intomainfrom
alexey-pelykh merged 1 commit intomainfrom
Conversation
sweep Shadow fields outlived the skills UI code tree after #2240/#2245 gutted it — no readers remain for any of: - `AgentsPanel` / `agentsPanel` union `"skills"` member - `agentSkills{Loading,Error,Report,AgentId}` view-state fields - `skillsReport` in the host-interface intersection - `SkillStatusReport` type + its import - `tabs.skills` + `subtitles.skills` i18n entries across all 6 locales Type-narrowing deletions only. Smoke suite's host-interface-field assertions auto-update when `AppViewState` is narrowed — validates the contract stays coherent post-deletion. (#2521)
6 tasks
alexey-pelykh
added a commit
that referenced
this pull request
Apr 24, 2026
…follow-up (#2539) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
8 tasks
alexey-pelykh
added a commit
that referenced
this pull request
Apr 24, 2026
…follow-up (#2539) (#2542) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
4 tasks
alexey-pelykh
added a commit
that referenced
this pull request
Apr 24, 2026
Audit `ui/src/**/*.test.ts` for fixtures referencing gutted features (skills marketplace + thinking-level state drivers per #2336 Area 7/8). Result: zero hits across all 7 target tokens — `skills`, `Skills`, `agentSkills`, `autoAllowSkills`, `thinkingLevel`, `chatThinkingLevel`, `thinkLevel`. Cross-verification with case-insensitive sweep of the full `ui/src/` tree confirms prior gut sweeps (#2524, #2536, #2539, #2480) purged the tokens at the source, not just in tests. No DEAD FIXTURE, no MOCK SHIELD, no follow-up issues needed. All 15 UI `vi.mock` call sites target live modules only — no analog to the `runPreparedReply` shield that motivated this spike. Typed exception: SPIKE — AC is the audit inventory, not code changes. Deliverable lives at `docs/refactor/ui-test-fixture-audit-2528.md`. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This was referenced Apr 24, 2026
alexey-pelykh
added a commit
that referenced
this pull request
Apr 24, 2026
Audit `ui/src/**/*.test.ts` for fixtures referencing gutted features (skills marketplace + thinking-level state drivers per #2336 Area 7/8). Result: zero hits across all 7 target tokens — `skills`, `Skills`, `agentSkills`, `autoAllowSkills`, `thinkingLevel`, `chatThinkingLevel`, `thinkLevel`. Cross-verification with case-insensitive sweep of the full `ui/src/` tree confirms prior gut sweeps (#2524, #2536, #2539, #2480) purged the tokens at the source, not just in tests. No DEAD FIXTURE, no MOCK SHIELD, no follow-up issues needed. All 15 UI `vi.mock` call sites target live modules only — no analog to the `runPreparedReply` shield that motivated this spike. Typed exception: SPIKE — AC is the audit inventory, not code changes. Deliverable lives at `docs/refactor/ui-test-fixture-audit-2528.md`. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Strips the last shadow fields left behind when #2240 / #2245 removed the skills UI code tree. None of these had readers; this is a pure type-narrowing cleanup.
Removed:
"skills"fromAgentsPanel+agentsPanelunion typesagentSkills{Loading,Error,Report,AgentId}— 4 dead view-state fieldsskillsReportin the host-interface intersectionSkillStatusReporttype + its import inapp-view-state.tstabs.skills+subtitles.skillsi18n entries across all 6 locales (en,de,es,pt-BR,zh-CN,zh-TW)Safety
Read-only orphans. The TypeScript compiler surfaces any missed consumer (it did not), and the browser-mode smoke suite (
ui/src/ui/app.smoke.test.ts) asserts required host-interface fields on theRemoteClawAppinstance — those assertions auto-narrow whenAppViewStateis narrowed.AC verification
grep -rn 'agentSkills|SkillStatusReport|skillsReport' ui/src/— zero hits ✅grep -rn '"skills"' ui/src/ui/views/agents.ts ui/src/ui/app-view-state.ts— zero hits ✅grep -rn 'agents\.\(panels\|tabs\)\.skills' ui/src/i18n/— zero hits ✅pnpm check— green (format + typecheck + oxlint + CSS class drift audit) ✅pnpm test— 7014 passed, 3 skipped across 800 files ✅pnpm test:ui:smoke— 12 passed across 2 suites ✅Issue body notes
Evidence table in the issue said "7 locales" (there are 6) and named the i18n keys as
agents.panels.skills/agents.tabs.skills; the actual key paths aretabs.skills/subtitles.skillsat lines 32 / 46 inen.ts. Line numbers and intent are unambiguous — deleted the intended two entries per locale.Out-of-scope findings (deferred)
cards.skills.pt-BR.ts,zh-CN.ts,zh-TW.tscarry acards.skillskey absent from theen.tsbaseline. Also dead (no readers). Separate cleanup — not part of this issue's explicit evidence table.ui/src/styles/components.csswith zero consumers. Candidates for a successor gut wave.Test plan
pnpm checkgreenpnpm testgreen (7014 passed)pnpm test:ui:smokegreen (12 passed)Closes #2521.
🤖 Generated with Claude Code