Files
pikasTech-unidesk/docs/MDTODO/web-sentinel-runtime-reliability.md
T
Codex 4ac629bc86
Pipelines as Code CI / hwlab-web-probe-sentinel-nc01- Success
Pipelines as Code CI / platform-infra-gitea-nc01- Success
Pipelines as Code CI / unidesk-host- Success
docs: track monitor migration cutover work
2026-07-13 02:52:04 +02:00

65 lines
6.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Monitor / Web 哨兵运行时与持久化
- 范围:Monitor / Web Sentinel 的需求与架构、调度、runner 执行、observe/analyze 终态、报告产物、统一持久化、查询 API、monitor-web 与运行时可靠性。
- 权威路径:遵循 YAML-first;每个阶段只保留一个调度权威和一个持久化/查询权威,不建立旁路 scheduler、永久双写、fallback store 或补洞入口。
## R1 [in_progress]
解决 [UniDesk #1861](https://github.com/pikasTech/unidesk/issues/1861):修复 NC01/v03 Web 哨兵控制面与 cadence 正常但 latest 报告长期不更新的问题,只修既有调度→observe/analyze→产物→SQLite/index→latest 路径,不扩展次生问题,完成任务后将详细报告写入[任务报告](./details/web-sentinel-runtime-reliability/R1_Task_Report.md)。
### R1.1 [in_progress]
单步定位 [#1861](https://github.com/pikasTech/unidesk/issues/1861) 中新 run 未进入 latest 的唯一断点,区分调度、终态、产物、索引和查询层,完成任务后将详细报告写入[任务报告](./details/web-sentinel-runtime-reliability/R1.1_Task_Report.md)。
### R1.2
在 [#1861](https://github.com/pikasTech/unidesk/issues/1861) 边界内实现最小修复和定向测试,由 Artificer 创建独立 PR,不新增旁路或补洞,完成任务后将详细报告写入[任务报告](./details/web-sentinel-runtime-reliability/R1.2_Task_Report.md)。
### R1.3
PR 合并后只等待自动发布链,使用受控 Web sentinel 原入口产生新 run,并验收 latest 返回新鲜非空 run.id/status/updatedAt,完成任务后将详细报告写入[任务报告](./details/web-sentinel-runtime-reliability/R1.3_Task_Report.md)。
### R1.4 [in_progress]
核对 [#1861](https://github.com/pikasTech/unidesk/issues/1861) 的小时级实际探测 cadence 与 10 分钟 scheduler heartbeat/扫描间隔;若只读报告语义误导则纠正字段和文档,若 owning YAML 未生效则修正渲染,验收 CronJob 与报告明确区分二者,完成任务后将详细报告写入[任务报告](./details/web-sentinel-runtime-reliability/R1.4_Task_Report.md)。
## R2 [in_progress]
推进 [UniDesk #1868](https://github.com/pikasTech/unidesk/issues/1868):按当前多 runner、全局查询与 Dashboard 复杂度重构 Monitor 平台,评估并实施分散 SQLite 到 NC01 YAML-first Host PostgreSQL 的统一迁移;P0 先冻结架构、数据模型和切换边界,再实现、自动发布和原入口验收,不以迁移掩盖 [#1861](https://github.com/pikasTech/unidesk/issues/1861),不保留永久双写或第二权威,完成任务后将详细报告写入[任务报告](./details/web-sentinel-runtime-reliability/R2_Task_Report.md)。
### R2.1 [completed]
完成 [#1869](https://github.com/pikasTech/unidesk/issues/1869) 的需求演进、组件职责与复杂度失效边界审计,形成目标架构 must/should/out-of-scope 和候选方案,完成任务后将详细报告写入[任务报告](./details/web-sentinel-runtime-reliability/R2.1_Task_Report.md)。
### R2.2 [completed]
完成 [#1871](https://github.com/pikasTech/unidesk/issues/1871) 的 SQLite 实例、schema、数据规模与生命周期盘点,设计 NC01 Host PG schema、YAML role/database/export、一次性迁移、校验、切换和回滚,完成任务后将详细报告写入[任务报告](./details/web-sentinel-runtime-reliability/R2.2_Task_Report.md)。
### R2.3 [completed]
完成 [#1870](https://github.com/pikasTech/unidesk/issues/1870) 的 service/scheduler/runner API/monitor-web 调用链审计,冻结中心 Monitor 服务拆分、唯一写入/查询权威和故障隔离边界,完成任务后将详细报告写入[任务报告](./details/web-sentinel-runtime-reliability/R2.3_Task_Report.md)。
### R2.4 [in_progress]
按 [#1868](https://github.com/pikasTech/unidesk/issues/1868) 已冻结规格推进实施:先并行完成 [#1875](https://github.com/pikasTech/unidesk/issues/1875) Host PG 前置和 [#1874](https://github.com/pikasTech/unidesk/issues/1874) 中心 service(实际实现由其子任务 [#1876](https://github.com/pikasTech/unidesk/issues/1876) 跟踪);前置合并后完成 [#1872](https://github.com/pikasTech/unidesk/issues/1872) runner ingest/迁移工具;最后完成 [#1873](https://github.com/pikasTech/unidesk/issues/1873) 数据迁移、中心 API/UI/CLI 原子切换、自动 CI/CD 与原入口验收,并退役旧 SQLite/runner dashboard,完成任务后将详细报告写入[任务报告](./details/web-sentinel-runtime-reliability/R2.4_Task_Report.md)。
#### R2.4.1 [in_progress]
修复 [#1873](https://github.com/pikasTech/unidesk/issues/1873) one-shot migration Job 失败时 CLI 只返回 phase=failed/result={} 的可见性缺口:默认有界返回失败 container、phase、exit、语义化 message 和日志摘要/下钻,不输出 Secret、不依赖临时 dump,也不改变迁移执行语义,完成任务后将详细报告写入[任务报告](./details/web-sentinel-runtime-reliability/R2.4.1_Task_Report.md)。
### R2.5 [in_progress]
按 [#1873 运行面证据](https://github.com/pikasTech/unidesk/issues/1873#issuecomment-4953413607) 处理迁移前已不可恢复的 2 runs/5 artifacts:以 owning YAML 精确列出 runId、stateDir、artifactCount 与 report SHA,导入结构化事实并写入 `legacy-artifact-bytes-missing-before-migration` timeline/finding,不制造 locator或声称已验证 bytes;任何未列明缺口继续 fail closed,完成 PG verify、Release B 原子切换和旧 SQLite/dashboard 退役后关闭,完成任务后将详细报告写入[任务报告](./details/web-sentinel-runtime-reliability/R2.5_Task_Report.md)。
#### R2.5.1 [in_progress]
按 [#1873 证据](https://github.com/pikasTech/unidesk/issues/1873#issuecomment-4953413607) 在 owning YAML 精确声明仅有的 2 runs/5 artifacts 历史缺口;export/import/verify 导入结构化事实和 missing-before-migration finding,不制造 locator,任何未声明缺口继续 fail closed,完成任务后将详细报告写入[任务报告](./details/web-sentinel-runtime-reliability/R2.5.1_Task_Report.md)。
#### R2.5.2
Release A 自动上线后通过受控 one-shot Job 完成 freeze/snapshot/import/PG verify,核对完整 run/finding/metadata/payload/latest identity 与精确历史缺口,并把真实运行证据写回 [#1873](https://github.com/pikasTech/unidesk/issues/1873),完成任务后将详细报告写入[任务报告](./details/web-sentinel-runtime-reliability/R2.5.2_Task_Report.md)。
#### R2.5.3
迁移验证通过后实施 [#1873](https://github.com/pikasTech/unidesk/issues/1873) Release B 原子切换:中心 service 成为唯一 writer/query authorityWeb/CLI/scheduler 只读中心 API,删除旧 SQLite/query/dashboard/fallback;只观察自动 CI/CD 并完成 CLI、monitor Web 与原入口验收,完成任务后将详细报告写入[任务报告](./details/web-sentinel-runtime-reliability/R2.5.3_Task_Report.md)。