API Changelog Bot和Claude Opus 5 0207e50800
changelog-filename-gate / validate (push) Failing after 2s
docs(changelog): #7326 团期房务分房 H9-H11 + 团期配房明细 H12(新增接口,管理后台)
面向 mmg:房务「分房」页三端点(H9 总览 / H10 人工微调 / H11 重算)
与团期详情「配房明细」只读区块(H12),四个端点全部新增。

覆盖范围写在 frontmatter 的 status_note 里,不藏在正文:
- 网关实测的是 e9855bf21;其后的 4df361bf6(days[].balanced 两端统一为纯算术)
  与 5fd39de3b(三处契约描述订正)只有单测覆盖;
- 网关实测那轮有两处前置是 SQL 直更达成的,对应的两条业务链路本轮没验过;
- 八项明确未覆盖的盲区逐条列出,这些项的契约按源码写、不按实测写。

几条前端最容易踩的,正文里逐条点名:
1. stayDate 格式错是 HTTP 200 + 响应体 code=400,不是 HTTP 400
   —— axios 那种「非 2xx 才进 catch」的拦截器不会被触发,必须在 then 里判 body.code;
   且格式提示括号不是恒有的(被拒值不像日期时只给不带括号的短句),别做 message 全等匹配。
2. days[].balanced 是纯算术口径(该日 leftover 全 0 且逐户 shortage/surplus 全 0),
   不含过时户与越界户——那两项只进根级 balanced。配了「我想知道 X 该看哪个字段」对照表。
3. H10 的 items 与 clearPlanIds 不得指向同一 planId(100001);三条上限 500/200/99。
4. 床型下拉按 bedTypeLabel 渲染,不要解析错误 message
   —— 理由不是它现在错(808131 文案已在 5fd39de3b 修对),而是错误 message 本来就不是契约。

PR 号待合并后回填(分支 feature/7326-room-allocation)。

两道校验器均通过:
- validate-changelog-frontmatter.mjs --verbose:4 个端点逐条回显、endpoint-count 4,与正文标题数对上;
- validate-changelog-filenames.mjs 的 validateChangelogPath:TARGET errors=[],
  阳性对照(日前缀改 12_)正确报 E_DAY,证明该门禁有分辨力。

Refs #7326

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-13 18:10:00 +08:00
S
描述
后端接口修改详细记录 - 自动同步
34 MiB
语言
HTML 77.2%
JavaScript 22.5%
Shell 0.3%