diff --git a/devdocs/05-开发进度与交接.md b/devdocs/05-开发进度与交接.md
index 7891aea..ff44fcd 100644
--- a/devdocs/05-开发进度与交接.md
+++ b/devdocs/05-开发进度与交接.md
@@ -2344,3 +2344,59 @@ infinity maximum height constraints, which is disallowed.
### 6. 环境
- HEAD = **`3d4a9f2`** = `origin/android`;worktree / 分支 / 构建锁**全清**;主仓唯一脏 = `devdocs/02`。
- 模拟器装最新包(含 W58~W67),`tcp:80` 已切回**真后端**。
+
+## ★★ 锚点补记四十三 · 行内标签对齐契约 v0.89(W68,两轮)+ `
` 语义变更 + 真机验收(2026-10-07 晚)
+
+### 1. 后端把这件事**升成了契约**(v0.89,推库 `2dae469` / `b989f0b`)
+
+`回执二十九` + `回执三十` + `回执三十一` 三条连着来,**第三条是更正**:
+
+- **白名单**:`b` / `strong` · `i` / `em` · `code`(**五项**,`u`/`s` 被收窄掉、`br` 移出)—— 成对;**标签名大小写不敏感**;
+- **三条硬口径**:① 白名单外一律按纯文本原样(**字符一个不丢**);② **属性一律不解析**(`` 只取标签名);③ **结构不平衡 ⇒ 不渲染**(粒度算实现细节);
+- **🔴 `回执三十一`(主人的新指令)**:**`
` 不是行内标签,而是「气泡/消息分隔符」,与 `
` 同级** —— `
甲
乙
` 时同理、`
` 中间空气泡照旧丢弃、三种写法等价;
+- **安全红线**(双方都成立):助手文本是**不可信内容** ⇒ **不许把整段当 HTML 注入**;
+- **`` 是模型的自然输出**(产出侧 grep 零命中),但**契约已承认**它 ⇒ 不再是「容错、不保证」;
+- **IM 出站那个是他们的真 bug**(`sanitize.go` 的 `stripNarration` 没剥行内标签 ⇒ 发到微信/QQ 对方看到字面标签),**已派修**;
+- 我们那三处差异,他们**主动让了两条**:白名单收窄到五项(我们不用做)、不平衡粒度算实现细节;**大小写留给我们定**。
+
+### 2. 我们的定案(已写回 `02`)
+
+| 项 | 定案 |
+|---|---|
+| 大小写 | **统一到不敏感**(+ **同时**改流式扣留侧,否则中间态把 `` 吐上屏、收口再吃掉 = 字改口) |
+| `u`/`s` | **撤掉**(多支持会造成跨端不一致:Web 不渲染、我们渲染 ⇒ 同一条消息两端显示不同) |
+| 不平衡 | 改成**整段不渲染**(原口径是「局部降级」) |
+| **`
`** | **改成气泡分隔符**(我们下午正好做成了「气泡内换行」,那是错的) |
+
+### 3. W68(两轮):`4b19278`(首轮)+ `9dee236`(纠正)→ 合并 **`591f298`**
+
+**首轮**(按我当时的认知):大小写不敏感(**消费侧与流式扣留侧同源一份判据**,避免分叉)、属性一律丢弃、结构不平衡整段降级、补了 `u`/`s` 与 ``。
+
+**纠正**:把 `
` 从**行内层**整体移到**切分层**(`BR_TAG_RE` + 新函数 `appendRegion`:每个文本区先 `stripLooseTags`、再按 `
` 切开补 `Tok.Break`,与 `
` 走**同一套机制、同一个粒度**);流式侧新增 `couldBeLineBreakNamePrefix`(残缺的 `
` 不入栈**,一出现前缀就可产出);`u`/`s` 连枚举、渲染分支、import 一起撤净。
+
+**跨分隔符标签的口径**(先按 `
`/`
` 切分、再各自行内解析)—— 三条硬理由:①「与 `
` 同级」本身规定了层序;②「一个气泡 = 一条消息」,而 Web 与 IM 出站的平衡判定都是**按单条消息**做的,跨分隔符的标签结构上不可能成立 ⇒ 两端结论天然一致;③ **反着做会让 `runs` 拼起来不再等于 `body`**,那条既有契约当场就没了。
+
+**测试**:`ChatContentParserTest` 57 → **71**(14 条新增,`
` 契约表四行逐个断言**气泡数 + 各段文本**);`InlineMarkupTest` 删 6 条与 v0.89 冲突的、新增 3 条。全量 **126 suites / 1564 tests**。
+
+### 4. 真机验收(`emulator-5554` + 假后端夹具,八组样本)
+
+| 输入 | 屏幕实测 |
+|---|---|
+| `
甲
乙
`) | **两个气泡** | +| `
戊
己
庚
辛
壬与粗
` | 「`壬`与**粗**」—— `u` 已撤掉显示字面、「粗」加粗 | +| `甲
大写粗加属性粗
` | 「大写粗加属性粗」—— 大小写不敏感 + 属性丢弃 | + +### 5. 三条**待后端确认**的口径(我们已写进 `02`,都是我们自定的) + +1. **`` / `` 内部也分隔**(按「**始终**」的字面读)⇒ 两半的标签因未配对回落字面;若他们在 Web/IM 有作用域保护,说一声。
+3. **已知边界(真实产出不存在,仅登记)**:`
` 出现在**别的标签的属性里**也会分隔(我们不解析外层属性结构);另有一条**先前就存在**的怪相(本次未改、改前改后同结果):`甲
` 里 `
` 的 `>` 会提前闭合 ``。
+
+### 6. 环境
+- HEAD = **`591f298`** = `origin/android`;worktree / 分支 / 构建锁**全清**;主仓唯一脏 = `devdocs/02`。
+- 全量真跑:**126 suites / 1564 tests / 0 failures**。模拟器装最新包,`tcp:80` 已切回**真后端**。