docs(c04): 新增 第26章 配置迁移即代码#32
Merged
Merged
Conversation
11 个 migration 串成一条 set-rerun 流水线,三类搬迁(设置层级 / 模型字符串 / 改名清理重置)的幂等契约与顺序事实。 风格双亲:docs/03-状态管理.md, docs/17-Settings-系统.md source_commit: 290fdc9481a70612bc5823aa4ed225c52c52aad3 Co-authored-by: multica-agent <github@multica.ai>
- §3.1 / §五-第五: 「只读写 userSettings、不读 merged」改为针对 5 段改写 字符串的迁移;resetProToOpusDefault 走 getSettings_DEPRECATED() 是例 外,因为它不改 model 字段、仅决定横幅时间戳。 - §3.2: 显式补充 resetProToOpusDefault 用 merged settings 判断默认值, 以及为什么这里读 merged 安全。 - §五-第四: 「迁移绝不抛 / 所有写入都包在 try/catch 里」修正为「显式 try/catch(4 段)+ 幂等早退靠版本号兜底(7 段)」,逐段列出锚点。 Co-authored-by: multica-agent <github@multica.ai>
Co-authored-by: multica-agent <github@multica.ai>
Co-authored-by: multica-agent <github@multica.ai>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要
新增第 26 章《配置迁移即代码》,覆盖
migrations/目录 11 个迁移文件与main.tsx的runMigrations()调度。全新增章节(v1 无对应),交付 100% 新增内容。290fdc9481a70612bc5823aa4ed225c52c52aad3docs/03-状态管理.md、docs/17-Settings-系统.mdR-1 风格双亲实证
风格双亲 1:
docs/03-状态管理.md(v1 原文摘抄)继承的写法要点:用「为什么 X 值得单独讲?」型场景式破题,先把"这件事到底有多复杂 / 为什么常规手段不顶用"摆出来,再给一句粗体一句话答案,然后再进入正文铺细节;每一层 / 每一条都拿到一个可命名的小标题,散文里穿插
file:line锚点而不是把锚点堆成开头列表。风格双亲 2:
docs/17-Settings-系统.md(v1 原文摘抄)继承的写法要点:用"看似简单 / 实际多场景"对照拉开张力,再用一条粗体结构化短句把全章答案概括成一个名词短语;正文里同一组相邻文件 / 相邻字段用编号小节平行展开("5 + 1 层"对应到本章「3 + 5 + 3」三组迁移),并在每一段尾巴用一句话归纳"这一类做的事到底是什么"。
本章新写摘抄 1(开篇与破题,对应风格双亲 1 的"为什么单独讲")
本章新写摘抄 2(小节归纳,对应风格双亲 2 的"分层平行展开 + 一句话归纳")
OC-R Round-2 修订
针对 OC-R Round-1 verdict 的 3 个 blocking 已修复:
migrateAutoUpdatesToSettings:25-60、migrateBypassPermissionsAcceptedToSettings:21-39、migrateEnableAllProjectMcpServersToSettings:33-117、resetAutoModeOptInForDefaultOffer:31-49),另外 7 个 (migrateSonnet1mToSonnet45、migrateLegacyOpusToCurrent、migrateSonnet45ToSonnet46、migrateOpusToOpus1m、migrateFennecToOpus、migrateReplBridgeEnabledToRemoteControlAtStartup、resetProToOpusDefault) 没有 try/catch,靠"读写同源 / completion flag 早退 + 外层版本号失败不写"兜底。文案改为**「显式 try/catch(4 段)+ 幂等早退靠版本号兜底(7 段)」** 的精确两套机制。resetProToOpusDefault.ts:26-30走的是getSettings_DEPRECATED()(merged)。修正为:「只读写 userSettings」是给 5 段改写模型字符串的迁移(migrateSonnet1mToSonnet45/migrateLegacyOpusToCurrent/migrateSonnet45ToSonnet46/migrateOpusToOpus1m/migrateFennecToOpus)的纪律;resetProToOpusDefault是例外——它不改 model 字段、只决定横幅时间戳,所以读 merged 不会触发 silent global promotion。§3.2 同步补充了它走getSettings_DEPRECATED()这一事实与解释。章节结构
runMigrations()与 set-rerun 守门员CI 自检(Round-2 重跑)
备注
gh pr merge,等尧哥手动合。