严重度
中
状态
待分诊
决策
—
test_emit_fatal_arch_nonzero 单测失败:假设 2 次 subprocess 调用,实际 1hr version_id 缓存使 emit_fatal 只调 1 次 subprocess
tests/lib/test_feedback_emit.py::test_emit_fatal_arch_nonzero 用 iter([component_get_response, feedback_create_response]) 喂 mock,但 _resolve_version_id 命中 ~/.claude/audit-state/feedback-version-cache.json 缓存(默认 1hr TTL),导致 component get 跳过,iter 队列残留第 1 个响应在第 2 次 next() 时才被消费(测试期望的是 2 次都消费),最终 result=True(对应 component get 成功响应)而非测试期望的 False(对应 feedback create 失败)。
方案 A(test 修):用 monkeypatch 清空 cache(CACHE_PATH.unlink / mock_read_text 返回 {})强制走 component get path,这样 iter 队列 2 个响应都会被消费。方案 B(代码修):feedback_emit 加 no_cache=True 参数供测试绕过缓存。推荐 A(影响面小,语义清晰)。
小敏8198dc78-6782-4591-b518-edfb72402d3e状态推进请用:
arch feedback update cba09980-a0ea-47c8-978e-710735937ca2 --status fixing # 开始修
arch feedback update cba09980-a0ea-47c8-978e-710735937ca2 --status fixed # 已修
arch feedback update cba09980-a0ea-47c8-978e-710735937ca2 --status wontfix --decision keep_as_is # 不修