按你的拍板修订 · commit 47a581c

不拒绝、换个前缀、视图能增量、说人话

五条反馈全部落进设计与代码,CI 绿

1. 不再因为任何风险拒绝

预检从三态变四态,语义改了:blocked 只表示「物理上做不到」,不表示「我不让你做」。

态含义用户怎么办
ok已满足—
autofixable我们代做(可逆、不动数据、不重启)点一次确认
warn有风险,但照跑--accept-risk 或交互确认
blocked读不到变更流 / 没权限 / 连的是副本 —— 现在物理上做不到给可执行动作;做完即通
原本会挡下来的,现在只提示:无主键表(insert-only、不可块级续跑)、超大表(建议改增量)、MyISAM(无事务)、不认识的类型(按 text 落地,标丢语义)。
全产品只剩两处会停:物理做不到,以及私钥文件权限不对(安全底线)。

2. `ds` 是什么 → 已经改掉了

`_ds_` 是早期按 "dbsync" 起的前缀,项目定名津梁后就不合适了。全量改成 _jl_(jinliang),文档/示例/代码一致。

旧新用途
_ds_meta_jl_meta阶段、权威位点、schema 指纹、水位
_ds_lease_jl_lease租约(防双写)
_ds_chunk / _ds_conflict / _ds_dead_letter / _ds_event / _ds_action_jl_*断点 / 冲突 / 死信 / 事件 / 审计
slot ds_job_1jl_job_1我们建的同步书签

3. 视图:你说得对,只是不能 CDC

旧设计写「视图只支持快照」是错的,已改。

能力视图说明
一次性快照✓就是一条 SELECT
定时增量(interval)✓你指定一个水位列(如视图里的 updated_at)+ 重叠回看,不需要变更流
实时增量(CDC)✗视图没有自己的变更流水 —— 物理事实,不是我们的限制
简单投影视图✓跟随基表 CDC + 列映射(二期)

所以选 continuous 时会提示「视图没有变更流,建议改定时增量」,而不是拦下来。

4. 死信与 raw_row 是什么

顺带把「位点 / 书签 / 快照 / 命名空间」都加进了术语表,提示里出现必须同时给白话解释。

5. 不做文档站:提示即文档

按你说的 —— 用户不会读文档,还不如让 AI 助手看代码和日志。

  1. 每条提示/错误自带四段:发生了什么 / 为什么 / 你现在能做什么(含命令)/ 这么做的风险。
  2. 不把文档链接当必要路径;DocURL 只给开发者。
  3. --json 输出升级为一等接口:字段稳定、结构化、便于 CI 与 AI 助手直接读。
  4. docs/ 只服务贡献者与未来的维护者。

现在的状态

设计仍完整(15 份文档),四个包/文件带真测试进 CI:typemap(15 用例,含未覆盖类型 text 兜底)、phase(17 断言)、以及新加的 warn 状态贯穿契约。

可以开 M1只做 PG→PG 闭环CI 双绿 · 47a581c