diff --git a/CodexBarMobile/Research/048-v054-upstream-sync/00-overview.md b/CodexBarMobile/Research/048-v054-upstream-sync/00-overview.md index f07e56e72..484ad19a5 100644 --- a/CodexBarMobile/Research/048-v054-upstream-sync/00-overview.md +++ b/CodexBarMobile/Research/048-v054-upstream-sync/00-overview.md @@ -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。 ## 分支证据 @@ -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 范围 diff --git a/CodexBarMobile/Research/048-v054-upstream-sync/02-development.md b/CodexBarMobile/Research/048-v054-upstream-sync/02-development.md index 60a7ad6ae..611717c35 100644 --- a/CodexBarMobile/Research/048-v054-upstream-sync/02-development.md +++ b/CodexBarMobile/Research/048-v054-upstream-sync/02-development.md @@ -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`产品代码。 diff --git a/CodexBarMobile/Research/048-v054-upstream-sync/03-testing.md b/CodexBarMobile/Research/048-v054-upstream-sync/03-testing.md index e8f164778..5cf000b3e 100644 --- a/CodexBarMobile/Research/048-v054-upstream-sync/03-testing.md +++ b/CodexBarMobile/Research/048-v054-upstream-sync/03-testing.md @@ -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仍未直接实测 | ## 关键命令与结果 @@ -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` / @@ -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替代验证约束。 diff --git a/CodexBarMobile/Research/README.md b/CodexBarMobile/Research/README.md index 11acd4ff4..8981b32a3 100644 --- a/CodexBarMobile/Research/README.md +++ b/CodexBarMobile/Research/README.md @@ -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 |