docs: capture mainland sync-agent blocker

This commit is contained in:
Your Name
2026-04-19 03:00:53 +08:00
parent 66f55d880a
commit 451d0f75f0
3 changed files with 141 additions and 147 deletions

View File

@@ -1,6 +1,6 @@
# IMPLEMENTATION_STATUS
更新时间2026-04-19 02:57 CST
更新时间2026-04-19 03:00 CST
## 当前真实状态
@@ -10,72 +10,36 @@
- 分布式检测真实执行能力:约 `94%`
- 距离“可稳定上线并放心用后台发起检测”:约 `93%~94%`
本轮最重要的新事实:
## 本轮最新结论
- 中央“逐条事件接收与落库”能力已经补齐
- mainland `sync_agent` 自动产 `detect_result_projection` 的缺口也已经补齐
- 当前真正剩余阻塞变成:
- 大陆节点还没把这版代码跑起来并重启 `sync_agent`
这轮只做了只读复查,结论更明确了:
## 本轮结论收口
- 中央接收 `detect_result_projection` 的代码已经就位
- `sync_agent` 自动产 `detect_result_projection` 的代码也已经就位
- 但 mainland 端当前仍未真正跑到新版 `domaincheck-sync-agent`
本轮没有发散做新模块,而是完成了 `J1` 的第二轮最小实现:
## 当前证据拆分
### 1. `detect_result_projection` 已扩展为可带逐条事件
### 1. 代码闭环
当前新增
已经完成
- `recent_domain_events`
- `detect_result_projection` 支持 `recent_domain_events`
- 中央 ingest 会把逐条事件写入 `detect_run_events`
- `sync_agent` 会自动产出 `detect_result_projection`
该字段只承载最小逐条事件:
### 2. 真实运行闭环
- `domain_started`
- `domain_completed`
- `domain_failed`
- `domain_blacklisted`
当前仍未完成:
### 2. 中央 ingest 已具备把投影事件写入 `detect_run_events` 的能力
- `runtime_ingest` 持续刷新
- `detect_result_ingest` 没有刷新
- mainland `domain_*` 事件仍为 0
当前中央在 ingest `detect_result_projection` 时会
这说明
- 提取 `recent_domain_events`
- 以当前中央活跃任务作为展示锚点写入 `detect_run_events`
- 在 payload 中保留:
- `import_source_region`
- `import_source_record_id`
- `import_source_job_id`
- `import_source_job_code`
- `import_fingerprint`
### 3. `sync_agent` 已会自动产出 `detect_result_projection`
本轮新增:
- `app.sync_agent` 每个 tick 会基于当前 `active_job`
- 自动调用 `append_detect_result_projection_if_changed`
这意味着:
- mainland 只要拉到这版代码并重启 `domaincheck-sync-agent`
- 就会自动开始补推 `detect_result_projection`
- 不再依赖额外访问 mainland 检测页面
### 4. 真实端到端仍待 mainland 拉新并重启 `sync_agent`
当前中央实际可见:
- `mainland-controller-01` / `mainland-worker-01` 心跳正常
- `runtime_ingest.updated_at`
- 已刷新到 `2026-04-19 02:55:36`
- `detect_result_ingest.updated_at`
- 仍停在 `2026-04-17 16:57:32`
- `detect_run_events`
- 仍无 mainland `domain_*`
说明:
- mainland 同步链活着
- 但 अभी还没有跑到会自动产新格式投影的这版 `sync_agent`
- mainland 到中央的基础同步链是活的
- 但 mainland 目前还没有跑到新版 `sync_agent`
## 当前已闭合的问题
@@ -85,28 +49,29 @@
- Detect 页面误判“大陆没跑”
- Detect 主统计口径不一致
- Runtime / Queue / Detect 主摘要不统一
- 中央如何接并落大陆逐条事件”的代码缺口
- “mainland 必须人工访问检测页面才会产生 detect_result_projection”的自动触发缺口
- 中央逐条事件接收缺口
- `sync_agent` 自动产出结果投影缺口
## 当前剩余问题
## 当前唯一剩余问题
当前唯一剩余问题:
- mainland 节点尚未完成“拉新代码并重启 `domaincheck-sync-agent`的最后验证
- mainland 节点尚未完成“拉新代码并重启 `domaincheck-sync-agent`
换句话说:
- 当前不是“中央不会接”
- 不是“代码还没写”
- 而是 mainland 还没跑到会自动产新格式投影的这一版
- 现在不是逻辑未实现
- 不是中央映射失败
- 也不是检测任务没跑
- 而是 mainland 仍在跑旧版 `sync_agent`
## 当前是否可以继续跑检测测试
当前结论:
- 可以继续跑检测测试
- 主统计和节点参与已经足够可信
- 逐条账本是否完整,取决于 mainland 是否已经拉到这版代码并重启 `domaincheck-sync-agent`
- 主统计和节点参与已经可信
- 但中央逐条账本仍不能视为 mainland 最终真相
## 当前是否建议直接上线
@@ -119,8 +84,8 @@
那已经基本可用
- 如果目标是:
- 中央账本逐条反映大陆每个域名的终态
现在只差最后一个落地验证动作:
- 中央逐条反映大陆每个域名的终态
差最后一个外部动作:
- mainland 拉新
- 重启 `domaincheck-sync-agent`
@@ -140,8 +105,8 @@
## 完成下一轮后的预期
如果下一轮完成 mainland 拉新重启 `sync_agent` 并验证贯通:
如果下一轮完成 mainland 拉新重启 `domaincheck-sync-agent`并验证贯通:
- mainland `domain_*` 会进入中央
- item 级统一才会真正可落地
- 后续 `detect_job_items` 回写会变成纯工程实现问题
- 整体可上线程度预计提升到 `95%~96%`