3.7 KiB
3.7 KiB
id, title, phase, deps, status, created, issue, context_ref, claim_branch, work_branch, write_paths
| id | title | phase | deps | status | created | issue | context_ref | claim_branch | work_branch | write_paths | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| T-003 | 建立 Gio 空窗口 AppShell 与平台层 stub | 0 |
|
DONE | 2026-07-16 | null | 0e20dd76b2 |
null | agent/codex/T-003 |
|
问题 / 背景
两个应用模块当前只有控制台占位入口,尚不能打开桌面窗口;平台层也只有空包。需要建立 modern 与 Win7 各自适配 Gio 版本的最小 AppShell,并为后续 Windows 能力注入提供可在非 Windows 环境编译的接口/stub。
方案
- modern 使用 Gio v0.10.1 API,win7 使用 Gio v0.6.0 API,各自建立窗口事件循环和
ui/gio.AppShell。 - AppShell 只展示高对比标题、版本标识与占位说明,使用 8dp 间距节奏,不做业务 IO、动画或交互。
- 两个
platform/windows包定义最小Platform接口,分别提供 Windows 实现与!windowsstub。 - 新增离线边界检查脚本,通过
go list -json拒绝 core 直接 import Gio、Windows 专属包或 SQLite。 - 生成并提交两个 app 模块所需的依赖校验文件。
验收要点
- modern 与 win7 两个 Windows amd64 目标都能编译为 GUI EXE。
- 两个窗口均有 AppShell 骨架;Win7 版明确显示 Legacy 标识。
- Gio 代码只位于
ui/gio与cmd装配层;Layout 不包含磁盘、网络或哈希操作。 platform/windows在 Windows 有实现,在非 Windows 有 stub,包级测试可在当前环境运行。python scripts/check_core_boundaries.py与--self-test通过,并能检测禁止依赖前缀。- core vet/test 与治理检查继续通过。
边界(不改什么)
- 不实现软件列表、搜索、下载队列或其他业务页面。
- 不让 modern 与 win7 共享 Gio 控件代码;只保持布局语义一致。
- 不新增 Windows API 调用或第三方依赖。
- 不引入装饰动画、图标或品牌资产。
协作约束
未启用 Gitea;本任务在 agent/codex/T-003 分支串行执行。UI 采用 ui-ux-pro-max 的工具型桌面应用原则,但以 Gio/Windows 任务边界和仓库架构为最高约束。
执行记录
- 2026-07-16:modern 使用 Gio v0.10.1、win7 使用 Gio v0.6.0 建立各自窗口事件循环与
AppShell;两个版本共享相同布局语义,Win7 标题和页脚明确显示 Legacy。 - 2026-07-16:依据
ui-ux-pro-max的工具型产品建议,采用高对比语义色、16sp 正文、8dp 间距节奏与 44dp 交互基线;本任务没有交互控件,因此不添加动画、图标或装饰效果。 - 2026-07-16:两个
platform/windows包建立Platform接口、Windows 实现与!windowsstub,并添加包级契约测试。 - 2026-07-16:新增
scripts/check_core_boundaries.py,通过go list -json检查 core 的普通/测试 import,拒绝 Gio、Windows、SQLite 与 app 反向依赖;--self-test验证前缀匹配器。 - 2026-07-16:
go mod tidy会忽略 workspace 本地替换并尝试下载softbox.local/core;为避免把replace ../core写入 go.mod,保留 go.work 作为唯一替换源,由实际 test/build 生成go.work.sum。 - 验证通过:modern Go 1.25.0 执行
go vet ./...、UI/platform 测试与 Windows amd64 构建。 - 验证通过:win7 Go 1.20.14 执行
go vet ./...、UI/platform 测试与 Windows amd64 构建。 - 验证通过:两个 EXE 在当前 Windows 环境启动后保持运行,随后由 smoke 脚本关闭。
- 验证通过:
python scripts/check_core_boundaries.py --self-test、python scripts/check_core_boundaries.py、core vet/test 与治理检查。