Skip to content
Merged
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: 9 additions & 7 deletions CodexBarMobile/Research/048-v054-upstream-sync/00-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,13 @@ open upstream-sync issue [#95](https://github.com/o1xhack/CodexBar-Mobile/issues
恢复为原版本,v0.54 新增说明进入单独的 `1.22.0` notes block。

本地闭环已在上述分支完成:product-source head的Mac/iOS full regression、focused
sync/CloudKit/CWL回归、lint、Release build与循环review均通过,`e52a659e0` review为
`Blockers: 0`;随后仅发生1.22版本/说明修正,并通过full lint、iOS Release build与本地diff自查。
Production schema审计结论为`NO_DEPLOY`。16种old/new组合均如实记录为`substituted`,未伪报四台
实体设备验证。按权限边界,本轮没有push、PR、merge、tag、Mac public release、appcast发布、
TestFlight上传或CloudKit deploy;GitHub current-head review仍需在PR创建后执行。
sync/CloudKit/CWL回归、lint、Release build与循环review均通过。随后PR
[#99](https://github.com/o1xhack/CodexBar-Mobile/pull/99)在exact current head取得clean Codex review、
zero review threads与green Fast Checks,并合入`mobile-dev`;merge-triggered Final CI
[32614686853](https://github.com/o1xhack/CodexBar-Mobile/actions/runs/32614686853)全部通过。Mac phase 1已生成
signed/notarized [draft release](https://github.com/o1xhack/CodexBar-Mobile/releases/tag/untagged-b32586f17d599231dee5),
但没有发布live release或appcast。Production schema审计结论为`NO_DEPLOY`。16种old/new组合均如实记录为
`substituted`,未伪报四台实体设备验证;iOS 1.22.0 (195)也尚未上传TestFlight。

## 分支证据

Expand All @@ -35,8 +37,8 @@ TestFlight上传或CloudKit deploy;GitHub current-head review仍需在PR创建
`upstream-sync/v0.54.0-mobile.1.22.0`。分支初始 HEAD 与 `origin/mobile-dev` 相同,worktree clean;
后续 Research、merge、实现、版本和测试始终只在该任务分支进行,没有回到 `mobile-dev` 实现。

本轮未授权 push、PR merge、published tag、live Mac release、appcast publication、
TestFlight upload 或 CloudKit Production deploy。
后续用户分别授权了PR合入与Mac draft phase 1;因此分支已push、PR已merge、draft tag与draft release已创建。
仍未授权或执行live Mac release、appcast publication、TestFlight upload或CloudKit Production deploy。

## Issue 范围

Expand Down
23 changes: 21 additions & 2 deletions CodexBarMobile/Research/048-v054-upstream-sync/02-development.md
Original file line number Diff line number Diff line change
Expand Up @@ -385,10 +385,29 @@ pseudo-account,不增加provider-specific architecture branch或wire字段;
审阅集合仍为95项。Mistral account-native费用分支使用紧邻、具体原因的设计标记,不扩大fork drift;新增源码行使
location fingerprint更新为`469636138625236751`,focused与full-run内的38/38 architecture gate均通过。

当前尚无PR,因此无法发布规定格式的PR comment;创建PR后若review流程继续超过5轮,必须把以上4个非空字段原样
写入PR再请求下一轮
PR #99的GitHub Codex review在第一轮即返回exact-current clean结果,且没有finding thread,因此没有进入第6轮
GitHub review,也无需额外发布architecture audit comment;上述四字段继续作为本地累计review的根因记录

最后两轮把同一cost准确性根因收口到四个边界:费用来源owner从增量快照完全消失时仍须迁移CWL长历史;一次
临时无费用blob不能抹掉该历史所有权;Mistral账号原生费用不得跨账号迁移;损坏或极大的coverage counter不得
整数溢出。对应SwiftData 21/21与CostProvenance 11/11通过,最终Mac Release build在当前HEAD以265.87秒完成。
这部分没有新增CloudKit record/schema字段,`providerPayloadVersion`保持1。

## GitHub 合入与 Mac draft(2026-08-22)

- upstream-sync分支推送后创建PR [#99](https://github.com/o1xhack/CodexBar-Mobile/pull/99);
`PR Fast Checks`通过,exact-current head `4535e55bf47c291f22cc9f883fa2f2b6ffb17272`的Codex review
返回`Didn't find any major issues`,review threads为0,`Scripts/check_pr_review_gate.sh 99`通过;
- PR #99合入`mobile-dev`,merge commit为
`d7eddbc70d133f34e52d903dbdb4e2e9a1af7581`;merge-triggered Final CI
[32614686853](https://github.com/o1xhack/CodexBar-Mobile/actions/runs/32614686853)全部通过;
- 从clean且与`origin/mobile-dev`一致的merge commit运行`./Scripts/release.sh` phase 1;Apple notarization
`d9e78000-ad1b-4133-bb57-7e47d53b42a8`=`Accepted`,签名、staple、Gatekeeper与launch checks通过;
- tag `v0.54.0.1-mobile.1.22.0`指向merge commit;GitHub
[draft release](https://github.com/o1xhack/CodexBar-Mobile/releases/tag/untagged-b32586f17d599231dee5)
已创建并含ZIP/dSYM,远端digest与本地SHA-256一致;未运行`--finalize`,未发布appcast/live release;
- notarized draft在macOS 26.5.2用exact PID验证issue #97:`Command-,`与状态栏`设置…`均打开同一个
retained Settings window,重复打开稳定态仍为1,目标runtime fault日志为0。macOS 27 beta及
active Space/Stage Manager仍为substituted,未伪报physical pass;
- #95/#97均保持open,等待Mac public release公开后逐项回复正式URL并手动`Close as completed`;
- draft后的证据只在`release/v0.54.0.1-draft-evidence` docs-only分支回写,没有直接修改`mobile-dev`产品代码。
52 changes: 47 additions & 5 deletions CodexBarMobile/Research/048-v054-upstream-sync/03-testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,11 @@ Date: 2026-08-22
| Four-language localization | pass | 1.22.0独立Latest notes block;1.21.0恢复已审核内容;新增summary含en / zh-Hans / zh-Hant / ja |
| iOS 1.22 relabel gate | pass | `xcodegen generate`;4个targets均为`MARKETING_VERSION=1.22.0` / build`195`;i18n source-key、README、CI policy、parser-version与changelog extraction通过;版本/说明diff后未重复full test suites |
| CloudKit Production schema audit | `NO_DEPLOY` | production schema成功导出并只读核对;见下节 |
| Local review blockers | pass | 累计94项产品finding均已修复;product-source commit `e52a659e0`定向review为`Blockers: 0`;随后1.22版本/说明diff本地自查为0 blocker,full lint与Release build通过。当前尚无PR,GitHub exact-current-head review仍是merge/release gate |
| Local review blockers | pass | 累计94项产品finding均已修复;product-source commit `e52a659e0`定向review为`Blockers: 0`;随后1.22版本/说明diff本地自查为0 blocker,full lint与Release build通过 |
| GitHub PR / exact-current review | pass | PR [#99](https://github.com/o1xhack/CodexBar-Mobile/pull/99) head `4535e55bf47c291f22cc9f883fa2f2b6ffb17272` 收到 exact-current `Didn't find any major issues`;review threads `0`;`Scripts/check_pr_review_gate.sh 99`通过;merge commit `d7eddbc70d133f34e52d903dbdb4e2e9a1af7581` |
| Merge-triggered Final CI | pass | run [32614686853](https://github.com/o1xhack/CodexBar-Mobile/actions/runs/32614686853) `completed/success`:6/6 macOS shards、2/2 Linux CLI build/test/smoke、lint与provenance/path gate全绿;未重复触发第二次full run |
| Mac signed/notarized draft | pass | `./Scripts/release.sh` phase 1完成;Apple notarization submission `d9e78000-ad1b-4133-bb57-7e47d53b42a8`=`Accepted`;最终ZIP stapled/Gatekeeper/Developer ID/launch验证通过;GitHub [draft release](https://github.com/o1xhack/CodexBar-Mobile/releases/tag/untagged-b32586f17d599231dee5)保持`draft=true` |
| issue #97 packaged Settings QA | substituted | notarized draft在本机macOS 26.5.2实际验证`Command-,`与状态栏`设置…`均打开同一个retained Settings window,重复打开稳定态仍为1个,目标runtime fault日志为0;报告环境macOS 27 beta与active Space/Stage Manager仍未直接实测 |

## 关键命令与结果

Expand Down Expand Up @@ -366,10 +370,47 @@ on-disk WAL、busy timeout、foreign keys、incremental vacuum、锁竞争、级
`swift test --no-parallel` 后,权威serial run仅剩3个真实suite/4 issues:pricing provenance、Grok catalog
sentinel与architecture fingerprint;均已修复并focused复测,最终serial run另行记录。

## GitHub handoff、draft release 与 issue #97 QA

- product PR:[#99](https://github.com/o1xhack/CodexBar-Mobile/pull/99),base `mobile-dev`,head
`4535e55bf47c291f22cc9f883fa2f2b6ffb17272`;PR Fast Checks通过,exact-current Codex review明确返回
`Didn't find any major issues`,GraphQL `reviewThreads.totalCount=0`,merge前review gate通过;
- merge:2026-08-22合入`mobile-dev`,merge commit
`d7eddbc70d133f34e52d903dbdb4e2e9a1af7581`;合并后的Final CI
[32614686853](https://github.com/o1xhack/CodexBar-Mobile/actions/runs/32614686853)最终
`completed/success`,6个macOS shard、2个Linux CLI job、lint与变更审计全部通过;
- phase 1:在clean且与`origin/mobile-dev`一致的merge commit上运行`./Scripts/release.sh`;本地Swift测试按脚本
CI-authoritative策略未重复执行,phase 1自身的full lint、release guards与production universal build通过;
- notarization:submission `d9e78000-ad1b-4133-bb57-7e47d53b42a8`返回`Accepted`;staple/validate、
pre-distribution checks、stapled bundle direct-launch verification均通过;
- tag:`v0.54.0.1-mobile.1.22.0` peel到上述merge commit;只创建tag和draft,没有执行`--finalize`;
- draft:[`untagged-b32586f17d599231dee5`](https://github.com/o1xhack/CodexBar-Mobile/releases/tag/untagged-b32586f17d599231dee5),
`draft=true`、`prerelease=false`,title为`CodexBar 0.54.0.1 Mobile 1.22.0`;
- ZIP:`CodexBar-0.54.0.1-mobile.1.22.0.zip`,71,847,424 bytes,SHA-256
`2fe6db8643dc012e090d1b4355986924f603c533eaf8fa936e4cda2e678e6113`;
- dSYM:`CodexBar-0.54.0.1-mobile.1.22.0.dSYM.zip`,55,609,020 bytes,SHA-256
`20832e39ee6ae2e0054b4e7fc4db0c20ee7e691f2eca914d54488073d104d040`;GitHub asset digest/size
与本地逐项一致;
- authoritative ZIP解包回读:`CFBundleShortVersionString=0.54.0.1`、
`CFBundleVersion=127.1.1.22.0`、`CodexGitCommit=d7eddbc70`、arm64+x86_64;Developer ID
`Yuxiao Wang (3TUERHN53E)`、Gatekeeper `source=Notarized Developer ID`、stapler validate通过;
主app entitlement回读`com.apple.developer.icloud-container-environment=Production`。仓库根目录
`CodexBar.app`是staple前中间产物,不能替代最终ZIP验收;
- issue #97 packaged QA:机器为macOS 26.5.2。先按exact executable path/PID隔离draft,避免同bundle ID的
`/Applications/CodexBar.app`污染证据;draft PID启动前0 window,`Command-,`后1个前台standard Settings
window;重复快捷键与重复状态栏`设置…`在稳定态均保持同一title/position/size与1 window;状态栏入口从0
window重新打开也为1 window;`log show`未出现`SettingsLink`、`runtime-issues`、`showSettingsWindow`或
`showPreferencesWindow`fault。截图:`/tmp/codexbar-v054-draft-settings-reuse.png`;
- 限制:本机不是macOS 27 beta,且未做active Space / Stage Manager跨stage直接验证,因此issue #97的
macOS 27环境证据仍标`substituted`,不能写成macOS 27 physical pass;
- issue [#95](https://github.com/o1xhack/CodexBar-Mobile/issues/95)与
[#97](https://github.com/o1xhack/CodexBar-Mobile/issues/97)在draft阶段均保持`OPEN`;只有Mac public release
公开后才回复正式release URL并手动`Close as completed`。

## CloudKit Production schema audit

- 最后published fork tag:`v0.52.0.1-mobile.1.21.0`;candidate:本分支未tag的
`v0.54.0.1-mobile.1.22.0`;
- 最后published fork tag:`v0.52.0.1-mobile.1.21.0`;candidate tag:
`v0.54.0.1-mobile.1.22.0`(当前仅draft,未公开)
- schema keyword grep无新增record type/field/index/query/zone/subscription;
- `Shared/iCloud/CloudConstants.swift` 相对published baseline无schema diff;
- `providerPayloadVersion` 保持`1`;包括最终新增的optional `sourceUpdatedAt` / `sessionCostIsKnown` /
Expand Down Expand Up @@ -438,5 +479,6 @@ sentinel与architecture fingerprint;均已修复并focused复测,最终seria

本轮没有2 Mac + 2 iPhone old/new实体fleet,因此16行全部如实标`substituted`,不是physical pass。剩余风险:
真实Production record传播、silent push/background delivery、旧`1.21.0 (194)` binary运行行为、四设备并发写入与真实
账号数据未实测;本轮无schema deploy且additive字段在opaque payload内,风险受old/new fixtures、不同history window
fail-incomplete与conservative merge约束。
账号数据未实测;issue #97的macOS 27 beta、active Space与Stage Manager也没有目标环境physical pass。本轮无schema
deploy且additive字段在opaque payload内,风险受old/new fixtures、不同history window fail-incomplete与conservative
merge约束;Settings风险由retained controller/placeholder guard单元测试与macOS 26.5.2 notarized draft UI替代验证约束。
2 changes: 1 addition & 1 deletion CodexBarMobile/Research/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,4 +46,4 @@ This directory contains research documents for features being considered for Cod
| 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 |
| 048 | v0.54.0 Upstream Sync + iOS 1.22.0 build 195 (issue #95 + Settings defect #97; v0.53.0-v0.54.0 as one train; cost provenance/coverage and provider sync audit) | `done` | Local closure complete; ASC-approved 1.21.0 remains separate; 16-case fleet matrix is substituted, and remote release/PR/TestFlight actions remain separately authorized | [048-v054-upstream-sync/00-overview.md](048-v054-upstream-sync/00-overview.md) | 2026-08-22 |
| 048 | v0.54.0 Upstream Sync + iOS 1.22.0 build 195 (issue #95 + Settings defect #97; v0.53.0-v0.54.0 as one train; cost provenance/coverage and provider sync audit) | `done` | PR #99 merged + Final CI green; signed/notarized Mac draft ready; CloudKit `NO_DEPLOY`; 16-case fleet matrix and macOS 27 Settings QA remain substituted; live release/appcast/TestFlight unperformed | [048-v054-upstream-sync/00-overview.md](048-v054-upstream-sync/00-overview.md) | 2026-08-22 |