ADR-0201: Signing evidence for the reviewed foundation split¶
- Status: Accepted by the owner on 2026-10-13; required signing evidence verified
- Date: 2026-10-13
- Related: ADR-0074, ADR-0107
- Scope: PR #159 only; no general change to the exact-revision release gate
Problem¶
The owner approved splitting the memory recall release into foundation PR #159
and remainder PR #158 because CodeRabbit cannot review more than 300 files.
PR #159 uses codex/memory-recall-foundation; the remainder uses dev.
The signing smoke runs only on dev, and its restricted context admits only
dev and main. The release contract nevertheless requires a signing pass on
the exact revision proposed for main.
CircleCI's current pipeline-trigger API
accepts a branch or tag, not a historical
commit together with the dev branch and run_verify parameter. Rewinding dev
or expanding credential access would introduce unrelated release risk.
One-time decision¶
For PR #159 at 794f80c539eeefc3ece2114b1753d1af4adbc3fa only, accept a
successful hosted apple-signing-smoke on the already reviewed dev revision
c6cdc3f124c5440416be2445faed99d70bac40ec if the following conditions hold:
- The owner explicitly approves this exception before the foundation merge.
- Every file and executable mode under
clients/apple, the complete.circleci/config.yml, andscripts/build_macos_testflight_package.shis identical at both revisions. The comparison covers 167 files. The SHA-256 of the sorted-key, compact JSON manifest is81e8c1e23b4827d12704fee452259d690b5a35338bce54ad7a443f029d94f513. The checked-in Xcode project has no external package or custom script phase that introduces an additional repository input to this archive. - The smoke uses the existing committed workflow, Xcode executor, managed application signing bundle, and restricted installer-signing context. It must verify the application and installer signatures successfully.
- Record the actual tested revision, pipeline and job identities without retagging the pass as a test of the foundation commit. Preserve the input manifest with the release evidence and recheck equality immediately before merging. The generated build number belongs to the smoke pipeline; the foundation's subsequent publication receives its own pipeline number.
- Every other required hosted check passes on the foundation's exact head, all CodeRabbit findings remain resolved, and its production pipeline verifies, deploys and signs the actual merge revision normally.
Any changed signing input or either changed source revision voids this exception. No branch protection, context restriction, workflow filter, credential location, or publication authority changes. PR #158 retains the ordinary exact-head signing requirement. ADR-0199 concerns recall measurements and is not authority for this separate signing exception.
Alternative¶
Keep the foundation merge blocked until an independently approved workflow can run the smoke on its exact commit. A passing unsigned Apple test, an unexecuted signing job, or a later deployment attempt does not satisfy the existing gate.
Evidence¶
Pipeline 1098, signing job 5416
passed on the named dev revision in 67.761 seconds. The 167-file comparison was
rechecked before the foundation merge. All ten foundation verification jobs
passed in pipeline 1095, and both CodeRabbit conversations were resolved. The
release record on PR #159
preserves the tested revision and approved exception. The foundation merged as
81062c5baf52070c032939bba38d74abd8cd4810. Production pipeline 1099 completed
successfully: application, documentation, website and TestFlight upload jobs passed.
All three public release identities matched 20261013-204914-81062c5. This
confirms delivery of the foundation; it does not certify the remaining PR #158 or
Apple's subsequent asynchronous processing and device installation.