Skip to content

macOS .pkg: add clean-host fresh-install lane to release acceptance #309

@Jesssullivan

Description

@Jesssullivan

Context

This issue tracks the production macOS pkg clean-host acceptance lane for TCFS Finder/FileProvider. PZM Mac App Development testing-mode evidence is useful lab proof, but it does not replace production Developer ID clean-host Finder acceptance.

Current state as of 2026-05-09

The repo contains the named post-install harness and workflow:

  • scripts/macos-postinstall-smoke.sh
  • .github/workflows/macos-postinstall-smoke.yml
  • workflow_dispatch default runner label: macos-15
  • environment: tcfs-macos-smoke
  • required smoke secrets: TCFS_SMOKE_S3_ENDPOINT, TCFS_SMOKE_S3_BUCKET, TCFS_SMOKE_S3_ACCESS_KEY_ID, TCFS_SMOKE_S3_SECRET_ACCESS_KEY, TCFS_SMOKE_MASTER_KEY_B64

Current PZM testing-mode evidence is green through enumerate, hydrate, evict, rehydrate, mutation upload/readback, and deterministic CLI conflict/status content preservation. The latest recorded PZM runs remain lab/testing-mode proof, not production Finder acceptance.

Remaining blockers

  • Choose and run a production Developer ID clean-host executor: GitHub-hosted macOS with publicly reachable storage, private-network hosted runner, self-hosted VM, or manual Darwin lane.
  • Complete one tagged run that proves published pkg install plus host-app launch, FileProvider domain presence, CloudStorage enumeration, and exact-content hydrate.
  • Keep Finder badges/progress/notification behavior observational until reliable assertions exist.

Acceptance

  • One tagged production Developer ID clean-host run completes with archived logs.
  • The run proves package/install smoke and install-to-first-real-use through enumerate plus hydrate.
  • Any executor-specific failure mode is recorded with an explicit fallback decision.

Refs: #280, docs/ops/macos-fileprovider-reality.md, docs/ops/packaged-install-first-use.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions