Skip to content

Upgrade ShellSyntaxTree and expand the native approval corpus - #1766

Merged
Aaronontheweb merged 3 commits into
devfrom
feat/shellsyntax-020-approval-integration
Aug 5, 2026
Merged

Upgrade ShellSyntaxTree and expand the native approval corpus#1766
Aaronontheweb merged 3 commits into
devfrom
feat/shellsyntax-020-approval-integration

Conversation

@Aaronontheweb

@Aaronontheweb Aaronontheweb commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Upgrade ShellSyntaxTree from 0.2.0-beta.1 to 0.2.0.
  • Add nine native Bash approval cases to the production approval matrix.
  • Update the review snapshot with the new decisions.

Approval effects

The stable parser removes duplicate prompts for these equivalent commands:

  • git diff install-skills.sh uses the built-in safe git diff rule.
  • kubectl apply deployment.yaml reuses a saved project-scoped kubectl apply approval.

The stable parser also prevents unsafe approval reuse:

  • An external Git or Kubectl path does not use a project-scoped approval.
  • Curl -D /etc/... does not use a project-scoped Curl approval.
  • Tar --info-script cannot use a stored Tar approval.

Recorded consumer gaps

Three rows record current Netclaw gaps for later focused changes:

  • Curl @file syntax can still hide an external file scope.
  • A later external path can still hide behind the first project path.
  • A Git global option can still cause a duplicate prompt.

These rows use clear currently and gap names. Later pull requests can flip their expected results.

This pull request does not change the approval specification. The existing specification already requires stable verb identities and directory scopes.

Validation

  • The original 84 matrix tests passed before the package upgrade.
  • The same 84 tests passed after the package upgrade.
  • The expanded 93-test matrix passed after the final rebase.
  • All 626 Netclaw.Security tests passed.
  • All 2,768 Netclaw.Actors tests passed.
  • The full solution test run passed. Opt-in integration tests skipped as configured.
  • dotnet slopwatch analyze passed with zero issues.
  • pwsh ./scripts/Add-FileHeaders.ps1 -Verify passed.
  • git diff --check passed.

This pull request is the first focused step before PR #1733.

@Aaronontheweb

Copy link
Copy Markdown
Collaborator Author

The macOS failure is unrelated to this approval change. ReminderManagerActorTests used the system clock while the actor used a frozen fake clock. PR #1767 applies the deterministic one-clock fix. After #1767 merges, this PR can rebase and rerun CI.

@Aaronontheweb Aaronontheweb added shell Issues related to the shell tool, since it has the largest security perimeter. security Security-related changes labels Aug 5, 2026
@Aaronontheweb
Aaronontheweb enabled auto-merge (squash) August 5, 2026 18:24
@Aaronontheweb
Aaronontheweb merged commit e8aa558 into dev Aug 5, 2026
21 checks passed
@Aaronontheweb
Aaronontheweb deleted the feat/shellsyntax-020-approval-integration branch August 5, 2026 19:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

security Security-related changes shell Issues related to the shell tool, since it has the largest security perimeter.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant