Skip to content

Task/m1 packaging 4 release - #66

Merged
Poordeveloper merged 4 commits into
mainfrom
task/m1-packaging-4-release
Sep 14, 2026
Merged

Poordeveloper merged 4 commits into
mainfrom
task/m1-packaging-4-release

Conversation

@Poordeveloper

Copy link
Copy Markdown
Owner

Class:
Reason:
Escalation triggers:

Goal

Non-goals

Evidence

./scripts/verify

Compatibility

Risk / staging


Does this change touch:

  • the protocol or anything on the wire
  • storage, schema, or durable events
  • runtime or PTY ownership
  • provider integration or the user's provider configuration
  • security, trust, or authorization
  • an architecture invariant or an accepted ADR

Poordeveloper and others added 4 commits September 11, 2026 16:10
…s at that commit

.github/workflows/release.yml runs on v* tags: the tag must name the
workspace version; ubuntu-24.04 and a pinned macos-15 each run verify,
package, the install-surface smoke and the disposable-account smoke on the
tagged commit; the release job merges the two checksum manifests, re-checks
every line, and creates the draft a human publishes. MACOS_MINIMUM becomes
15.0, the pinned image's major (Q16). verify-release's multi-platform line
points at the workflow; README carries the install command, the support
claim and uninstall; scheduled.yml's weekly macOS run is named regression
evidence only.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Upz8uJ32B4RyE1AkthMQJX
…rget, not the runner

The release runner is pinned to macos-15 because macos-14 is marked
deprecated, and Q16 as written would have made the support claim 15.0.
The founder ruled that the runner's major does not bound what the build
supports: MACOS_MINIMUM is 14.0, the deployment target the binaries
compile against, verified on the pinned image. Recorded in the grill's
Amendments with the Q16 row marked; README says macOS 14 or later.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Upz8uJ32B4RyE1AkthMQJX
…rral

Q7 froze com.poordeveloper.corral; the founder changed it while the bundle
is still unreleased. The plist template and the key the package smoke
asserts follow. The Q7 transcript is left as it was and the Amendments
section is the authority, which also carries the consequence for the
notification probe: "the real bundle identity" it must use is this one.
Now is the free moment — TCC keys authorization on the identifier, so a
change after the probe would discard every grant it established.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Upz8uJ32B4RyE1AkthMQJX
…API key

The key is a JSON file carrying issuer_id, key_id and private_key, read
with plutil so no new dependency enters the release path, and defaulted to
the maintainer's ~/.p12/api-key.json so a signed build notarizes without
being told. notarytool wants the private key as a file, so the field is
rebuilt into one inside a 0700 directory that goes away with the script and
never lands in dist/. Only read beside a Developer ID identity: an ad-hoc
bundle cannot be notarized, so an ad-hoc run — which is what verify-release
does — ignores the key entirely. Stapling is validated rather than assumed,
because a ticket that is issued but not attached leaves a machine offline
from Apple seeing an unnotarized app.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Upz8uJ32B4RyE1AkthMQJX
@Poordeveloper
Poordeveloper merged commit 9c7578a into main Sep 14, 2026
0 of 2 checks passed
@Poordeveloper
Poordeveloper deleted the task/m1-packaging-4-release branch September 14, 2026 03:33
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