From a4b3a4a568e4d83cdea64d3e294a59b560c531dd Mon Sep 17 00:00:00 2001 From: XucroYuri <79034773+XucroYuri@users.noreply.github.com> Date: Fri, 4 Sep 2026 00:46:50 +0800 Subject: [PATCH 1/3] chore: sync .planning/ROADMAP.md via gh api --- .planning/ROADMAP.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index b2ab84a..8b804ee 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -75,6 +75,7 @@ - [x] `generate_v2_overview()` 已提供 v2 因子状态 + formal 报告总览。 - [x] `overview` CLI 已输出 v2 研究总览。 - [x] overview 输出包含 as_of。 +- [x] Web 工作台显示外部评审完成状态。 - [x] Web 工作台已显示 v2 总体状态。 - [x] `doctor` CLI 提供本地模块健康检查。 - [ ] 输出双因子 v2 的 episode 级正式样本外成本后检验报告文档。 From 60c22b1aae9d4c560889900f34804277b0a7cb3f Mon Sep 17 00:00:00 2001 From: XucroYuri <79034773+XucroYuri@users.noreply.github.com> Date: Fri, 4 Sep 2026 00:46:52 +0800 Subject: [PATCH 2/3] chore: sync CHANGELOG.md via gh api --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a99baf1..9edb046 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -68,7 +68,8 @@ - `doctor` CLI 与本地模块健康检查; - `freeze_checklist()`:返回正式冻结验收所需清单状态; - `generate_v2_formal_report()` 输出中附带 freeze_checklist; -- `generate_v2_overview()` 输出 as_of。 +- `generate_v2_overview()` 输出 as_of; +- Web 工作台显示外部评审完成状态。 ## [0.1.0-rc1] - 2026-09-02 From 3361b66e3a244f2e478ef885ae92201506123a32 Mon Sep 17 00:00:00 2001 From: XucroYuri <79034773+XucroYuri@users.noreply.github.com> Date: Fri, 4 Sep 2026 00:46:53 +0800 Subject: [PATCH 3/3] chore: sync src/goratio/web.py via gh api --- src/goratio/web.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/goratio/web.py b/src/goratio/web.py index 2218d83..c9447e6 100644 --- a/src/goratio/web.py +++ b/src/goratio/web.py @@ -54,6 +54,14 @@ def render_dashboard_html( + e(str(overview["overview"].get("overall_status", "未知"))) + "", ) + freeze = overview.get("formal", {}).get("freeze_checklist", {}) + if freeze: + rows.insert( + 1, + "外部评审完成" + + e(str(freeze.get("external_review", "未知"))) + + "", + ) if not rows: rows.append("因子状态不可用")