Repository navigation
[GOV.32] Remove the ContentSandbox macOS launch-profile code and keep the typed fail-closed refusal - #173
Merged
Conversation
Implements P2-023 (macOS outside the delivery scope) for the ContentSandbox helper: the macOS App-Sandbox and XPC launch-profile deliverable is removed and the typed fail-closed macOS refusal stays. - Delete src/DesktopHelpers/ArcForges.ContentSandbox/macos/ArcForges.ContentSandbox.entitlements and its row in eng/provenance/files.json (the only provenance change). - ProfileEnforcement.ThisPlatform becomes ContentSandboxProfileKind? and is null off Windows and Linux. HelperEntry compares the frame profile with it unchanged, so every launch frame there, including one carrying MacOsAppSandboxXpc, exits with the isolation-unavailable code (70) before any resource or parser. The Windows and Linux branches are unchanged. - Tests/MacProfileTests.cs is refusal-only: the broker refuses a macOS launch, the reserved value stays wire-stable (3) and is never this platform's profile, the Windows (1) and Linux (2) kinds are unchanged, a helper process given a MacOsAppSandboxXpc frame exits 70, and a helper given its own platform kind passes the profile gate (exit 64 at the bootstrap descriptor check). - Tests/ContractFacadeTests.cs: the non-Windows, non-Linux refusal check applies to every such operating system, not only macOS. No other test changed. - README macOS lines (ArcForges.ContentSandbox and ArcForges.ContentSandbox.Broker) and the doc comments of the reserved MacOsAppSandboxXpc value in ContentSandboxTypes.cs and ContentSandboxLaunchFrame.cs state that macOS is not supported. The value is unchanged. Write scope: the GOV.32 record files only, with no ADP-07 supporting files. Windows and Linux containment is unchanged. ContentSandboxLauncher.cs (the macOS refusal) and HelperEntry.cs are not edited. Validation (local, not CI): - Windows, SDK 10.0.400 from C:/Users/J7Rdm/.dotnet: locked restore, build with 0 warnings and 0 errors, ContentSandbox tests 110 total, 101 passed, 9 opt-in OS checks skipped, 0 failed. The five MacProfileTests pass. - WSL2 Debian 13 on kernel 6.18.40.1-microsoft-standard-WSL2, SDK 10.0.400, Linux-native copy at ~/gov32: the same counts; the five MacProfileTests pass. - Policy gates (python -I, with the repo eng directory added to sys.path): design_policy, dependency_policy, licence_boundary --evaluate-managed (61 projects), runtime_ownership --evaluate-managed (7 repositories), reconciliation, native_provenance, check_provenance --owner DesktopPlatform (973 files), reference_baselines, stage_integration verify (0 findings). Unit suites for these gates and tests/tooling all pass. - Not run locally: architecture_evidence.py secret (RP-09 needs the hosted secret-scan job) and the nine Windows OS-isolation checks, which are opt-in and need a published hostile fixture. - Static scan: App-Sandbox, XPC and entitlements references remain only in the reserved enum values, the broker's macOS refusal (ContentSandboxLauncher.cs), the null ThisPlatform, and the tests. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Contributor
Author
|
Reviewed 45343a4 for [GOV.32] (ContentSandbox macOS profile code removal): approved Independent reviewer session w-deku-20261008-rev-gov-32, which authored none of this. Posted by the coordinator under the 2026-10-08 publication protocol. Round 1, by inspection:
Validation was not yet run in that round. Round 2, approved with full validation under SDK 10.0.400:
Non-blocking: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Claim: GOV.32 epoch 1 (w-deku-20261008-gov-32)
Task record: governance lane, task-gov-32. Authority: P2-023, under which macOS is outside the delivery scope. The task was added by the planning repair Design #341 / Plan #457.
What this changes
src/DesktopHelpers/ArcForges.ContentSandbox/macos/ArcForges.ContentSandbox.entitlementsand itseng/provenance/files.jsonrow.ProfileEnforcement.ThisPlatforma nullableContentSandboxProfileKind?that is null on every OS other than Windows and Linux.HelperEntrycompares the frame profile with it unchanged, so every launch frame there, including one carrying the reservedMacOsAppSandboxXpc, exits with the isolation-unavailable code (70) before any resource or parser is reached. The Windows and Linux branches are unchanged.Tests/MacProfileTests.csto cover refusal only. It checks that:MacOsAppSandboxXpcframe exits 70.Tests/ContractFacadeTests.cs: the refusal check covers every non-Windows, non-Linux OS.No change to Windows or Linux containment.
ContentSandboxLauncher.cs(the macOS refusal) andHelperEntry.csare not edited.Validation (independent reviewer runs)
--evaluate-managedand--evaluate-ide), reference baselines, runtime ownership, architecture naming evidence, reconciliation, provenance, native provenance and stage-integration verify all pass, as do theeng,tests/toolingandstage_integrationunit suites.eng/packagingunit suite: needs pack output first, which hosted package-validation produces.🤖 Generated with Claude Code