Files
soft_quay/docs/current-state.md
T

83 lines
4.0 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.
# 当前实现状态
> 本文是可覆盖的**项目级快照**,记录代码与任务的现实状态,帮助 AI coding agent 避免只看计划而忽略仓库现状。
> 执行记录写进各任务文件(`docs/tasks/T-<编号>.md`)的 `## 执行记录`,不要在本文重复维护完整执行日志。
## 职责边界
- [`tasks/`](tasks/README.md)(`docs/tasks/T-<编号>.md`):任务规格、依赖、状态(frontmatter)和执行记录,一任务一文件。
- [`06-tasks.md`](06-tasks.md):只读路线图,维护阶段划分、里程碑和待办池。
- [`../progress.md`](../progress.md):可选历史归档 / 项目级大事记,不逐任务追加。
- `current-state.md`:当前快照,可覆盖更新当前目录、当前命令、已完成摘要和下一步。
## 当前快照
- 日期:2026-07-16
- 阶段:M2 已完成(清单验签、ZIP 安全解压、staging/current/backup 切换与崩溃恢复原型全部验证)
- 技术栈:根 Go workspace 纳入 core/app-modern/app-win7 三模块;`app-win7/go.work` 隔离 Go 1.20.14 构建;modern Gio v0.10.1 与 win7 Gio v0.6.0 已实际接入
- 生产代码:core 已有状态/事件、Catalog 验签/缓存、ZIP 安全解压和安装事务切换/恢复原型;modern/win7 均可打开最小 AppShell
- 测试:core 覆盖 Catalog、ZIP 攻击矩阵及安装成功/回滚/多阶段崩溃恢复;两个 app 覆盖 AppShell 与平台 stub
- 数据:`testdata/catalog/` 有公开虚构清单样例;`testdata/zip/` 记录运行时生成的 ZIP 攻击矩阵
- 标准启动路径:`./init.sh` / `./init.ps1`(同步依赖、执行完整 Phase 0 闸门、打印双目标构建命令)
- 标准验证路径:`bash scripts/verify_phase0.sh` / `./scripts/verify_phase0.ps1`
- 版本管理:git 已初始化,main 分支,远端 origin 为 Gitea `opc/soft_quay`;harness 文档已提交
- 当前 blocker:无;下一步按路线图落成并领取 T-201
## 当前目录要点
| 路径 | 状态 | 说明 |
| --- | --- | --- |
| `docs/` | 已有 | harness coding 文档集(本次初始化完成) |
| `docs/tasks/` | 已有 | Phase 0 与 Phase 1 的任务均已完成;T-201 待按路线图落成 |
| `scripts/` | 已有 | harness 治理、core 边界、Go 版本检查与 Phase 0 双平台验证入口 |
| `core/` | 已建 | Go 1.20 兼容;已有状态/事件与 Phase 1 三项安全原型 |
| `app-modern/` | 已建 | Go 1.25.0 + Gio v0.10.1;可打开 Modern AppShell |
| `app-win7/` | 已建 | Go 1.20 + Gio v0.6.0;可打开带 Legacy 标识的 AppShell |
| `schemas/` | 待建 | 协议 JSON Schema(T-201) |
| `testdata/` | 已建 | 当前包含 Catalog 假数据与恶意样例;后续任务继续扩展 |
## 任务状态
任务状态以 `docs/tasks/` 各任务文件 frontmatter 的 `status` 为准。本节只写项目级摘要:
- 已完成:Phase 0 的 `T-001`~`T-004`;Phase 1 的 `T-101`、`T-102`、`T-103`。
- 正在进行:无。
- 下一个可领取任务:按路线图落成并领取 `T-201 catalog 模块正式接入`。
## 当前可运行内容
```bash
# 统一依赖同步 + 完整 Phase 0 验证:
./init.sh
# Windows PowerShell 使用 ./init.ps1
# 直接运行验证闸门:
bash scripts/verify_phase0.sh
# Windows PowerShell 使用 ./scripts/verify_phase0.ps1
```
## 开始编码前检查
开始任意任务前:
1. 读仓库级 agent 规则文件 `AGENTS.md`。
2. 读 `docs/00-ai-start-here.md`。
3. 读 `docs/05-coding-rules.md`。
4. 在 `docs/tasks/` 找到 frontmatter `status: TODO` 且依赖均 `DONE` 的任务文件;暂无任务时,先按 `docs/06-tasks.md` 路线图落成任务文件。
5. 在独立分支 / worktree 把任务改为 `DOING`。
## 维护规则
当实际代码状态发生变化时,同步更新本文件:
- 新增或移动入口文件。
- 初始化框架或模块。
- 新增可运行命令。
- 发现文档和代码现实不一致。
- 阶段、项目级 blocker 或可领取任务摘要发生需要跨会话保留的变化。
同时注意:
- 任务长期状态改在对应任务文件的 frontmatter;每轮执行记录、验证命令、阻塞点和关键决策写进该任务文件的 `## 执行记录`。
- 本文件只保留当前快照,不保留完整历史。