diff --git a/CodexBarMobile/Research/047-v052-upstream-sync/00-overview.md b/CodexBarMobile/Research/047-v052-upstream-sync/00-overview.md index 5beadbb10..fa31fc663 100644 --- a/CodexBarMobile/Research/047-v052-upstream-sync/00-overview.md +++ b/CodexBarMobile/Research/047-v052-upstream-sync/00-overview.md @@ -20,12 +20,18 @@ Goal 启动时上游已正式发布尚无 monitor issue 的 继续使用尚未完成 public release 的 `1.21.0`;本轮新增内容合并进既有 1.21.0 release notes block,只增加 `CURRENT_PROJECT_VERSION`,不创建 1.22.0。 -本轮已在目标分支完成 merge、Mac/Shared/iOS integration、Mac 与 iOS 测试、CloudKit +本轮先在目标分支完成 merge、Mac/Shared/iOS integration、Mac 与 iOS 测试、CloudKit Production schema 审计、16-case substituted compatibility gate、循环 review、Developer ID -签名与 Apple notarization,并创建仅 draft 的 GitHub release: -[`CodexBar 0.52.0.1-Mobile 1.21.0`](https://github.com/o1xhack/CodexBar-Mobile/releases/tag/untagged-9d15f5c94de6761c5243)。 -没有 push branch、merge、创建/推送 tag、发布 live release、更新 live appcast、上传 TestFlight -或执行 CloudKit deploy;issues #82–#88 留待最终 merge/publication 后再关闭。 +签名与 Apple notarization,并创建仅 draft 的 GitHub release。用户随后单独授权 PR merge、iOS +上传与 Mac live release:PR #93 已合并;iOS `1.21.0 (194)` 已上传且 App Store Connect +`processingState=VALID`;Mac 已从最终 merge commit 重建、重新 notarize,并发布为 +[`v0.52.0.1-mobile.1.21.0`](https://github.com/o1xhack/CodexBar-Mobile/releases/tag/v0.52.0.1-mobile.1.21.0), +live Sparkle appcast 已提交到 `mobile-dev`。CloudKit 结论仍为 `NO_DEPLOY`,未执行 deploy。 + +App Store Connect 尚不存在 iOS App Store version `1.21.0`;创建请求被当前 API key 以 +`403 FORBIDDEN_ERROR` 拒绝,网页登录态也已过期。Build 194 本身不受影响。issues #82–#88 +将在 App Store `1.21.0` 创建并绑定 Build 194、release closeout PR 通过 review gate 后,由该 PR +正文中的 `Closes` 关键字随 merge 自动关闭,而不是在代码 PR #93 merge 时提前关闭。 ## 分支证据 diff --git a/CodexBarMobile/Research/047-v052-upstream-sync/02-development.md b/CodexBarMobile/Research/047-v052-upstream-sync/02-development.md index ffdffe000..23cf7d199 100644 --- a/CodexBarMobile/Research/047-v052-upstream-sync/02-development.md +++ b/CodexBarMobile/Research/047-v052-upstream-sync/02-development.md @@ -151,3 +151,27 @@ Date: 2026-08-17 `e5c21552739f2d6f12a919db7b3a24cd3d7ee889bc37b7c14cb7cc69ba08f779`;远端`mobile-dev` live feed仍为基线hash `dc50741bcdaa85e25862c7e88697e2b13c3a3877ed7c55390b4130c4dafbdc92`, 未执行publication。 + +## Live release与iOS上传closeout(2026-08-19) + +用户在PR #93合并后明确授权iOS上传与Mac live release。正式发布没有复用上述pre-merge +draft binary:先把旧本地产物移到可恢复的临时目录,再从最终`mobile-dev` merge commit +`08c600d2772c9b3736238bd6ea506f67d22381f7`完整重建。 + +- Mac notary submission `4bb6ae06-ea30-42b4-bb06-25414144d044`为`Accepted`;分发ZIP内 + app通过deep strict codesign、Gatekeeper、stapler validate与launch smoke;embedded commit为 + `08c600d27`,CloudKit entitlement仍为`Production`; +- 正式ZIP为`69578358` bytes,SHA-256 + `ebb9bbc1ca5bb2bc1a642a8a864a9f75cebbdfb9a9fc0e693088e58da05bee4f`;dSYM为 + `53854716` bytes,SHA-256 + `b95847bf0e868c82e2d828528e9575323a9adfc033b212820829a74cb9add762`; +- app/dSYM UUID一致:x86_64 `74F21867-A5D5-3252-9E13-E9F8C5BE296C`、arm64 + `353F365B-21A7-32AE-90FA-B80802CE8529`;tag指向`08c600d277...`; +- GitHub release于`2026-08-19T20:06:04Z`发布,Sparkle appcast的 + `124.1.1.21.0 / 0.52.0.1` enclosure、length与EdDSA signature经下载重算验证;appcast commit + 为`8b21d9373ff4ea5ce16e5134636e414d844bdc5e`; +- iOS Archive内所有targets统一为`1.21.0 (194)`,CloudKit为`Production`,app/dSYM UUID匹配, + 编译后的App Icon已目视核对;export/upload成功;ASC build + `d0737ce3-8201-40ef-ae5d-e4ee81ca90ee`于`2026-08-19T12:52:25-07:00`上传并为`VALID`; +- App Store version `1.21.0`尚未创建/绑定:API key不允许`POST /v1/appStoreVersions`,Chrome + 登录态已过期。此项不影响TestFlight build,但release closeout PR在网页绑定194前不合并。 diff --git a/CodexBarMobile/Research/047-v052-upstream-sync/03-testing.md b/CodexBarMobile/Research/047-v052-upstream-sync/03-testing.md index 4d6000162..8d227d826 100644 --- a/CodexBarMobile/Research/047-v052-upstream-sync/03-testing.md +++ b/CodexBarMobile/Research/047-v052-upstream-sync/03-testing.md @@ -27,6 +27,10 @@ Date: 2026-08-17 | CloudKit Production schema audit | pass — `NO_DEPLOY` | last live tag `v0.49.2.1-mobile.1.21.0`到candidate:CloudConstants零diff、UsageSnapshot public fields零diff、schema keyword零source hit;Production readback仍10 types | | Draft release asset/readback | pass | draft ID `372056029`;[draft URL](https://github.com/o1xhack/CodexBar-Mobile/releases/tag/untagged-9d15f5c94de6761c5243);ZIP `69578142` bytes、dSYM `53855298` bytes均uploaded且digest匹配;remote branch/tag不存在,live appcast未改 | | Final review blockers | pass | pricing provenance、published-tag cache迁移、same-name project identity/UI、multi-account attribution findings均修复并复审clean;architecture exact anchors由混杂261项收敛为reviewed 83项;最终whole-branch review为`No actionable regressions`,当前blocker 0 | +| Final merged Mac artifact | pass | 从PR #93 merge commit `08c600d277...`重建;notary `4bb6ae06-ea30-42b4-bb06-25414144d044` Accepted;ZIP embedded commit、Production entitlement、codesign/spctl/stapler与双架构dSYM均通过 | +| Live GitHub release + appcast | pass | [live release](https://github.com/o1xhack/CodexBar-Mobile/releases/tag/v0.52.0.1-mobile.1.21.0)于`2026-08-19T20:06:04Z`发布;appcast commit `8b21d9373`,Sparkle signature/length下载回验通过 | +| iOS upload / processing | pass | `1.21.0 (194)` archive/export/upload成功;ASC build `d0737ce3-8201-40ef-ae5d-e4ee81ca90ee`为`VALID`,uploaded `2026-08-19T12:52:25-07:00` | +| App Store 1.21.0 build selection | pending | ASC当前无`1.21.0` App Store version;API key创建请求返回403,等待网页登录后创建并绑定Build 194;未提交review或public release | 首轮CI-style grouped gate执行`CODEXBAR_TEST_GROUP_SIZE=12 CODEXBAR_TEST_SUITE_TIMEOUT=240 bash Scripts/test.sh`:发现923个selection、77组,全部first-pass @@ -164,3 +168,15 @@ rendering有变化,因此 gate适用。每一行后续必须填 pass/fail/subs **substituted pass**,不是real-device pass。剩余风险集中在真实Production CloudKit传播延迟、 silent push与background delivery、两个独立iPhone cache最终收敛,以及old iOS 193 binary读取 new Mac producer的真实设备行为;这些风险在live/TestFlight授权前无法消除,不被伪装成已实测。 + +## Release closeout readback(2026-08-19) + +- Mac live release不是旧draft asset的直接publication;正式ZIP由最终merge commit重建,remote + digest与本地SHA-256一致,tag peel精确等于`08c600d277...`; +- 正式ZIP为`69578358` bytes,dSYM为`53854716` bytes;x86_64/arm64 UUID分别为 + `74F21867-A5D5-3252-9E13-E9F8C5BE296C`与`353F365B-21A7-32AE-90FA-B80802CE8529`; +- iOS上传已完成Apple服务端处理:Build 194为`VALID`、`expired=false`、icon asset token存在, + pre-release version为`1.21.0`; +- CloudKit Production schema仍只读回看既有10 types,结论保持`NO_DEPLOY`; +- App Store public version build绑定与TestFlight processing是两个独立状态。Build 194已满足后者; + 前者等待恢复网页登录后创建`1.21.0`并绑定194,且不包含App Review submission/public release。 diff --git a/CodexBarMobile/Research/README.md b/CodexBarMobile/Research/README.md index b4e10d97c..38334ac37 100644 --- a/CodexBarMobile/Research/README.md +++ b/CodexBarMobile/Research/README.md @@ -45,4 +45,4 @@ This directory contains research documents for features being considered for Cod | 044 | Subscription Utilization Fresh-Series Fallback (stale session history no longer masks current weekly quota data) | `done` | — | [044-subscription-utilization-freshness-fallback.md](044-subscription-utilization-freshness-fallback.md) | 2026-07-26 | | 045 | v0.47.0 Upstream Sync + iOS 1.20.0 (issue #66 plus authoritative Releases v0.46.0-v0.47.0 as one train; upstream Mac fleet sync isolated from the existing Mobile sync contract) | `done` | Draft complete; CloudKit Production schema deploy and live publication remain separate authorization gates | [045-v047-upstream-sync/00-overview.md](045-v047-upstream-sync/00-overview.md) | 2026-08-03 | | 046 | v0.49.2 Upstream Sync + iOS 1.21.0 (issues #77-#80 plus authoritative v0.49.2; provider plugins/instance identity, generic details, Fireworks/IBM Bob, fleet dedupe) | `done` | Mac `0.49.2.1` live + signed appcast/CLI assets; iOS `1.21.0 (193)` TestFlight `VALID`; CloudKit `NO_DEPLOY`; substituted 16-mask matrix pass | [046-v049-upstream-sync/00-overview.md](046-v049-upstream-sync/00-overview.md) | 2026-08-17 | -| 047 | v0.52.0 Upstream Sync + iOS 1.21.0 build 194 (issues #82-#88 plus authoritative v0.52.0; same iOS marketing version, provider display/sync and project-cost audit) | `done` | Signed/notarized Mac draft ready; CloudKit `NO_DEPLOY`; substituted 16-case matrix pass; push/merge/tag/live release/TestFlight/appcast publish intentionally unperformed | [047-v052-upstream-sync/00-overview.md](047-v052-upstream-sync/00-overview.md) | 2026-08-17 | +| 047 | v0.52.0 Upstream Sync + iOS 1.21.0 build 194 (issues #82-#88 plus authoritative v0.52.0; same iOS marketing version, provider display/sync and project-cost audit) | `done` | Mac `0.52.0.1` live + signed appcast; iOS `1.21.0 (194)` ASC `VALID`; CloudKit `NO_DEPLOY`; substituted 16-case matrix pass; App Store 1.21.0 build binding pending login | [047-v052-upstream-sync/00-overview.md](047-v052-upstream-sync/00-overview.md) | 2026-08-19 |