rdmsm4x-changelog-20260916-1550-ainetnode-developer-id-signed-notarized
rdmsm4x-changelog-20260916-1550-ainetnode-developer-id-signed-notarized
AINetNode next build signed with Developer ID, notarized, stapled, and preserved in handoff per DEC-20260909-03 (TASK-20260909-01).
Summary & Scope
- Host:
rdmsm4x - Application: AINetNode
(
rdmsm4x:~/dev/apps/AINetNode) - Ticket:
TASK-20260909-01underEPIC-20260909-01 - Identity:
agy@rdmsm4x/9eff3d0a
Work Completed
- Pre-signing Unit Tests: Executed
swift testin isolated worktree; verified 31 / 31 unit tests passed (100.0%) across 4 suites (AINetNodeChallengeTests: 7 passed,AINetNodeM2IntegrationTests: 2 passed,AINetNodeTests: 12 passed,AdversarialStressTests: 10 passed) in 18.317s. - Universal2 Slices & Assembly:
- Updated
build.shto compile separatearm64andx86_64release slices into.build/release-arm64and.build/release-x86_64. - Merged universal fat binaries (
x86_64 arm64) fordist/ainetnode(CLI binary),dist/ainetnoded(daemon binary), anddist/AINetNode.app/Contents/MacOS/AINetNode. - Structured
AINetNode.appbundle metadata (Support/Info.plist,Support/AppIcon.icns,PkgInfo).
- Updated
- Developer ID Code Signing & Hardened Runtime:
- Unlocked signing keychains using
fleet_sign_unlock. - Identified and resolved SIGPIPE (141) in
~/dev/lib/app-baseline/scripts/ecs_sign_notarize.zshunderpipefail(replacedgrep -qwithgrep >/dev/null, committed asf85dae8and pushed tobackup/main). - Signed
dist/ainetnodeCLI with Developer ID (ZU2882L4HT),--options runtime, and--timestamp. - Signed
dist/ainetnodeddaemon with Developer ID,--options runtime, and--timestamp. - Signed
dist/AINetNode.appwith Developer ID,--options runtime, and--timestamp.
- Unlocked signing keychains using
- Notarization & Stapling:
- Submitted
AINetNode.appto Apple notary service using profileecs-notaryviaecs_sign_notarize.zsh. - Submission ID:
7d440969-41bd-4c8f-9049-078394706dc2(Status:Accepted, "Ready for distribution"). - Stapled notarization ticket to
AINetNode.app. - Validated staple via
xcrun stapler validate("The validate action worked!"). - Verified Gatekeeper assessment via
spctl -a -vv -t exec(accepted,source=Notarized Developer ID).
- Submitted
- Preserved Artifacts in Handoff:
- Preserved in
/Users/richh/dev/_handoff/ainetnode-signed-20260916/:AINetNode.app(Stapled universal application bundle)AINetNode.zip(Created viaditto -c -k --keepParent)ainetnode(Universal Developer ID signed standalone CLI binary)ainetnoded(Universal Developer ID signed standalone daemon binary)RECEIPT.md(Complete verification evidence and notarization receipt)
- Preserved in
- In-Repo Release Evidence & Push:
- Tracked receipt in
Docs/release-evidence/RECEIPT.md. - Committed changes (
build.sh,Docs/release-evidence/RECEIPT.md) onmainat commit8f1f3d3. - Pushed commit to
fleetremote (git.ecs0.net:git/apps/AINetNode.git) andbackupremote.
- Tracked receipt in
- Verification & Cleanup:
- Verified handoff directory via
ls -labefore removing worktree. - Removed worktree
/Users/richh/dev/_worktrees/ainetnode-signed-task-20260909-01and task branch. - Appended verification receipt comment to
TASK-20260909-01and resolved the ticket. - Broadcast resolution to fleet agent bus
(
agent_msg.zsh).
- Verified handoff directory via