gut: close #2337 AC grep gaps — stale vi.mock + dangling gateway methods (#2413)#2448
Merged
alexey-pelykh merged 1 commit intomainfrom Apr 21, 2026
Merged
gut: close #2337 AC grep gaps — stale vi.mock + dangling gateway methods (#2413)#2448alexey-pelykh merged 1 commit intomainfrom
alexey-pelykh merged 1 commit intomainfrom
Conversation
…ns RPC + dangling gateway methods (#2413) Closes the final AC grep gaps from #2337 after the provider/model cascade landed via #2350 / #2364 / #2373. Three classes of survivors removed: - Stale `vi.mock("../agents/model-catalog.js", ...)` block in `remoteclaw-tools.session-status.test.ts` — mocks a module deleted in #2350 - Dangling gateway method-list entries for handlers removed in #2350 — `skills.bins`, `models.list` in method-scopes.ts; `models.list`, `skills.status`, `skills.bins`, `skills.install`, `skills.update` in server-methods-list.ts - Active runtime call to `skills.bins` RPC in `node-host/runner.ts` that fails at node-host startup (handler was removed in #2350). Deletes the `SkillBinsCache` class, `resolveSkillBinTrustEntries` + `resolveExecutablePathFromEnv` helpers, the RPC call, and cascades the dead `SkillBinsProvider` / `SkillBinTrustEntry` types from `invoke-types.ts` + `invoke.ts` handler signature cleanup Also bumps `.fork-boundary-mock-baseline` 134 → 133 to lock in the improvement from removing the dead model-catalog mock. Verification: - `git grep "model-catalog\|modelSupportsVision\|loadModelCatalog" src/` → zero - `git grep "models\.list\|skills\.bins\|skillsHandlers\|modelsHandlers" src/` → zero - `pnpm check` passes, `pnpm test` passes (7010/7010), zombie-import gate passes Part of #2337. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This was referenced Apr 21, 2026
alexey-pelykh
added a commit
that referenced
this pull request
Apr 24, 2026
…#2557) Follow-up to #2524/#2535 (UI side). The skills marketplace is gutted per CLAUDE.md § Fork Context; `autoAllowSkills` is dead — runtime no longer reads it, UI no longer sends it. Strips the residual backend schema field and user-facing docs surface. - `src/gateway/protocol/schema/exec-approvals.ts`: drop `autoAllowSkills` from `ExecApprovalsPolicyFields` (spreads into both Defaults + Agent schemas, so removal cascades to both) - `docs/tools/exec.md`: remove the "autoAllowSkills is a separate..." paragraph - `docs/tools/exec-approvals.md`: drop 2 keys from the JSON schema example, remove the entire "## Auto-allow skill CLIs" section (12 lines), trim "or skill auto-allow" from allowlist-chaining prose - `docs/gateway/security/index.md`: drop `autoAllowSkills` from the exec-drift parenthetical; delete the `tools.exec.auto_allow_skills_enabled` audit code table row (no `src/` emitter — verified via grep) - `docs/gateway/protocol.md`: delete the now-empty "Node helper methods" subsection documenting the `skills.bins` RPC "for auto-allow checks" — the RPC itself was gutted in #2413/#2448, the doc line was missed Out of scope (deferred): - `apps/macos/Sources/RemoteClaw/*.swift` — per #2527 (coordinated native gut wave) - `docs/refactor/*.md` historical audit docs — track the gut work itself and remain as historical records Verification: - `pnpm check` (format + tsgo + oxlint + css-class-drift): green - `pnpm test`: 7010 passed, 3 skipped across 799 files; 288 passed in parallel suite; 12/12 UI smoke - Fork-integrity gates (throwing-stub-callers, zombie-imports, stub-debt, obsolescence-audit): all clean, baselines unchanged 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
Closes the last AC grep gaps from #2337 after the provider/model cascade landed via #2350 / #2364 / #2373. Pure-deletion cleanup across 3 classes of survivors.
Changes
Gap A — stale test mock
src/agents/remoteclaw-tools.session-status.test.ts: remove 17-linevi.mock("../agents/model-catalog.js", ...)block (mocks a module deleted in gut(providers): re-apply provider/model cascade after v2026.3.7 sync regression #2350; nothing in the test path ever exercised it)Gap B — dangling gateway method entries (handlers removed in #2350)
src/gateway/method-scopes.ts: dropskills.binsfromNODE_ROLE_METHODS,models.listfromREAD_SCOPEsrc/gateway/server-methods-list.ts: dropmodels.list,skills.status,skills.bins,skills.install,skills.updateGap C — active RPC call with no handler
src/node-host/runner.ts: delete theSkillBinsCacheclass,resolveSkillBinTrustEntries+resolveExecutablePathFromEnvhelpers, theclient.request("skills.bins", {})RPC call (which was failing at node-host startup), and cascade-remove 3 orphaned importssrc/node-host/invoke.ts: drop_skillBins: SkillBinsProviderparam fromhandleInvoke+ import + re-exportsrc/node-host/invoke-types.ts: delete now-deadSkillBinsProvider+SkillBinTrustEntrytypesHygiene
.fork-boundary-mock-baseline134 → 133: lock in the improvement from removing the dead model-catalog mockScope note: Issue body listed 4 files (test + 2 gateway + runner). Deleting
SkillBinsCachecleanly cascades intoinvoke.ts+invoke-types.ts— 6 src files total, ~120 LoC of pure deletion + 4 insertions (collapsed signature/import formatting).Verification
Both AC greps return zero matches on HEAD:
pnpm check: passes (format, tsgo, lint, all gates green)pnpm test: 7010 passed / 0 failed / 3 pre-existing skippedscripts/check-no-zombie-imports.mjs: exit 0scripts/check-throwing-stub-callers.mjs: 0 violations (this PR REMOVES one throwing-stub caller)scripts/check-stub-debt.mjs: 12 == baseline; fork-boundary-mock 133 == new baselinescripts/check-architecture-smells.mjs: 0 smellsOut-of-scope observations (noted for follow-up, not part of this PR)
method-scopes.tsstill hasskills.status(L66),skills.install(L123),skills.update(L124) — dangling scope classifications without advertised listings. Issue body explicitly scoped only lines 29 and 62; AC verification greps don't cover these. Benign (classify-without-advertise means dispatcher returns UNAVAILABLE anyway). Candidate for a separate minor cleanup.docs/gateway/protocol.mdanddocs/tools/exec-approvals.mdstill referenceskills.bins— stale docs, src/-only AC scope.apps/macos/Sources/RemoteClaw/has a separate SwiftSkillBinsCacheactor callingskills.bins— pre-existing dead Swift path (handler already removed in gut(providers): re-apply provider/model cascade after v2026.3.7 sync regression #2350), not introduced here. Separate issue worthwhile.Part of #2337.