/** * 用户文本反馈信号匹配器簇。 * * 从用户消息文本里识别四类信号: * - 用户纠正(user correction):「不对 / 不是 / 错了 / 你应该 / 重来」等 * - 目标切换(user goal shift):「换个方向 / 先不 / 另一个问题」等 * - 负向反馈(negative feedback):「没用 / 垃圾 / 做错了」等;高歧义词 * (「有问题 / 不行 / 不需要 / 看不懂 / 不符合」)需配合 BENIGN_NEGATIVE_* * 上下文规则排除「描述对象本身有问题」的中性表达 * - 正向反馈(positive feedback):「很好 / 做得好 / good job / awesome」等 * * 每类信号提供两个 API: * - findXxxMatches(text): 返回所有命中范围(TextMatchRange[]),供 renderer 高亮 * - hasXxxSignal(text): 命中即 true,供计数 / 判定逻辑 * * 词表与上下文规则是观测语义的一部分,改动会影响 `negativeFeedbackCount`、 * `positiveFeedbackCount`、`userCorrectionCount`、`userGoalShiftCount` 四个 * indicators 字段的值,继而影响 Report 比较学。词表变更前先确认 inbox 测试 * (`test/observability/inbox.test.ts`)的影响。 * * 阶段 3 拆分历史:这些常量、helper、公开函数原本住在 `experience.ts` 末尾。 * 拆出独立文件后,experience.ts 通过 re-export 维持对外签名兼容,renderer * 通过 feedback-projection facade 间接消费。 */ export interface TextMatchRange { start: number; end: number; } export declare function findUserCorrectionMatches(value: string): TextMatchRange[]; export declare function hasUserCorrectionSignal(value: string): boolean; export declare function findUserGoalShiftMatches(value: string): TextMatchRange[]; export declare function hasUserGoalShiftSignal(value: string): boolean; export declare function findNegativeFeedbackMatches(value: string): TextMatchRange[]; export declare function hasNegativeFeedbackSignal(value: string): boolean; export declare function findPositiveFeedbackMatches(value: string): TextMatchRange[]; export declare function hasPositiveFeedbackSignal(value: string): boolean;