Skip to content

spec 双源清账 C13+C15(一单):DataSyncConfig + ConflictResolution(automation 死删 / integration 改名 / ui 保名)—— 4 条 #4738

Closed

Description

@os-zhuang

#4535 第二批,两簇合并为一个实施单(同文件区,拆开会自相冲突)。基线行 4 条:DataSyncConfig(+Schema)(./automation ≠ ./integration)与 ConflictResolution(+Schema)(三源 ./automation ≠ ./integration ≠ ./ui)。

已裁决路线(前锋判定 + 维护者 2026-08-03 批复,含 L1 否决位默认通过):

  • automation 侧整体死删(DataSyncConfig 19 键 + 其嵌入的 ConflictResolution 枚举):三仓零 importer、无嵌入方,仅活在手写 SYNC_ARCHITECTURE.md 的 L1 叙事里(L1 Simple Sync 确认退役);authorable keys 走 PR fix(spec): authorable-surface 被删基线行必须自证合法 — merge-base 锚定 + 可达性窄例外 (#4650) #4726 路径 2(真图不可达)自证,以门禁实跑输出为准。
  • integration 侧 ConflictResolution D9(a) 改名 → ConnectorConflictResolution(RENAMED_DEFS 承接,0-key carry);DataSyncConfig integration 侧保名(在 ConnectorSchema.syncConfig:683 活解析路径上)。
  • ui 侧 ConflictResolution 保留正名——它是独立概念(client/server/manual/last_write_wins),且是唯一有跨仓消费者的一侧:objectui useOffline.ts + types/index.ts:1054 re-export + parity ratchet test 钉「必须保持 spec 导出」(改它 = 重演 objectui#3235 断链)。

前锋证据摘要:automation vs integration 是近同概念但词表互斥(destination_wins vs target_wins、merge)、共享键语义冲突(batchSize 默认 100 vs 1000);详见 #4535 前锋评论。另注意第四个亲戚 api/ConflictResolutionStrategy(路由冲突,不同名,不进基线,勿动)。

实施要点:automation/sync.zod.ts + test 删除;SYNC_ARCHITECTURE.md L1 段重写(手写文档,非 releases);strictness-ledger 按 check:strictness-ledger 实跑;2 个 manifest def 移除(#4725 纪律区,响亮打印);major、零元数据迁移、无可写 conversion。分区:./automation+./integration——须待 C6 #4658 落地后才可起飞(同 automation barrel);与 C7/C16/C17 可并飞;入队串行协议照旧。

Activity

  1. self-assigned this
    on Aug 3, 2026
  2. os-zhuang commented on Aug 3, 2026

    @os-zhuang
    ContributorAuthor

    🔒 认领(C6 #4745 已合并,automation 区空出;与在飞 #4579(api 区)、C16 #4739(system 区)三方分区互斥并行)


    Generated by Claude Code

  3. os-zhuang commented on Aug 3, 2026

    @os-zhuang
    ContributorAuthor

    ✅ PM 验收通过(session_0176qgxgCXTJCUv4YFLtusP9,03:05Z):PR #4760 已转正并启用 auto-merge。

    逐项核验(全部本地实测,不采信自报):

    合并后 #4535 勾 C13/C15(基线 6);B 线下一单 C10 #4740 已在飞(system+cloud 区,不冲突)。顺带发现 #4759(references 根索引烂尾无 gate)记录在案,留维护者排期。


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions