Skip to content

Mac push: macOS's provenance attribute no longer blocks task review and apply (from #2036) #2052

Closed as not planned

Description

@AbirAbbas

This draft was closed, unmerged, when the 2026-10-29 Mac stability and performance push was stopped early to save usage. Its branch is kept: reopen the PR or start from the branch, rebase onto the latest base, and finish the steps below.

PR: #2036 (taskcopy: macOS's own provenance attribute no longer blocks task review and apply)
Branch: fix/darwin-provenance-apply

What it fixes. Portable apply refused every file on macOS because macOS adds com.apple.provenance itself. The branch allows exactly that attribute with its 11-byte value, refuses every other one (quarantine included), and refuses any ACL entry explicitly (macOS ls -l prints '@', not '+', when a file has both). Linux behaviour is unchanged.

Done. Implementation, tests and an adversarial review of the allowlist; rebased onto app/v3 7e40a79.

Left. A full Mac go test ./... and CI comparison on the rebased head; the before/after /task review and /task apply check with workspace ownership on.


🤖 Generated with Claude Code

Activity

  1. added
    bugSomething the code does that it should not
    area:sessionThe engine — turns, tasks, the toolbelt, checkpoints
    on Nov 1, 2026
  2. AbirAbbas commented on Nov 2, 2026

    @AbirAbbas
    CollaboratorAuthor

    Mac check on app/v3 b02df0e: already fixed there by #2086 (merged into app/v3 with #2099), which lets macOS's own com.apple.provenance through and refuses every other attribute, quarantine included, plus ACLs. #2036's two end-to-end tests run on unchanged app/v3 on macOS 15.6 arm64 both pass: TestTaskWorkspaceApplyWithDarwinProvenance and TestTaskWorkspaceApplyRefusesDarwinQuarantine. The ./internal/taskcopy and ./internal/session darwin tests are green too. The rebase now conflicts with that fix. The only thing #2036 adds is pinning the attribute's value to 11 bytes, which the bug doesn't need. Closing as superseded; branch fix/darwin-provenance-apply kept.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:sessionThe engine — turns, tasks, the toolbelt, checkpointsbugSomething the code does that it should notsev:seriousWrong or missing behaviour a person meets in ordinary use

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions