rdmsm4x-changelog-20260916-1333-firmwaredb-universal2-developerid-signing-notarization
rdmsm4x-changelog-20260916-1333-firmwaredb-universal2-developerid-signing-notarization
Summary
Resolved TASK-20260909-09 by creating
build.sh for firmwaredb, building universal2
binaries (x86_64 arm64) for both CLI and macOS GUI
application bundle, signing with Developer ID
(Developer ID Application: east coast science, llc (ZU2882L4HT)),
hardened runtime (0x10000), secure timestamp, notarizing
via ecs-notary profile
(1ca01d58-34ed-4d95-bb4d-ca0785136076), stapling the
ticket, and verifying Gatekeeper acceptance
(source=Notarized Developer ID) per DEC-20260909-03.
Scope & Repositories Touched
- Canonical Host:
rdmsm4x - Project:
firmwaredb(~/dev/apps/firmwaredb) - Shared library:
~/dev/lib/app-baseline(bugfix inscripts/ecs_sign_notarize.zshfor zsh read-only variable collision and status string trimming) - Worktree:
/Users/richh/dev/_worktrees/firmwaredb-signing-task-20260909-09
Changes Made
- Added
build.shinfirmwaredb:- Compiles release slices for
arm64andx86_64into dedicated scratch directories (.build/release-arm64and.build/release-x86_64). - Merges architecture slices via
lipo -createfor bothfirmwaredb(CLI) andfirmwareDB.app/Contents/MacOS/firmwareDB(GUI application). - Enforces Universal2 lipo architecture gate (
lipo -archsassertingx86_64 arm64). - Assembles
dist/firmwareDB.appbundle withInfo.plist,PkgInfo, and resources. - Integrates Developer ID signing and Apple notarization via
~/dev/lib/app-baseline/scripts/ecs_sign_notarize.zsh.
- Compiles release slices for
- Fixed
~/dev/lib/app-baseline/scripts/ecs_sign_notarize.zsh:- Renamed zsh read-only variable
statustonotary_statuson lines 49-50. - Trimmed whitespace on extracted status to avoid mismatch with
"Accepted".
- Renamed zsh read-only variable
- Committed and Merged:
- Worktree branch
task/firmwaredb-signing-task-20260909-09committed atf7625b1and fast-forward merged intomainofrdmsm4x:~/dev/apps/firmwaredb. - Bugfix in
app-baselinecommitted at59cfd70.
- Worktree branch
Verification Evidence
- Unit Test Suite:
swift test: 68/68 passed in 0.345s (0 failures, 100% pass rate).
- Universal2 Architecture Gate:
lipo -archs dist/firmwareDB.app/Contents/MacOS/firmwareDB:x86_64 arm64lipo -archs dist/firmwaredb:x86_64 arm64
- Codesign Verification:
codesign -dvvv --verify --strict dist/firmwareDB.app:- Valid on disk, satisfies designated requirement.
Authority=Developer ID Application: east coast science, llc (ZU2882L4HT)flags=0x10000(runtime)TeamIdentifier=ZU2882L4HTNotarization Ticket=stapled
- Apple Notary Service:
- Profile:
ecs-notary - Submission ID:
1ca01d58-34ed-4d95-bb4d-ca0785136076 - Status:
Accepted,statusSummary: Ready for distribution,issues: null.
- Profile:
- Stapler & Gatekeeper:
xcrun stapler validate dist/firmwareDB.app:The validate action worked!spctl -a -vv -t exec dist/firmwareDB.app:accepted,source=Notarized Developer ID,origin=Developer ID Application: east coast science, llc (ZU2882L4HT).
Rollback / Undo
- Git revert commit
f7625b1inapps/firmwaredb. - Git revert commit
59cfd70inlib/app-baseline.
Addendum: Preservation & Delivery (2026-09-16 13:45 EDT)
Per portfolio lead verification requirement:
- Re-built Universal2 slices in worktree
/Users/richh/dev/_worktrees/firmwaredb-preserve-20260916. - Signed with Developer ID (hardened runtime + timestamp), submitted
to Apple notary service (Submission ID:
0a882bf0-431a-435f-b5ac-99e56e65a12a, statusAccepted), and stapled. - Preserved release artifacts in
/Users/richh/dev/_handoff/firmwaredb-signed-20260916/:firmwareDB.app(Stapled Universal2 application bundle)firmwaredb(Signed Universal2 CLI executable)firmwareDB.zip(Ditto archive offirmwareDB.app)RECEIPT.md(Full checksum and verification report)
- Added and committed in-repo release evidence:
docs/release-evidence/RECEIPT.mdcommitted at26c2b24onmaininrdmsm4x:~/dev/apps/firmwaredb.
- Hand-off directory existence and integrity verified prior to worktree removal.