Skip to content

gut(backend+docs): remove autoAllowSkills from exec-approvals (#2538)#2557

Merged
alexey-pelykh merged 1 commit intomainfrom
gut/exec-approvals-autoallowskills-2538
Apr 24, 2026
Merged

gut(backend+docs): remove autoAllowSkills from exec-approvals (#2538)#2557
alexey-pelykh merged 1 commit intomainfrom
gut/exec-approvals-autoallowskills-2538

Conversation

@alexey-pelykh
Copy link
Copy Markdown

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"); autoAllowSkills is 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):

  • Backend TypeBox schema field
  • 3 user-facing doc files (docs/tools/exec.md, docs/tools/exec-approvals.md, docs/gateway/security/index.md)

In scope (surfaced during polish review, same-feature orphans):

Out of scope (explicitly deferred):

Changes

File Change
src/gateway/protocol/schema/exec-approvals.ts Drop autoAllowSkills from ExecApprovalsPolicyFields (spreads into both ExecApprovalsDefaultsSchema + ExecApprovalsAgentSchema)
docs/tools/exec.md Remove the 3-line "autoAllowSkills is a separate convenience path..." paragraph
docs/tools/exec-approvals.md Drop 2 autoAllowSkills keys from JSON schema example; remove 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 exec-drift parenthetical; delete 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 skills.bins RPC "for auto-allow checks"

Risk assessment

Low. Pure subtraction; no runtime behavior change.

On-disk ~/.remoteclaw/exec-approvals.json with autoAllowSkills: 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 / ExecApprovalsAgent in ui/src/ui/controllers/exec-approvals.ts) no longer declares autoAllowSkills after #2535, and no code path in src/ validates the stored file against ExecApprovalsFileSchema on load (verified: zero validateExecApprovalsSet/ExecApprovalsFileSchema consumers outside the protocol export barrel). The strict additionalProperties: false validator 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 check green — format (5113 files) + lint (3926 files) + typecheck + CSS class drift: 0 warnings, 0 errors
  • pnpm test green — 7010 passed, 3 skipped across 799 test files; 288 passed in parallel suite
  • pnpm test:ui:smoke green — 12 passed, 2 suites
  • No existing config files in the repo tree carry the field (verified via grep excluding apps/macos/ and docs/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) merged docs/refactor/docs-gutted-feature-audit.md and docs/refactor/ui-test-fixture-audit-2528.md, which are historical/meta audit documents cataloging the gut work. Those files mention autoAllowSkills to 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 in docs/" strictly would require stripping the very word autoAllowSkills from 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

  • Fork-integrity gates: throwing-stub-callers 0 violations; zombie-imports clean; stub-debt baseline 126 == 126 unchanged; obsolescence-audit baseline 49 == 49 unchanged
  • Polish converged in 3 fresh-context iterations (iter-1 found 2 orphans using snake_case + prose variants; iter-2 found 1 same-feature orphan in docs/gateway/protocol.md documenting the gutted skills.bins RPC; iter-3 CLEAN)

🤖 Generated with Claude Code

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>
@alexey-pelykh alexey-pelykh enabled auto-merge (squash) April 24, 2026 18:28
@alexey-pelykh alexey-pelykh merged commit 5bd0ced into main Apr 24, 2026
16 checks passed
@alexey-pelykh alexey-pelykh deleted the gut/exec-approvals-autoallowskills-2538 branch April 24, 2026 18:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

gut(backend+docs): remove autoAllowSkills from config schema and documentation

1 participant