来源:2026-09-15 部署 #275~#280 前的线上核对,作为相邻问题单独记录,不混入当前任务。
app/goauto/sybimport 有 12 个失败用例,自 be03972(2026-09-14 已部署上线)起持续为红。它们断言的是 #272/#274 故意改变的旧契约,属于测试未随实现更新,不是实现缺陷。
app/goauto/sybimport
be03972
失败清单:
TestRepairReversedSpecRolesKeepsAmbiguousColorUncertain TestScheduledAIParseConfirmsClosedCandidatesAndDoesNotRepeat TestScheduledAIParseLeavesLowConfidenceUnmatchedForSameFingerprint TestScheduledAIParseRetriesProviderFailureAtMostThreeTimes TestApplyDetailOnlyMergesSuccessfullyParsedSpecIntoArchive TestParseRealSample_AmbiguousColorWithAnnotationAndSeparator TestParseNoSeparatorIsUncertainNotFailed TestParseBothSidesEmptyAfterStrippingIsUncertain TestReparseUpdatesStatusWhenRuleImproves TestManualCorrectMergesIntoArchiveLikeASuccessfulParse TestReimportPreservesIdenticalAIInputAndInvalidatesChangedSource TestServiceListFiltersByOrderCodesShopAndParseStatus
uncertain
aed295c
failed
1789200000000
syb_product.parse_status
('success','failed')
e0ed05d
b83f20c
TestScheduledAIParse*
seedAIParseCandidate(..., "黑色 XL")
success
provider calls=0, want 3
按 AGENTS.md「新发现的相邻问题记录或另建工单,不混入当前任务」。更正这些断言需要先确定 #272/#274 期望的新契约(例如「逗号两侧均像尺码」现在应判 failed 还是别的),这属于该工单作者的判断;由无关工单替其猜测并写死断言,比保持红色更有害。
AGENTS.md
该包目前没有有效的回归保护。任何后续改动都无法通过「测试是否变红」判断是否破坏了既有行为,只能靠逐个比对失败集合。
go test ./app/goauto/sybimport/...
如确认新契约与 Wiki 业务规则页面记载不一致,一并更新。
本工单记录的 12 个失败用例在今日上线(1d01186,发布 20260915-1d01186)后依然存在且数量不变。
1d01186
20260915-1d01186
#284 修复 parse.go 时逐条 diff 了失败集合,前后完全一致(12 → 12),未新增、未减少。因此本工单的范围与清单保持有效。
parse.go
[必须] 该包目前没有有效的回归保护。#284 只能通过「比对失败集合是否变化」来证明自己没有破坏既有行为,这不是测试应有的工作方式。在本工单收尾前,app/goauto/sybimport 的任何改动都需要同样的人工比对。
[必须]
No dependencies set.
The note is not visible to the blocked user.
原始需求
来源:2026-09-15 部署 #275~#280 前的线上核对,作为相邻问题单独记录,不混入当前任务。
问题
app/goauto/sybimport有 12 个失败用例,自be03972(2026-09-14 已部署上线)起持续为红。它们断言的是 #272/#274 故意改变的旧契约,属于测试未随实现更新,不是实现缺陷。失败清单:
两类原因
uncertain语义已移除:#272(aed295c)在落库前把uncertain降级为failed,迁移1789200000000并把线上syb_product.parse_status的 check 约束收窄为('success','failed')。仍断言uncertain的用例必然失败。e0ed05d、b83f20c)改变了单维度判定。以TestScheduledAIParse*为例,夹具seedAIParseCandidate(..., "黑色 XL")过去解析为uncertain所以能进 AI 队列,现在解析为success不再是候选,于是provider calls=0, want 3。为什么单独建单
按
AGENTS.md「新发现的相邻问题记录或另建工单,不混入当前任务」。更正这些断言需要先确定 #272/#274 期望的新契约(例如「逗号两侧均像尺码」现在应判failed还是别的),这属于该工单作者的判断;由无关工单替其猜测并写死断言,比保持红色更有害。风险
该包目前没有有效的回归保护。任何后续改动都无法通过「测试是否变红」判断是否破坏了既有行为,只能靠逐个比对失败集合。
验收
go test ./app/goauto/sybimport/...全绿。文档影响
如确认新契约与 Wiki 业务规则页面记载不一致,一并更新。
状态更新(2026-09-15)
本工单记录的 12 个失败用例在今日上线(
1d01186,发布20260915-1d01186)后依然存在且数量不变。#284 修复
parse.go时逐条 diff 了失败集合,前后完全一致(12 → 12),未新增、未减少。因此本工单的范围与清单保持有效。[必须]该包目前没有有效的回归保护。#284 只能通过「比对失败集合是否变化」来证明自己没有破坏既有行为,这不是测试应有的工作方式。在本工单收尾前,app/goauto/sybimport的任何改动都需要同样的人工比对。