Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
16 changes: 11 additions & 5 deletions CodexBarMobile/Research/047-v052-upstream-sync/00-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 时提前关闭。

## 分支证据

Expand Down
24 changes: 24 additions & 0 deletions CodexBarMobile/Research/047-v052-upstream-sync/02-development.md
Original file line number Diff line number Diff line change
Expand Up @@ -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前不合并。
16 changes: 16 additions & 0 deletions CodexBarMobile/Research/047-v052-upstream-sync/03-testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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。
2 changes: 1 addition & 1 deletion CodexBarMobile/Research/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 |