| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| activity | ||
| admin | ||
| ai | ||
| assistant | ||
| auth | ||
| clinical-gap | ||
| clinical-signals | ||
| facts | ||
| mcp | ||
| patient | ||
| persona | ||
| plan | ||
| plan-aggregate | ||
| realtime-coach | ||
| sync | ||
| weixin-aibot |
真实数据打脸:首轮导入 2552 条回访后,有 1 条落库仍是 "<p>阿斯蒂芬撒的发生</p>"。 查源库(customer_return_visit id=266151)发现是**双重编码**: <p><span style="color:#000000">…<p>阿斯蒂芬撒的发生</p>…</span></p> 外层是真标签,内层是被转义的标签。 原实现「剥标签 → 还原实体」跑一轮:外层剥掉后,<p> 被还原成字面的 <p> 留在结果里。 算子逻辑本身没错(单次剥离),但真实数据证明必须处理这种形态 —— 宿主富文本编辑器 把粘贴进来的 HTML 又转义了一层。 改成**有界两轮**:还原实体后若又出现标签则再剥一轮,最多 2 轮。 不做无界循环 —— 构造输入(每轮都能再生标签,如 &lt;p&gt;)会把摄入卡死, 两轮后仍有残留是可接受的,关键是必然终止。第 2 轮只在确实又露出标签时才跑, 绝大多数行一轮即净,无谓开销为零。 回归测试 2 项:线上那条原文按原样断言;畸形嵌套输入断言必然返回(不卡死)。
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| activity | Loading commit data... | |
| admin | Loading commit data... | |
| ai | Loading commit data... | |
| assistant | Loading commit data... | |
| auth | Loading commit data... | |
| clinical-gap | Loading commit data... | |
| clinical-signals | Loading commit data... | |
| facts | Loading commit data... | |
| mcp | Loading commit data... | |
| patient | Loading commit data... | |
| persona | Loading commit data... | |
| plan | Loading commit data... | |
| plan-aggregate | Loading commit data... | |
| realtime-coach | Loading commit data... | |
| sync | Loading commit data... | |
| weixin-aibot | Loading commit data... |