gut(backend+docs): remove autoAllowSkills from exec-approvals (#2538)#2557
Merged
alexey-pelykh merged 1 commit intomainfrom Apr 24, 2026
Merged
Conversation
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 #2538. Follow-up to #2524 / #2535 (UI side, merged at
b13e053c7d). The skills marketplace is gutted per CLAUDE.md § Fork Context ("What's being removed");autoAllowSkillsis dead weight — runtime no longer reads it, UI no longer sends it. This PR strips the residual backend schema field and the user-facing docs surface.Pure subtraction: 3 insertions, 27 deletions across 5 files.
Scope
In scope (per issue):
docs/tools/exec.md,docs/tools/exec-approvals.md,docs/gateway/security/index.md)In scope (surfaced during polish review, same-feature orphans):
docs/gateway/protocol.md— "Node helper methods" subsection documenting the guttedskills.binsRPC "for auto-allow checks". The RPC itself was gutted in gut: close #2337 AC grep gaps — stale vi.mock + dangling gateway method entries #2413/gut: close #2337 AC grep gaps — stale vi.mock + dangling gateway methods (#2413) #2448; this doc line was missed.Out of scope (explicitly deferred):
apps/macos/Sources/RemoteClaw/*.swift— 19 hits acrossSystemRunSettingsView.swift,ExecApprovals.swift,ExecApprovalEvaluation.swift. Native gut is coordinated under spike(native): audit Android/iOS/macOS for gutted-feature parallels (deferred per native-release policy) #2527 (native-release policy).docs/refactor/*.md— historical audit docs tracking the gut work itself (docs-gutted-feature-audit.mdexplicitly references gut(backend+docs): remove autoAllowSkills from config schema and documentation #2538 as the tracker). These are meta-documentation; their references describe the cleanup, not a feature surface, and are preserved by design.Changes
src/gateway/protocol/schema/exec-approvals.tsautoAllowSkillsfromExecApprovalsPolicyFields(spreads into bothExecApprovalsDefaultsSchema+ExecApprovalsAgentSchema)docs/tools/exec.mdautoAllowSkillsis a separate convenience path..." paragraphdocs/tools/exec-approvals.mdautoAllowSkillskeys from JSON schema example; remove entire## Auto-allow skill CLIssection (12 lines); trim "or skill auto-allow" from allowlist-chaining prosedocs/gateway/security/index.mdautoAllowSkillsfrom exec-drift parenthetical; deletetools.exec.auto_allow_skills_enabledaudit-code table row (nosrc/emitter — verified via grep)docs/gateway/protocol.md### Node helper methodssubsection documentingskills.binsRPC "for auto-allow checks"Risk assessment
Low. Pure subtraction; no runtime behavior change.
On-disk
~/.remoteclaw/exec-approvals.jsonwithautoAllowSkills: Existing files that still carry the field will be gracefully ignored. The field is dropped on first UI round-trip because the UI's typed state (ExecApprovalsDefaults/ExecApprovalsAgentinui/src/ui/controllers/exec-approvals.ts) no longer declaresautoAllowSkillsafter #2535, and no code path insrc/validates the stored file againstExecApprovalsFileSchemaon load (verified: zerovalidateExecApprovalsSet/ExecApprovalsFileSchemaconsumers outside the protocol export barrel). The strictadditionalProperties: falsevalidator only runs against incoming RPC params, not the stored file at rest.Acceptance criteria
grep -rn 'autoAllowSkills' src/ docs/returns zero hits in user-facing surfaces (macOS native + audit docs excluded per scope — see above)pnpm checkgreen — format (5113 files) + lint (3926 files) + typecheck + CSS class drift: 0 warnings, 0 errorspnpm testgreen — 7010 passed, 3 skipped across 799 test files; 288 passed in parallel suitepnpm test:ui:smokegreen — 12 passed, 2 suitesapps/macos/anddocs/refactor/)AC interpretation note on
grep -rn 'autoAllowSkills' src/ docs/After issue #2538 was filed, PR #2551 (
docs(audit): inventory docs/** refs to gutted features) mergeddocs/refactor/docs-gutted-feature-audit.mdanddocs/refactor/ui-test-fixture-audit-2528.md, which are historical/meta audit documents cataloging the gut work. Those files mentionautoAllowSkillsto describe the removal being tracked — they are not feature surface. The audit doc explicitly classifies the three user-facing hits as STALE and links to #2538 as the tracker; those hits are what this PR eliminates. Interpreting the AC's "zero hits indocs/" strictly would require stripping the very wordautoAllowSkillsfrom the entries that track the PR itself, which would break the audit trail. The semantic intent (purge the feature from user-facing documentation) is met.Verification
throwing-stub-callers0 violations;zombie-importsclean;stub-debtbaseline126 == 126unchanged;obsolescence-auditbaseline49 == 49unchangeddocs/gateway/protocol.mddocumenting the guttedskills.binsRPC; iter-3 CLEAN)🤖 Generated with Claude Code