Skip to content

build: ship LICENSE and third-party notices with the app and DMG - #9

Merged
austinkennethtucker merged 2 commits into
mainfrom
fix/third-party-notices
Sep 22, 2026
Merged

austinkennethtucker merged 2 commits into
mainfrom
fix/third-party-notices

Conversation

@austinkennethtucker

Copy link
Copy Markdown
Contributor

Work package WP1 of docs/MACOS-BETA-MILESTONE.md (stacked on #8; retarget to main after it merges).

  • New THIRD_PARTY_NOTICES.md: Nav Center MIT pointer; vendor/atsim snapshot record (upstream, commit cc37c5b1…, copied 2026-09-15, not built/bundled/executed) with the upstream licensing statement and a literal PENDING UPSTREAM CONFIRMATION marker. No license text or copyright holder is invented; that is owner decision U3.
  • scripts/build-and-run.sh fails before swift build if LICENSE or the notices file is missing and stages both into Contents/Resources.
  • scripts/package-beta-dmg.sh copies both to the DMG root; --distribution exits non-zero while the marker is present; --local unchanged apart from the extra files.
  • scripts/verify-vendor.py requires the notices file to name vendor/atsim and the UPSTREAM commit; prints the pending gate and exits 0.
  • Docs: DEPENDENCIES, RELEASE, PUBLIC_RELEASE_CHECKLIST.
  • Tests: test_build_stages_license_and_notices_into_resources, test_build_fails_before_swift_when_license_or_notices_missing, test_local_package_places_license_and_notices_beside_app_in_image, test_distribution_refuses_pending_notice_placeholder, VendorNoticeTests.test_notices_reference_snapshot_commit_and_path, VendorNoticeTests.test_verify_vendor_reports_pending_confirmation_without_failing.

Verification (local, Xcode 27 / macOS 27 arm64):

  • python3 -B -m unittest discover -s scripts/tests: 67 passed, 4 CLI opt-in skips.
  • bash -n scripts/*.sh, python3 -B scripts/verify-vendor.py (prints the pending line, exit 0), git diff --check, committed-range whitespace check: clean. git diff --stat vendor/: empty.
  • Real scripts/package-beta-dmg.sh --local build: Contents/Resources contains AppIcon.icns, LICENSE, THIRD_PARTY_NOTICES.md; the mounted image root contains Nav Center.app, Applications, LICENSE, THIRD_PARTY_NOTICES.md.
  • No Swift sources changed; CI runs the native suite.

Delegation ledger: implementation grok grok-4.7 effort high, 506 s, 1,140,130 tokens, $0.39, completed (codex gpt-5.6-sol refused on usage limit until 2026-09-25). Adversarial review grok grok-4.7 effort high, 664 s, 543,763 tokens, $0.31, completed: no findings, merge-ready.

🤖 Generated with Claude Code

Add THIRD_PARTY_NOTICES.md at the repository root. It records the
vendor/atsim review snapshot (upstream, commit, copy date, not built or
bundled) with the upstream licensing statement and an explicit
"PENDING UPSTREAM CONFIRMATION" marker instead of invented license text.

build-and-run.sh refuses to build without LICENSE and the notices file
and stages both into Contents/Resources. package-beta-dmg.sh copies both
to the DMG root and refuses a --distribution build while the pending
marker remains; --local still produces the unsigned image.
verify-vendor.py now requires the notices file to name vendor/atsim and
the snapshot commit and reports the pending gate without failing.

Six release-script tests cover staging, the pre-build failure, the DMG
root listing, the distribution refusal and the vendor notice checks.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@austinkennethtucker
austinkennethtucker changed the base branch from docs/macos-beta-milestone to main September 22, 2026 19:03
@austinkennethtucker
austinkennethtucker merged commit 511c925 into main Sep 22, 2026
6 of 7 checks passed

This branch is waiting to be deployed

1 waiting deployment
claude 7382fe03 Waiting Sep 22, 2026 by austinkennethtucker via Claude Code pull request review #22
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