Skip to content

Commit ca47f9c

Browse files
Prepare 0.3.0-alpha.4 release (#138)
1 parent 7dad0fe commit ca47f9c

4 files changed

Lines changed: 36 additions & 2 deletions

File tree

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<Nullable>enable</Nullable>
99
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
1010
<VersionPrefix>0.3.0</VersionPrefix>
11-
<VersionSuffix>alpha.3</VersionSuffix>
11+
<VersionSuffix>alpha.4</VersionSuffix>
1212
</PropertyGroup>
1313
<PropertyGroup>
1414
<!-- Target framework matrix -->

IMPLEMENTATION_PLAN.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -599,6 +599,11 @@ priorities.
599599
[NuGet package](https://www.nuget.org/packages/ShellSyntaxTree/0.3.0-alpha.3)
600600
and [GitHub prerelease](https://github.com/Aaronontheweb/ShellSyntaxTree/releases/tag/0.3.0-alpha.3)
601601
preserve the v0.2 projection and the existing public v0.3 API.
602+
- [ ] Publish `0.3.0-alpha.4` with the reviewed authored-command completeness
603+
correction. Netclaw must validate default-mode static PowerShell commands
604+
without requiring ambient profile, module, alias, function, `PATH`,
605+
inherited-variable, or prior-runspace proofs. Unknown and source-mutated
606+
policy facts must remain strict.
602607
- [x] Replace the pre-alpha consumer preview with the v0.3 occurrence-based
603608
authorization loop and separate syntax-display guidance. Document exact,
604609
finite, pattern, unknown, joined-cwd, redirect, incomplete-result,

RELEASE_NOTES.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,35 @@
1212
results require a consumer-owned, versioned DTO or explicit serializer
1313
mapping that fails closed on unknown node and enum values.
1414

15+
#### 0.3.0-alpha.4 2026-08-09 ####
16+
17+
This prerelease corrects PowerShell occurrence completeness to describe the
18+
authored command text instead of ambient command resolution. It does not
19+
change the public v0.3 API surface, and the conservative v0.2 projection
20+
remains available.
21+
22+
## Changed
23+
24+
- Keep static authored PowerShell commands, pipeline stages, decoded child
25+
commands, and proved script-block receivers complete under the default
26+
initial-state mode.
27+
- Use an explicit native or `.ps1` path spelling to select authored argument
28+
binding without inspecting the executable, `PATH`, profiles, modules,
29+
aliases, functions, inherited variables, or prior runspace state.
30+
- Keep unqualified `.ps1` binding, dynamic command identities, computed
31+
execution, unknown receivers, and unsupported executable syntax strict.
32+
33+
## Security and compatibility
34+
35+
- Preserve `Unknown` effective loop values when the submitted source does not
36+
prove the runtime binding value.
37+
- Invalidate later command proofs after a matching mutation that is visible in
38+
the submitted source.
39+
- Keep provider-sensitive repeated loops incomplete when an unknown path could
40+
mutate command resolution before a later visit.
41+
- Preserve all public signatures, the v0.2 compatibility projection, and the
42+
491-case generated PowerShell corpus.
43+
1544
#### 0.3.0-alpha.3 2026-08-09 ####
1645

1746
This prerelease adds the PowerShell state and value proofs needed for the

openspec/changes/v0-3-structured-shell-analysis/tasks.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@
191191
completeness, while explicit source mutations, computed identities, hidden
192192
execution, and unsupported syntax remain strict. Preserve the existing
193193
`PwshInitialStateMode` API shape.
194-
- [ ] 7.2c Implement authored-command completeness for default-mode static
194+
- [x] 7.2c Implement authored-command completeness for default-mode static
195195
PowerShell commands, pipelines, decoded children, and known script-block
196196
receivers without weakening explicit mutation or dynamic-execution checks.
197197
- [x] 7.3 Derive exact and finite string domains without treating pipeline objects as literal strings.

0 commit comments

Comments
 (0)