Skip to content

fix(release): give Windows smoke profiles a private ACL - #458

Merged
Broccolito merged 1 commit into
mainfrom
fix/windows-smoke-private-profile
Oct 25, 2026
Merged

Broccolito merged 1 commit into
mainfrom
fix/windows-smoke-private-profile

Conversation

@Broccolito

Copy link
Copy Markdown
Collaborator

The v1.94.0 Windows release smoke (run 40172006465) failed at Install Setup.exe and run the installed application: the installed daemon exited with

Cannot open private session history at 'D:\a_temp\br-installed-…\profile\data\sessions' … Private storage has a directory writable by another account or an unrecognized ACL

The smoke roots live under RUNNER_TEMP (D:\a\_temp), which inherits the drive root's "Users may create folders" entry. The new private storage (#454) refuses a directory another account can write to. A real profile folder (%APPDATA%) grants only the user, SYSTEM and Administrators, so this change gives the installed and normal smoke roots that same protected ACL. port-release-regression.ps1 already uses the private %TEMP% and is unchanged.

Evidence. The same tree on a diagnostic branch passed every Windows step against the unchanged v1.94.0 draft assets: run 40172436472 (installed app, packaged CLI, daemon and desktop, and the port-release check).

Not changed here. On Windows, owner_private::protect validates a directory's own inherited ACL before restricting it, so storage relocated with BIOROUTER_PATH_ROOT under a shared-writable parent (for example a folder at the root of D:\) is refused even when Biorouter has just created it. macOS and Linux set 0700 and continue. That is security logic and is left for a separate, reviewed change.

The v1.94.0 artifacts will be rebuilt from this commit so the release gate passes at the release's own source commit.

🤖 Generated with Claude Code

The v1.94.0 Windows release smoke failed: the installed daemon refused to
open its session history because the test profile sat under RUNNER_TEMP,
which inherits the drive root's "Users may create folders" entry. Private
storage refuses a directory another account can write to, so the daemon
exited before it served /status.

A real profile folder (%APPDATA%) grants only the user, SYSTEM and
Administrators. Give the installed and normal smoke roots that same
protected ACL. port-release-regression.ps1 already uses the private %TEMP%.

Run 40172436472 passed every Windows step against the v1.94.0 draft assets
with this change.
@Broccolito
Broccolito merged commit c8b8071 into main Oct 25, 2026
19 checks passed
@Broccolito
Broccolito deleted the fix/windows-smoke-private-profile branch October 25, 2026 17:59
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