14 lines
3.7 KiB
Markdown
14 lines
3.7 KiB
Markdown
FAIL
|
||
|
||
apps/ely-tree/src/remotes.rs:110:强制推送计划只固定远端租约,源仍是执行时的分支引用,实际覆盖范围可超出确认内容,违反 PRD §13.3。复现:本地与远端 `main` 都在 `base -> keep-me`,读取计划得到 `lost=[]`;确认前从终端把本地 `main` 重置到 `base`,再执行原计划。随附 Git 实测推送成功,远端分支退回 `base`,确认框遗漏了被移除的 `keep-me`。修复方向:记录源提交,以固定源提交计算覆盖清单;在写队列执行前核对计划所属分支与源提交,变化后重新预览、确认,推送使用已确认的源提交。增加确认期间本地引用变化的测试。
|
||
|
||
apps/ely-tree/src/places.rs:273:储藏、远程与工作树表单执行时使用当前活动仓库,表单状态缺少发起仓库身份;`asks_places.rs:131` 的推送远程及上游选择也沿用当前仓库。窗口探针复现:在 A 发起 B 的异步打开,随后立即打开 A 的储藏对话框并填入 `for A`;B 打开完成后仍显示原对话框,提交后 A 的储藏数为 0,B 为 1,B 的改动被收走。修复方向:表单、选择和工作树路径选择回调携带发起仓库 ID,通过该 ID 入队;所属仓库关闭时使请求失效。增加异步打开其他仓库期间提交这些对话框的测试。
|
||
|
||
apps/ely-tree/src/running.rs:58:按冒号前缀合并所有 stderr 行,会删掉独立的错误与 hook 说明,违反 PRD §13.3 的完整失败输出要求,也与 agents.md C13.5 的输出声明冲突。复现:真实本地远端的 `pre-receive` hook 依次输出 `POLICY_A required`、`POLICY_B required` 并退出 1;随附 Git 推送的实时输出包含两行,`follow` 返回的错误仅保留 `remote: POLICY_B required`,`POLICY_A` 被删除。修复方向:根据实际 CR 重写与 LF 换行保留记录,独立换行的诊断全部保留;增加真实 hook 连续同前缀报错的断言。
|
||
|
||
apps/ely-tree/src/network.rs:211:首次推送的远程名称前缺少 `--`,`remotes.rs:109` 的强制推送同样如此,合法名称被解析成选项;agents.md C13.5 声明的参数隔离在这两处失效。复现:通过应用支持的 `remote add -- -dash <path>` 添加远程,新分支推送时选择 `-dash`;实际参数 `push --progress --set-upstream -dash refs/heads/main:refs/heads/main` 被随附 Git 拒绝,报 `unknown switch 'a'`。修复方向:两个推送入口均在远程位置参数前放入 `--`,覆盖以连字符开头的远程名称。
|
||
|
||
apps/ely-tree/src/stash.rs:41:过滤全部空字段破坏了合法空 reflog 说明的三字段记录,导致整个储藏列表读失败,违反 TREE-10。复现:修改文件后执行 `oid=$(git stash create)`、`git stash store -m '' "$oid"`;Git 能正常列出这个储藏,实际 `stash::list` 返回 `InvalidData`,其字段只剩提交号和时间。修复方向:按 NUL 分隔的固定三字段记录解析,仅处理记录流末尾的分隔符,保留空说明;增加空说明与普通储藏混合列表的测试。
|
||
|
||
reference/Ely-GPUI-Components/src/git/refs.rs:230:共用行调用 `focus_ring` 却没有边框宽度,键盘聚焦行时焦点框无法绘制;同文件第 290 行还把行内动作及其焦点框放在仅悬停时显示的透明层中,违反 UX-03 和 PRD §20.3。钉住的 1c96a3c 组件窗口探针复现:鼠标位于列表外,依次 Tab 到储藏行、应用、弹出、删除,四步可见边框绘制数均为 0,Enter 仍会执行透明动作;分支与标签共用此行布局。修复方向:给行的焦点框提供边框宽度,并在键盘焦点进入动作时显示动作层;增加鼠标离开列表时逐个 Tab 停靠点的绘制与执行断言。
|