Skip to content

Commit 6c7e5de

Browse files
committed
docs(rich-content): record r1 CI gate
1 parent 53a079d commit 6c7e5de

1 file changed

Lines changed: 22 additions & 10 deletions

File tree

docs/planning/rich-content-delivery/06-implementation-log.md

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
> **用途:** 记录实际实施、验证、决策变更、风险与下一步,保证人类和 AI Agent 接手时可追溯。
44
> **受众:** 所有实施者与评审者。
55
> **最后审阅 / Last reviewed:** 2026-08-09
6-
> **状态:** R0 已通过远程全量 CI。R1 ArtifactService 后端交付已完成本地验证,待提交、推送与远程 CI;R2–R4 仍未开始阶段提交
6+
> **状态:** R0、R1 已通过远程全量 CI。R2–R4 尚未开始阶段提交;工作区中保留的后续候选实现不得视为已验收交付
77
88
---
99

@@ -21,10 +21,10 @@
2121
| 阶段 | 状态 | 负责人 | 开始 | 完成 | 证据/备注 |
2222
|---|---|---|---|---|---|
2323
| R0 契约/安全基线 | 已完成 | 当前实施者 | 2026-08-09 | 2026-08-09 | `b1ed884`[CI #31271639940](https://github.com/knqiufan/MisakaX/actions/runs/31271639940) 的 8 项检查全绿 |
24-
| R1 ArtifactService/图片/下载 | 本地验证完成,待门禁 | 当前实施者 | 2026-08-09 | | 受限 ArtifactService、窄 IPC、原生保存与会话过期清理;待 commit/push/CI |
25-
| R2 文件预览 | 本地实现完成,待门禁 | 当前实施者 | 2026-08-09 | 2026-08-09 | 本地只读预览、资源上限和下载回退;未 commit/push/CI |
26-
| R3 图表 | 本地实现完成,待门禁 | 当前实施者 | 2026-08-09 | 2026-08-09 | 受限 spec、ARIA、表格与 CSV 产物导出;未 commit/push/CI |
27-
| R4 地图 | 本地实现完成,待门禁 | 当前实施者 | 2026-08-09 | 2026-08-09 | 仅本地 GeoJSON/no tiles;R4b 未开始;未 commit/push/CI |
24+
| R1 ArtifactService/图片/下载 | 已完成 | 当前实施者 | 2026-08-09 | 2026-08-09 | `53a079d`[CI #31272842590](https://github.com/knqiufan/MisakaX/actions/runs/31272842590) 的 8 项检查全绿 |
25+
| R2 文件预览 | 未开始阶段门禁 | 待分配 | | | 候选工作区改动未提交、未验证、未推送 |
26+
| R3 图表 | 未开始阶段门禁 | 待分配 | | | 候选工作区改动未提交、未验证、未推送 |
27+
| R4 地图 | 未开始阶段门禁 | 待分配 | | | 候选工作区改动未提交、未验证、未推送;R4b 不在范围内 |
2828
| R5 Agent/Sidecar/MCP | 未开始 | 待分配 ||| 依赖 Phase 4 真正对话链路;通过阶段门禁后完成 |
2929
| R6 加固/发布 | 未开始 | 待分配 ||| 三平台/沙箱 gate;通过阶段门禁后完成 |
3030

@@ -126,20 +126,32 @@
126126
- **代码审查:** Artifact 路径只由 Rust 从 application data 目录解析;写入在 session 存在性校验后才执行;导出使用原生 dialog 并验证写出哈希;未添加 WebView FS/HTTP/Shell permission 或 URL/path 入口。会话删除前过期所属 artifact,保留数据库审计记录。
127127
- **验证:** `cargo fmt --check` → pass;`cargo check` → pass;`cargo test --lib artifact` → 7 passed / 0 failed。
128128
- **未验证:** R1 不接入重型前端 renderer;图像放大/通用文件 preview 将由 R2 覆盖。
129-
- **Git:** 待提交(仅 R1 后端及 IPC 文件)
130-
- **远程 CI:** 待当前 R1 提交推送后运行
129+
- **Git:** `ab7f1ee`(后端/IPC)、`1181618`(Clippy)、`53a079d`(命令 manifest 与权限白名单)均已非强制推送至 `origin/codex/rich-content-r0-r4`
130+
- **远程 CI:** [CI #31272842590](https://github.com/knqiufan/MisakaX/actions/runs/31272842590) 的 Rust、Frontend、三平台 Terminal Runtime 与三平台 Tauri Build 共 8 项检查全绿
131131
- **风险/回滚:** 关闭 rich-content feature flags 可保持旧消息路径;删除 artifact 数据前会先将记录标为 expired,并只删除无 active 引用的字节文件。
132-
- **下一步:** 提交、推送并等待远程 CI 全绿后,开始 R2
132+
- **下一步:** R1 已完成;可开始 R2 的独立阶段审查与实现收口
133133

134134
### 2026-08-09 — R1:远程 Clippy 兼容性修复
135135

136136
- **范围:** 修复 [CI #31272376136](https://github.com/knqiufan/MisakaX/actions/runs/31272376136) 暴露的 R1 lint;未改变 ArtifactService 的输入、存储、访问控制或 IPC 行为。
137137
- **代码审查:** `limit_text` 改用 `enumerate` 保持相同的零起始行数上限;`register_base64` 与已有 `register_bytes` 一样声明窄入口的多参数例外,避免为迎合 lint 而弱化 IPC 的显式字段。初始 R1 commit 的前端与三平台 Terminal Runtime 均通过,Rust 仅在 Clippy 阶段失败。
138138
- **验证:** `cargo fmt --check` → pass;`cargo clippy --all-targets --all-features -- -D warnings` → pass;`cargo test --lib artifact` → 7 passed / 0 failed。
139139
- **Git:** `ab7f1ee` 已推送;本条记录随 R1 Clippy 修复提交推送。
140-
- **远程 CI:** 待修复提交推送后重新运行
140+
- **远程 CI:** 修复后的运行先在 [CI #31272566088](https://github.com/knqiufan/MisakaX/actions/runs/31272566088) 通过 Clippy,但安全基线发现注册命令未同步至 Tauri AppManifest/权限白名单;补充修复后,最终 [CI #31272842590](https://github.com/knqiufan/MisakaX/actions/runs/31272842590) 8/8 成功
141141
- **风险/回滚:** 仅 lint 等价改动,可单独回退。
142-
- **下一步:** 等待 R1 required CI 全绿后进入 R2。
142+
- **下一步:** R1 required CI 已全绿,可进入 R2。
143+
144+
### 2026-08-09 — R1:命令清单/权限同步与阶段完成
145+
146+
- **范围:** 将 R1 新注册的 artifact 与 content-block 命令同步至受控 AppManifest、`main-commands` 最小权限白名单及生成 schema;未引入通用 FS、HTTP 或 Shell 权限,也未混入 R2–R4 UI/依赖。
147+
- **代码审查:** 对照 `invoke_handler``build.rs``permissions/main.toml` 三处命令集合,确认 8 个 artifact/block 命令均为 Rust 窄接口,终端权限集不变。安全基线的集合一致性测试修复后通过。
148+
- **验证:** `cargo fmt --check` → pass;`cargo test --all-features --test security_config_baseline_tests` → 5 passed / 0 failed。
149+
- **未验证:** 未进行 R2–R4 的 preview/renderer 手工场景;这些内容未纳入 R1 提交。
150+
- **Git:** `53a079d``fix(rich-content): authorize r1 artifact commands`)已非强制推送至 `origin/codex/rich-content-r0-r4`
151+
- **远程 CI:** [CI #31272842590](https://github.com/knqiufan/MisakaX/actions/runs/31272842590) completed/success;8 个 required 作业均成功,R1 阶段门禁已满足。
152+
- **风险/回滚:** 回滚 `53a079d` 会恢复安全基线拒绝行为,且不能保留 R1 的注册命令;正常回滚 R1 时应将服务和该权限提交一并回退。
153+
- **文档同步:** 本实施记录的阶段看板和 R1 证据更新。
154+
- **下一步:** 开始 R2;先把候选工作区改动收口为仅文件预览、图片展示与下载回退,再执行独立审查、测试、commit/push/CI。
143155

144156
## 后续记录模板
145157

0 commit comments

Comments
 (0)