rdmsm4x-changelog-20260916-1424-airfleet-universal2-developerid-signing-notarization
rdmsm4x-changelog-20260916-1424-airfleet-universal2-developerid-signing-notarization
Summary
Resolved TASK-20260909-02 by building Universal2 fat
binaries (x86_64 arm64) for both AirFleet.app
and airfleet CLI, validating 4/4 unit tests, signing with
Developer ID
(Developer ID Application: east coast science, llc (ZU2882L4HT)),
hardened runtime (0x10000), secure timestamp, notarizing
via ecs-notary profile
(a5d4f1f0-98ae-413c-91d5-e9db41f21619), stapling the
ticket, preserving the stapled bundle, zip archive, and receipt in
~/dev/_handoff/airfleet-signed-20260916/, and committing
Docs/release-evidence/RECEIPT.md to
rdmsm4x:~/dev/apps/AirFleet pushed to fleet
remote (git.ecs0.net:git/apps/AirFleet.git).
Scope & Repositories Touched
- Canonical Host:
rdmsm4x - Project:
AirFleet(~/dev/apps/AirFleet) - Remote:
fleet(git.ecs0.net:git/apps/AirFleet.git) - Handoff Directory:
/Users/richh/dev/_handoff/airfleet-signed-20260916/ - Worktree:
/Users/richh/dev/_worktrees/airfleet-signed-task-20260909-02(removed after verification)
Changes Made
- AirFleet
build.sh:- Compiles release slices for
arm64andx86_64in separate scratch paths (.build/release-arm64and.build/release-x86_64). - Merges architecture slices via
lipo -createfor bothdist/airfleet(CLI) anddist/AirFleet.app/Contents/MacOS/AirFleet(bundle executable). - Enforces Universal2 lipo architecture gate (
lipo -archsassertingx86_64 arm64). - Packages
AirFleet.appbundle structure withInfo.plist,PkgInfo, andAppIcon.icns. - Signs CLI with Developer ID + hardened runtime + timestamp.
- Signs, notarizes, and staples
AirFleet.appviaecs_sign_notarize.zsh.
- Compiles release slices for
- Pre-signing Tests:
swift test: 4 / 4 passed in 0.565s (100.0% pass rate).
- Preserved Artifacts:
~/dev/_handoff/airfleet-signed-20260916/AirFleet.app(Stapled Universal2 application bundle)~/dev/_handoff/airfleet-signed-20260916/airfleet(Signed Universal2 CLI executable)~/dev/_handoff/airfleet-signed-20260916/AirFleet.zip(Ditto archive ofAirFleet.app)~/dev/_handoff/airfleet-signed-20260916/RECEIPT.md(Release evidence & checksum receipt)
- In-Repo Receipt:
Docs/release-evidence/RECEIPT.mdcommitted at348750fonmain, pushed tofleetremote.
Verification Evidence
swift test: 4/4 passed (100.0%)lipo -archs dist/AirFleet.app/Contents/MacOS/AirFleet:x86_64 arm64lipo -archs dist/airfleet:x86_64 arm64codesign -dvvv --verify --strict dist/AirFleet.app:Authority=Developer ID Application: east coast science, llc (ZU2882L4HT)flags=0x10000(runtime)Notarization Ticket=stapled
spctl -a -vv -t exec dist/AirFleet.app:accepted,source=Notarized Developer IDxcrun stapler validate dist/AirFleet.app:The validate action worked!xcrun notarytool info a5d4f1f0-98ae-413c-91d5-e9db41f21619 --keychain-profile ecs-notary:status: Accepted
Rollback / Undo
- Git revert commit
348750finapps/AirFleet.