Skip to content

Qualify lower Apple deployment targets and older runtimes - #49

Draft
ThorFuchs wants to merge 8 commits into
mainfrom
codex/apple-deployment-audit
Draft

ThorFuchs wants to merge 8 commits into
mainfrom
codex/apple-deployment-audit

Conversation

@ThorFuchs

@ThorFuchs ThorFuchs commented Oct 16, 2026 •

Copy link
Copy Markdown
Owner

Change

Prepare an unreleased macOS 14 / iOS and iPadOS 17 deployment candidate without lowering Swift tools/compiler 6.4, language mode 6, or the macOS/SDK 27 native qualification baseline. The eight libraries, swift-json executable, private runtimes, empty root dependency graph and published 1.6.0 tag/assets are preserved.

Native PDF APIs declare OS 26 availability; SDK programmatic transfer helpers retain macOS 15.2/iOS 18.2 availability and the separate SwiftData .codable example stays on OS 27. Markdown transfer uses the exact imported type identifier. Test-only synchronization and precise SDK availability annotations preserve every existing assertion.

Actual older-runtime QA exposed Foundation resolving an opaque URN reference as urn://#/$defs/value, causing operational schema compilation failure. Native RFC 3986 component resolution now shares the existing finite cumulative meter and exact syntax normalization. The frozen 54-vector fixture covers all 42 strict normal/abnormal RFC examples plus opaque/query/empty-component cases. Existing Swift Testing functions add these identities, compiled positive/ordinary-invalid instances and inclusive/one-below cumulative work checks; baseline cardinality remains 695 functions / 325 parameter invocations.

Actual runtime acceptance

Observed ARM64 runtime Outcome
macOS 14.8.9 Passed three public library consumers, 54 URI vectors, eight exact payload fixtures across three disk processes, all 53 CLI cases
macOS 15.7.9 Passed the same matrix
iPhone and iPad simulators, 17.0.1 / 21A342 Both passed the library, URI and disk matrices; no mobile CLI-hosting claim
macOS 26.6.2 Supplementary rolling-26 acceptance passed; does not close exact 26.2
Exact macOS 26.2 Blocked: maintainer confirmed no host is available; no waiver

Final-head runtime workflow builds on the supported native baseline, verifies complete source/binary/resource manifests and executes those exact bytes on older hosts. Each public consumer matrix includes 15 schema-example and 18 navigation cases across all eight libraries. Disk persistence uses the public exact envelope with separate save, reopen/update and verify processes. It does not claim older-OS SwiftData .codable support, physical-device results, or the full native Swift Testing suite on every older OS.

Qualification

  • All final-head Native CI checks passed: Native 39 commands (Debug/Release 695 functions and 325 parameter invocations each), composition nine commands, safety/ASan/TSan/strict-memory compilation, eight DocC catalogs with 1,077/1,077 authored declarations and zero diagnostics, and complete Git-free Native reproduction. Documentation publication was skipped for the PR.
  • All final-head Linux CI checks passed on ARM64 and x86_64: 34 behavior/reproduction commands, nine composition commands and five safety commands per architecture; Debug/Release each 679 functions and 325 parameter invocations. The corrected lane selection excludes only the Apple deployment probe and preserves all independent suites, 49 caps and clean reproduction. Exactly 17 Python harness cases reject incomplete matrices and wrong platform selection.
  • The complete pinned Swift 6.4 WASI lane passed on byte-identical shipping code: 591 functions per Debug/Release configuration, exact parameter inventory, public consumers, 49 caps, independent parser/schema suites, deterministic malformed replay and strict memory safety. Only two Python harness files changed afterward; source/consumer/fixture identity is recorded locally.
  • Intel macOS 14 all-nine-products cross-build passed. This is not an older Intel runtime result.
  • Materialized source archive, runtime binaries, command logs, event streams and source-bound receipts are retained locally under ignored Artifacts/AppleDeployment/RuntimeQualification. Native performance is not newly claimed; controlled changed-workload measurement remains pre-release work on an idle supported host. The existing 10% review trigger and streaming disposition remain unchanged.

Deployment/runtime contract documents the precise boundaries and commands. Original failing receipts are retained as failures, not policy exclusions. Required check names/protections are unchanged. Sibling worktrees and the original checkout are untouched. Keep this PR draft for review; merging, tagging, publication and documentation deployment remain separate.

Final source archive: 1,819,901 bytes / 1,191 entries (1,190 source records plus manifest), SHA-256 82b039b466e40aafdfa6efaa76ec9714208d909b2d9a0aedd2e44a6160874479. Native and both Linux clean reproductions match that exact digest. Actual runtime binaries and materialized evidence are retained in a separate manifest-backed local packet. Parser policy remains 318 observed / 287 evaluated / 31 policy; schema 2,337 / 2,300 / 37. Policy cases are not counted as evaluated successes. The remaining pre-release items are exact 26.2 runtime execution and controlled changed-schema performance measurement; this PR remains draft and no waiver is implied.

This branch has not been deployed

No deployments
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