Skip to content

PowerShell: add foreach abstract-state analysis - #101

Merged
Aaronontheweb merged 1 commit into
devfrom
feature/v03-pwsh-state
Aug 7, 2026
Merged

PowerShell: add foreach abstract-state analysis#101
Aaronontheweb merged 1 commit into
devfrom
feature/v03-pwsh-state

Conversation

@Aaronontheweb

Copy link
Copy Markdown
Owner

Summary

  • propagate bounded PowerShell foreach bindings and working-directory state across ordered, empty, and fixed-point iterations
  • model current-runspace versus child-host state, failure-aware Set-Location outcomes, provider and command-resolution mutations, and variable-writing parameters
  • fail closed on unsupported module-qualified mutations, alternate PowerShell parameter dashes, unmodeled pipeline transfers, dynamic Invoke-Expression loop transfers, and transition-budget overflow
  • synchronize the locked spec, OpenSpec scenarios, implementation plan, executable corpus, design corpus, and live PowerShell oracle coverage

Security review

The exact staged snapshot was adversarially reviewed. Review found and drove fixes for alternate parameter dashes, module-qualified mutation bypass, computed Invoke-Expression state poisoning, and Set-Location/common-writer outcome composition. Final disposition: GO with no commit-blocking findings.

Validation

  • openspec validate v0-3-structured-shell-analysis --strict
  • dotnet build -c Release --no-restore
  • dotnet test -c Release --no-build --no-restore: 1,916 passed
  • pwsh ./scripts/Add-FileHeaders.ps1 -Verify
  • dotnet format --verify-no-changes --no-restore
  • slopwatch analyze -d . --hook --no-baseline --fail-on warning
  • git diff --check

@Aaronontheweb
Aaronontheweb enabled auto-merge (squash) August 7, 2026 18:09
@Aaronontheweb
Aaronontheweb merged commit 75316c2 into dev Aug 7, 2026
2 checks passed
@Aaronontheweb
Aaronontheweb deleted the feature/v03-pwsh-state branch August 7, 2026 18:11
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.

1 participant