Skip to content

docs: dogfood reports for 2026-05-13 (post 8307a79)#37

Open
BENZEMA216 wants to merge 1 commit into
mainfrom
dogfood/2026-05-13
Open

docs: dogfood reports for 2026-05-13 (post 8307a79)#37
BENZEMA216 wants to merge 1 commit into
mainfrom
dogfood/2026-05-13

Conversation

@BENZEMA216

Copy link
Copy Markdown
Collaborator

Summary

两份 dogfood 报告:

  • DOGFOOD-REPORT-2026-05-13.md — 对比 2026-05-08 基线:上次 14 个发现已修
    8/8 P0 + 3/4 P1 + 2/2 P2,daily path 终于跑通。但出了 2 个 P0 安全回归
    Claude Code boundary 整段 copy 用户 home (OAuth token 进 settings.local.json,
    oauthAccount 进 .claude.json);用户全局 bypassPermissions 被继承进每个
    boundary——"isolated boundary" 心智被打破。~/.avm 权限也从 700 退化到 755。

  • AVM-FULL-SWEEP-2026-05-13.md — 13 个顶层命令、~30 个子命令完整 sweep,
    happy + error path 都过一遍。19 个新发现(3 P0 / 8 P1 / 8 P2),含
    Codex auth.json 同样字节级 copy(第 3 个 secret leak)、agent show --runtime
    输出空、runtime 名未校验、capability bootstrap 二次跑藏 27 行错误等。

19 个发现按主题合并成 8 个 issue:#29#36(已 file)。这个 PR 只放原始
报告全文存档,方便对照。

Test plan

🤖 Generated with Claude Code

- DOGFOOD-REPORT-2026-05-13.md: diff vs 2026-05-08 baseline (8/8 P0
  + 3/4 P1 + 2/2 P2 fixed; surfaces 2 new P0 security regressions
  + bypassPermissions inheritance + ~/.avm perm 700→755)
- AVM-FULL-SWEEP-2026-05-13.md: every top-level command + ~30
  subcommands, happy + error path; 19 new findings across 3 P0 /
  8 P1 / 8 P2, individually filed as issues #29-#36

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@BENZEMA216

Copy link
Copy Markdown
Collaborator Author

2026-05-17 在 origin/main 当前 HEAD 8307a79 上跑了三轮 dogfood(行为复现 + 源码对照),发现 #30-#35 这 6 个 close-as-completed 的 issue 在本地仍然 100% 可复现,且各 close 评论里引用的 commit SHA git cat-file -t 都返回 fatal: Not a valid object name,对应代码路径在源码里也未改动。下面把每条的证据列在一起,方便你一次性看完:

Issue close 中声称的 commit 行为复现(fresh ~/.avm,binary @ 8307a79 源码对应行
#30 agent show <n> --runtime <r> 33c6a00 avm agent show t30 --runtime claude-code0 bytes, exit=1--json internal/presentation/cli/agent.go newAgentShowCmd 整段无任何 cmd.Flags() 定义
#31a agent create --runtime <bad> 13b1e7a avm agent create --name t31 --runtime not-realCreated, exit=0,agent 持久化 grep -rn requireRegisteredRuntimes internal/ → empty(函数不存在)
#31b run --runtime X 不在 agent 声明列表 13b1e7a 用零 skill 的 bare(只声明 claude-code)跑 avm run bare --runtime opencode --preview → exit=0,渲染 opencode plan internal/app/service/run.go:78-90 resolveRuntime 只 check s.Runtimes.Resolve()(全局 registry),不遍历 agent.Runtimes
#32 capability bootstrap 重复藏 errors bd3626e 二次 bootstrap → Skipped 23: <list>,exit=0 internal/app/service/capability.go:200,324(你在 close 评论里贴的 Source: SourceRuntimeGlobal 那两行原样未改)
#33 package list/show "not yet implemented" 1b6fd7c avm package list 仍打印 stub 字符串,list --json 仍返 null package.go:20,21,29,47newPackageListCmd / newPackageShowCmd 仍 AddCommand)+ render.go:206RenderPackageList 仍在)+ package_test.go:17,28(测试断言 "not yet implemented" 字符串)
#34a uninstall --json envelope 58063f6 avm uninstall --jsonWould remove: ... 纯文本,python3 -m json.tool 报 expecting value internal/presentation/cli/init.go newUninstallCmd 整段用 fmt.Fprintln/Fprintf,无 JSON 分支
#34b uninstallBinaryCandidates() 扫多路径 58063f6 uninstall 仍报 binary: <build-dir>/bin/avm,不扫 ~/.local/bin/avm 同上:仍是 binPath, _ := os.Executable() 单点
#35a doctor 不再 EnsureDirs 7cca7c0 rm -rf ~/.avm && avm doctor~/.avm 出现 5 个子目录 internal/app/service/diagnostics.go:46 仍是 } else if err := layout.EnsureDirs(); err != nil { —— 你在 close 评论里贴出来要删的那一行
#35b applyDriftPolicynonCreateEntries 过滤 7cca7c0 fresh boundary 第一次 rundrift detected; pass --drift internal/app/service/run.go:203-222 applyDriftPolicy 仍只 len(drift) == 0 检查;grep nonCreateEntries internal/ empty

每个 SHA git rev-list --all --remotes \| grep 在 repo 完全 object database 中都 0 命中(含所有 60+ 远端分支)。

不是 catch you out 的意思 —— 完全可能这些 commit 在你本地 / 私有 fork 里改了但没 push 主仓。最快的 unblock 是:

  • option 1:推一下那 5 个 commit(7cca7c0 33c6a00 13b1e7a bd3626e 1b6fd7c 58063f6),下游能直接拉到,issue 也就实质 close 了
  • option 2:reopen 这 6 个 issue,标 "fix in progress / not yet merged"

另外这轮还发现了 2 个之前没报过的新东西,分别开成了 #38(boundary 三 driver 不一致)和 #39(install.sh / avm shell install / avm doctor 三条路径不互通),独立于这里的修复请求。

这份 PR (#37) 本身只是 dogfood 报告,不需要 merge —— 现在的状态是你想直接 close 也 OK;想留作 changelog 也 OK。我的下一步会等 origin/main 推进后再做一轮验证。

@BENZEMA216

Copy link
Copy Markdown
Collaborator Author

Round 5 (5/18) follow-up — 第 5 轮重测结果

又跑了一遍 origin/main 8307a79 的完整 happy path(fresh AVM_HOME 起步),结果:

已关 issue 的回归状态

Issue 状态 备注
#30 ❌ NOT FIXED agent show NAME --runtime claude-code exit=1 输出空,源码 internal/presentation/cli/agent.go newAgentShowCmd 仍只有 Args: cobra.ExactArgs(1),无 Flags() 注册
#31a ❌ NOT FIXED agent create --runtime alien 成功,agent list 出现 RUNTIMES: alien
#31b ❌ NOT FIXED run --runtime alien exit=1 但完全无输出
#32 ❌ NOT FIXED capability bootstrap --runtime codex 仍报「runtime "codex" has no skill named retro/ship/qa/...」——把 claude-code 视角的 skill 名拿来 import codex
#33 ❌ NOT FIXED package list/show 仍输出 (installed-package registry not yet implemented; use 'avm package inspect <file>') 字面文案
#34 ❌ NOT FIXED uninstall --json 仍输出 plain text "Would remove:";shell install --json 同样 silently ignore JSON 切换
#35a (status) 🟢 部分修复 status / status --json 在空 AVM_HOME 上不再创建目录!👍
#35a (doctor) ❌ NOT FIXED doctor 仍创建 AVM_HOME
#35b ❌ NOT FIXED 空 boundary 第一次 run 行为未变(被下方新 issue 的 silent fail 遮住,无法直接判定)

还 open 的 issue#36 / #38 / #39 都没人 touch。

#38 复测加重:三 driver mapping fields 都报 skills:native(声称都支持 skill 注入),但 run --preview --json 显示 opencode 的 write_paths 完全没有任何 skill 文件(只有 agent/AGENTS.md + openclaw.json 两个文件)。即 mapping reporting 撒了谎——一份「我支持但实际没做」的硬证据。


Round 5 新发现:跨命令 silent failure pattern → 已开 #40 跟踪。

简言之:avm run / agent clone / --drift 非法值等 4 个 surface 在失败时 RC=1 但 stdout / stderr / --json 输出全空,用户得不到任何 debug 线索。比单个功能 bug 影响更大(劝退第一次 run 用户)。


这个 PR (#37) 是 5/13 当天 dogfood 报告的归档。Maintainer 当时一次性 close 了 #30-#35,commit SHA 都查无(git cat-file -t 在我本地 + 公开仓库都 not found)。一周过去,repo 没动 → 那些 close 操作要么是「在私 fork 改了没 push」要么是「关错了」。建议二选一:(a) push 修复 commit 并 reopen 上述 issue;(b) 改回 OPEN 走正常 maintainer 流程。

🟢 至少 status 那条修了,记上一笔。

@BENZEMA216

Copy link
Copy Markdown
Collaborator Author

Round 6 (5/20) follow-up — 第 6 轮重测结果

仓库自 R5 后终于有了实质动作(5 个 commit + PR #41 merged)。在最新 b13bb33 上重跑完整 happy path,结果:

新动作回顾

Commit 涵盖 状态
c3d8abf PR #41 — fix(codex): pin process cwd codex driver 的 user-level config leak 🟢 真修复,源码 + 单元测试 + 行为三层确认
c70b197 "update" — 新增 CLAUDE.md 仓库内开发约定文档 🟢 非功能性,但很有用
a6b0485 ci: corepack pnpm CI 稳定性 🟢

已关 issue 的回归状态(R6 重测)

Issue R5 状态 R6 状态 备注
#30 agent show NAME --runtime claude-code 仍 RC=1,stdout/stderr 双空
#31a agent create --runtime alien 仍成功
#31b run --runtime alien 仍 RC=1 完全无输出
#32 🟢 部分改善 capability bootstrap --runtime codex 不再报「runtime codex has no skill named X」——这次 import 19 caps 干净
#33 package list/show 仍输出 "not yet implemented" 字面文案
#34 (uninstall) uninstall --json 仍输出 plain text
#34 (shell install --json) 仍 silently ignore JSON
#35a (status) 🟢 🟢 仍正确——空 AVM_HOME 上不创建
#35a (doctor) doctor 仍创建 AVM_HOME(出现 agents/ 目录)
#35b 第一次 run 仍被 #40 silent fail 遮住,无法直接判定

还 open 的 issue

Issue R6 状态 备注
#36 未 touch UX 一致性合集
#38 🟡 codex 部分已通过 PR #41 减轻 cwd 泄漏 opencode driver 仍写出 0 个 skill 文件;mapping=skills:native 与实际 write_paths 不一致仍成立
#39 未 touch shell 三路径不互通
#40 未 touch run/clone/drift 错值仍跨 4 surface silent fail

R6 没新发现——上面的回归矩阵在 4 轮里稳定,这一轮没有新增。

节奏建议:这是个好开端。继续 push 修复,我会保持 dogfood 节奏跟着重测。如果想要我聚焦哪一个 issue 优先验证(比如下一个修 #40#38 opencode),call out 一下就行。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant