Skip to content

[business-logic] #1438-A is half-done: bare 'latest' survives next to a comment saying 'the bare forms are dropped' (better WAS narrowed - the asymmetry proves the omission), making the three new phrase shapes dead entries shadowed by the bare match + category dedup; #1438-B repeats the same mistake in CJK: bare 排序/大概/最新的/最近的 substrings with an ASCII-only isWordByte that makes boundary checks always-true for Chinese #1521

Description

@topcheer

文件行号

internal/agent/ambiguity_point.go L136(裸 {"latest", ambQuantityVague, "how many of the latest items"} 原样保留——L135 裸 recent 同样)对照 L137-141 注释 "#1438-A: ...the bare forms are dropped" 直接矛盾——better 的收窄(L151-155 仅剩 make it/this better 两短语)完成——两词处理不一致坐实半途而废;L142-144(新增 latest items/entries/results 三短语)——L136 裸词先行匹配(afterOK 空格为真)+ L262-269 按 category 去重 → 三短语永不可达为死条目;L170-181(CJK 表——排序 L175/重命名/改名 L176-177/最新的 L178/最近的 L179/大概 L181 均裸子串)+ success_declare.go L255-256(isWordByte 纯 ASCII——CJK 字节 ≥0x80 恒过)→ L203-204 beforeOK/afterOK 恒真——对中文零边界保护;user_sentiment.go L157-158(注释 "REDIRECTION KEYWORDS anywhere...regardless of message length")对照 L188-198(if isShort { return group.category } 对所有类别生效——L191-194 行内注释反而为此辩护——两段注释互相矛盾)+ analyzeAndUpdate L288-292(返回 "" 即清零 consecutiveNegatives);unverified_claim.go L229-238(hasVerificationCommands 仅判命令存在——失败的 go test 照样豁免 "tests pass" 假声明);value_recv_mutation_check.go L204-250(ast.Inspect 全遍历仅跳 FuncLit + vrmExtractRecvField 纯标识符名匹配无作用域/遮蔽感知——if/for 块内 c, err := ...; c.count = 5 遮蔽场景误报 "changes are lost")

问题

案 A(Med-High·修复半途而废):#1438-A 未删裸 "latest"——新短语形状是死条目

  • FP 面原样保留("upgrade to the latest version" 零歧义依旧命中+数量建议答非所问);三条新增短语因裸词先行匹配+类别去重永不可达——本次修复对 latest 等于零改动且注释误导后续维护;测试无裸 latest 用例(grep 实证仅 L60 一条 recent)
    :删除 L136 裸条目(recent 同议);补裸词/死条目回归测试。

案 B(Med-High·重蹈覆辙):#1438-B CJK 裸词——英文刚删的等价模式中文新增

  • isWordByte 纯 ASCII → 边界检查对 CJK 恒真=纯子串——"修复排序不稳定的 bug"(已明确讨论稳定性仍命中)、"大概是上个月引入的"(probably 语气副词却给数量标准——答非所问)、"最近的改动导致回归"/"用最新的 API 重写"——主要用户语言为中文误报面大;测试零 CJK 用例
    :CJK 模式收窄为短语形状(修一下排序/大概多少个 等带宾语形状);补 CJK 用例。

案 C(Med-Low·注释行为矛盾):redirection "任意长度"承诺未实现+级联清零

  • 长首线纠偏(>100 字符 "Actually, I meant...")返回 "" → 本该升级的信号丢失+consecutiveNegatives 被抹零——连续两次详细纠偏 agent 却从头按 level-1 温和提示
    :redirection 豁免 isShort 或更新注释。

案 D(Med+Low)

  • unverified_claim 验证存在性对成败全盲(recordToolError 已收集失败数据从未交叉核对——目标场景恰是"跑了失败 test 声称 pass");value_recv 无遮蔽感知 shadow 误报(测试零覆盖)
    :豁免条件加"命令成功";遮蔽场景保守跳过或作用域追踪。

#1438/#1439 修复区验证(stale 重审)

干净项

attempt_brief 其余:接线(recordOutcome 无条件记录)/fire 上限/attempt 去重全对。unverified_claim 其余:#407 词边界在位/否定豁免/每 run 一次。user_sentiment 其余:#1227 遮蔽/#1223 白名单/wordContains/升级封顶全对。value_recv 其余:值/指针判别/靶点取舍(map 头共享不报/ptr.f 不报/append 报)/delta 键/上限 4 全对(质量最高)。

排除

#1442-#1520 各案;死字段/死方法(reset 零调用)仅注明不立案。

严重程度

Med-High×2 + Med-Low + Med + Low×2


独立复核确认:裸条目与注释矛盾原文、死条目不可达推演(先行匹配+去重)、isWordByte ASCII/CJK 恒过、四组中文误报推演、isShort 门控两段注释矛盾+清零链、命令存在性豁免原文、遮蔽无感知+测试零覆盖实证。

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions