Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
b060a58
Add Apple Silicon modernization design spec
erikng May 11, 2026
31813ee
Add Apple Silicon modernization implementation plan
erikng May 11, 2026
24bebe0
Refactor build script for Apple Silicon
erikng May 12, 2026
85599c2
Move signed pkg to outputs/ before notarization
erikng May 12, 2026
3525f58
Drop --no-binary directives (use prebuilt arm64 wheels)
erikng May 12, 2026
e4ea005
Remove minimal and no_customization build flavors
erikng May 12, 2026
560b0b4
Update README for Apple Silicon, single-flavor build
erikng May 12, 2026
91480ef
Fix PYTHON_BASEURL format string slot count
erikng May 12, 2026
73f524e
Bump Python package pins to latest with cp313 arm64 wheels
erikng May 12, 2026
700848e
Force writable perms on existing FRAMEWORKDIR
erikng May 12, 2026
10a76b1
Revert RP_SHA to fb4dd9b (last known-good for Apple Silicon)
erikng May 12, 2026
7773030
Drop --no-unsign and bump RP_SHA to 8ee72fe
erikng May 12, 2026
982881a
Enable Dependabot for GitHub Actions
erikng May 12, 2026
39c591a
Bump 3.11/3.12/3.13 to latest patches; switch to long-flag script inv…
erikng May 12, 2026
1f9922e
Add Python 3.14.5 build workflow
erikng May 12, 2026
c06e814
Mark 3.9 and 3.10 as final releases; switch to long-flag script invoc…
erikng May 12, 2026
24bd176
Document validation findings in design spec and plan
erikng May 12, 2026
3f9727a
Remove orphaned requirement_files/ directory
erikng May 12, 2026
0614679
Add Python 3.9 holdbacks for 12 more packages
erikng May 12, 2026
0518f79
tests
erikng May 12, 2026
bc3ba05
Record cross-version validation results
erikng May 12, 2026
5f3cdae
Modernize CI: macos-26 runner, drop pinned Xcode path, bump action pins
erikng May 12, 2026
9e1033e
Bump CI actions to actual latest stable releases
erikng May 12, 2026
c7b4685
remove py 3.9 and 3.10
erikng May 12, 2026
6788370
Merge branch 'main' into claude
erikng May 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Record cross-version validation results
All six Python versions (3.9.13, 3.10.11, 3.11.9, 3.12.10, 3.13.13,
3.14.5) now build, install, and smoke-test cleanly on Apple Silicon.
Update spec acceptance criteria from ⏳ to ✅ and reference the test
record. Add note about the 13-package 3.9 holdback set in the
Validation Findings section.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
  • Loading branch information
erikng and claude committed May 12, 2026
commit bc3ba05cd18c28af75bb7bcff9e3c00074219c34
Original file line number Diff line number Diff line change
Expand Up @@ -226,13 +226,11 @@ pyobjc==12.1; python_version >= "3.10"
pyobjc==11.1; python_version < "3.10"
```

This is the only holdback discovered. All other native-code packages (`cffi`, `charset-normalizer`, `PyYAML`, `tomli`, `xattr`) ship universal2 wheels for cp39 through cp314 at their latest versions; pure-Python packages install on any Python 3.x. Fixed in `f9c0853`.
A second sweep during cross-version validation surfaced 12 more packages whose latest versions declare `requires_python >= 3.10`: `black`, `cfgv`, `click`, `filelock`, `flake8-bugbear`, `identify`, `isort`, `platformdirs`, `pre-commit`, `pycparser`, `requests`, `urllib3`. Each got the same dual-pin treatment, pinning the latest 3.9-compatible release for `python_version < "3.10"`. 3.10 / 3.11 / 3.12 / 3.13 / 3.14 use the modern pins unchanged. Fixed in `f9c0853` (pyobjc) and `f83f774` (the other 12).

### Acceptance criteria — actual results

- ✅ `./build_python_framework_pkgs.zsh --python-version 3.13.13` succeeds end-to-end on Apple Silicon, produces an installable framework zip, and the resulting `managed_python3` runs `import objc, xattr, requests, yaml` on arm64.
- ✅ Same for 3.14.5.
- ⏳ Cross-version validation for 3.9 / 3.10 / 3.11 / 3.12 — pending local runs.
- ✅ `./build_python_framework_pkgs.zsh --python-version <X.Y.Z>` succeeds end-to-end on Apple Silicon for all six supported Python versions (3.9.13, 3.10.11, 3.11.9, 3.12.10, 3.13.13, 3.14.5). Each produces an installable framework zip; `managed_python3 --version` reports the correct version, `platform.machine()` returns `arm64`, and `import objc, xattr, requests, yaml` succeeds in every framework. Test record: `docs/superpowers/plans/2026-05-11-apple-silicon-modernization-tests.md`.
- ✅ Five workflow files updated to long-flag invocation; `build_python_3.14.yml` added.
- ✅ Dependabot enabled for GitHub Actions.
- ⏳ Final releases for 3.9 / 3.10 — pending the manual `workflow_dispatch` after merge.
Expand Down