4.0 KiB
4.0 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-604 | 隔离 modern 与 Win7 workspace | 0 |
|
TODO | 2026-07-16 | null | null | null | null |
|
问题 / 背景
Phase 0 交叉审核确认根 go.work 同时纳入 app-modern、app-win7 与 core,导致 Go workspace 的最小版本选择把根环境中的 app-win7 解析到 Gio v0.10.1,而正式 Win7 构建实际使用 app-win7/go.work 中的 Gio v0.6.0。
现有双目标闸门已经通过显式 GOWORK 保证发布构建正确,因此这不是当前 EXE 的运行时缺陷;但根目录命令、go work sync、gopls/IDE 可能在错误 Gio 版本下检查 Win7 代码,形成兼容性假阴性或误报。审核结论与实施约束见 docs/review/phase0-skeleton-review.md。
方案
- 根
go.work只纳入app-modern与core;app-win7只由app-win7/go.work纳入并继续与core共享本地替换。 init.sh、init.ps1、verify_phase0.sh与verify_phase0.ps1分别同步两个 workspace:- Go 1.25.0 同步根 workspace。
- Go 1.20.14 + 显式
GOWORK=app-win7/go.work同步 Win7 workspace。
- 加固
scripts/check_go_versions.py:- 校验根 workspace 只包含 modern/core。
- 校验 Win7 workspace 只包含 win7/core。
- 分别解析 workspace build list,确认 Gio 精确为 v0.10.1 / v0.6.0。
- Go 1.20.14 的任何检查不得读取 Go 1.25 根 workspace。
- 更新启动命令与技术栈文档,删除“根 workspace 纳入三个模块”的旧描述,明确双 workspace 的同步和开发入口。
- 使用实际
go list/ test / build 证明两套 workspace 不交叉解析;补充 gopls/IDE 嵌套 workspace 的人工 smoke 记录。
验收要点
go work edit -json显示根 workspace 只有./app-modern、./core;app-win7/go.work只有.、../core。- 根 workspace 执行
go list -m gioui.org得到 v0.10.1;Win7 workspace 使用 Go 1.20.14 执行同命令得到 v0.6.0。 - 根 workspace 不再把
./app-win7/...当作自身 package pattern 构建;Win7 test/build 必须显式使用嵌套 workspace。 - 两个 workspace 的 sync 都由
init与verify_phase0执行;sync 后core/go.mod、app-modern/go.mod、app-win7/go.mod无意外漂移。 python scripts/check_go_versions.py能在 workspace 成员或 Gio 解析版本错误时失败。- gopls/IDE 打开仓库后,Win7 文件使用 Gio v0.6.0 语义;若当前环境没有 gopls,执行记录必须写明限制并至少提供嵌套 workspace 的
go list/test证据。 ./scripts/verify_phase0.ps1与bash scripts/verify_phase0.sh全绿,modern/Win7 EXE 均重新产出。./init.ps1与bash ./init.sh全绿。python scripts/validate_agent_context.py、python scripts/validate_harness_governance.py通过。
边界(不改什么)
- 不修改 Gio 版本、Go 版本或任何业务依赖。
- 不重构 modern/win7 UI,不处理调色板或 Layout 重复。
- 不修改 application Runtime、domain 状态迁移、下载/安装业务。
- 不处理 vendor 策略、远端 Gitea runner 或 CI 工具链预装;这些按审核结论另立任务。
- 不修改、提交或删除用户的
soft_quay.code-workspace。
协作约束
- 按仓库当前规则由单 Agent 串行执行,不启动子 Agent。
- 本任务只允许修改 frontmatter 中的
write_paths;若发现必须修改 app/core 的 go.mod,先停止并记录 sync 产生漂移的原因,不得直接扩大范围。 - T-604 完成、验证并提交前不落成或领取后续审核整改任务和 T-302。
执行记录
- 2026-07-16:根据
docs/review/phase0-skeleton-review.md的交叉复核定稿落成首个整改任务;编号按路线图与现有任务最大编号T-603 + 1取T-604。