跳轉到

規格端待凍結清單 (Spec Freeze Action Items) — v1.5.10(2026-04-28)

發布日期: 2026-04-21
產出方: 工程端 (ENG) 盤點;本檔由需求倉補登 SSOT 錨點(單一真相來源連結)LIC 契約索引口徑對齊,供 PM/SA/治理直接引用。
前版軌跡: _inbox/archive/規格端待凍結清單_20260419.md(初版)、_inbox/archive/規格端待凍結清單_20260421.md(工程原文入口);同日 docs/ 規格端待凍結清單_20260421.md 若仍為 v1.4 或受 檔案擁有者(例如 root) 阻塞無法回寫,以本檔(規格端待凍結清單_20260424.md)v1.5.6 為準。併讀增量說明:規格端待凍結清單_20260423_增量.md
目的: 以下為工程端盤點後,仍尚未凍結或存在歧義的規格項目。需要規格端(PM/SA/治理倉)接手處理並凍結,工程端才能進行後續開發。

工程端結構化回覆(歷史封存)99_Archives/20260514_Inbox_spec-freeze-tracking/規格凍結追蹤_工程端回覆表_20260421.md
分段開工放行(規格端)docs/工程開工放行與後續補件指引_20260421.md(對齊 GitHub Issue #19
工程端額外路由揭露(Issue #24)internal_docs/20260424_Issue24_工程額外路由對照與裁決表.md(對照+規格端預設裁決起草,與本清單 #19 主軸併行


更新摘要

  • 2026-04-28 工程第二輪回填(已合併):工程端於 Issue #23 補齊 PR #11 合併證據與 CI:SL-Portal PR #11 merge SHA 8c0756d6f9238c2d6cd76e02e65800c48e934d37、main 驗證 commit cb0f970fc2e8ae891ec525f570ef9fdd7037c565、run 25036638298 validate/deploy-staging/e2e PASS。需求倉口徑維持:無新增 hard blocker,不宣告 IAM/LIC/PCM 全冊 frozen。
  • LIC110/#1 — 方案 A(2026-04-24):規格端確認維持 LIC_契約收口_裁決紀錄.md D-LIC-01=A(本輪 P0 仍僅 LIC100 menucompany context)。#1 之「高優先」係指 凍結驗收/對外行銷口徑須收斂,阻斷工程依 rolling 主冊實作;本階段 #1 完成定義=rolling 同捆完備(主冊/Errors/fixtures 與 contracts-index §1.1.1R9/R10 敘事一致)。若未來須將 LIC110 納入「可凍結驗收」範圍,須另開 CR 擴張 P0(見 §七)。
  • LIC-NAV A1(APIM/OAuth2 scope)已裁決:本階段 APIM 強制 validate-jwt 或 required scope;維持匿名與已登入雙模式,由 BFF session/後端 authz 授權;lic.navigate.resolvelic.auth.magiclink.redeem 僅保留為未來 External API scope。見 openapi_lic_ai_navigate_magiclink.yaml v1.2.2LIC AI 導覽 API 規範 §1.3
  • A2/A3 已開 CR 解除工程部署阻斷:A2 見 CR|LIC110 子集凍結與工程部署放行,A3 見 CR|LIC100 Dashboard stats 凍結與工程部署放行。兩者皆為 current-phase freeze,供工程嚴格契約測試與部署放行;宣告 LIC110 整包 full frozen,也宣告 LIC internal 主冊 full frozen。
  • Issue #24:工程端揭露 48+ 額外路由與納規建議 → 需求倉已補 對照裁決表(起草)Issue #24 對照與裁決表(細節與差異報告連結見該檔 §1LIC310 草稿 API 列為待補規格優先候選)。
  • #5/#6/#7 推進#5補登 R1 D-R1-06LIC310 雛型對照 §7 對齊(wirein_review禁止 JSON 輸出 inreview)。#6/#7:契約已併 PR #31Internal OpenAPI v0.5.7-drafterrors §3.1);對照 CR IAM120 v0.3§一 表列已標 已收斂工程CR §4OpenAPI diff 續作;交付包雛型對照 可併 PR 補連 operationId(非阻擋契約本身)。
  • #2/#3(R9)需求倉 A 類對帳:已執行並留紀錄 — internal_docs/20260424_對帳計畫與結果_LIC_R9_stats_bulkassign_需求倉SSOT.mdPASS401/403/404fixtures 關係見該檔 §3fixtures README R9 補註Errors §2.3 v1.7.1)。B 類(實作對主冊)仍由工程於 MR/契約測試對帳。
  • LIC internal 主冊 0.3.9-draftPR #21Refs #19):已補 #2 POST /110/groups/bulk-assign#3 GET /100/dashboard/statstyped schema 與裁決(company_id query 必填bulk-assign body 必填 company_iduser_logins 維持)。兩項 仍 rolling → 工程可續作;凍結驗收 gate工程開工放行與後續補件指引_20260421.md §六 節流與 §四 補件。
  • LIC-NAV(AI 導覽)/Magic Link API:已完成合約對齊(OpenAPI v1.2.2),原 #4 nav_resolve_base_url 工程端已自行實作(見 §六 表列 #13)。
  • LIC310 Draft:新增 NavResolveBaseUrl 欄位支持(待契約主冊欄位名 裁決確認,見 §六 表列 #13)。
  • ⬇️ 原 Inbox 版之 LIC-NAV nav_resolve_base_url 議題降為 🟢 Low(工程端已決議實作鍵名)。
  • #1(LIC110):依 方案 A凍結驗收仍不涵 LIC110;請以 rolling 同捆完備 對齊 §一 表列與 §七(與 contracts-index §1.1.1 R10宣告整包凍結驗收已滿足」並讀)。

一、LIC 模組(授權管理)

🔴 高優先 (High Priority — 阻斷開發)

PR 關聯:規格端針對 #1~#3 開立之 OpenAPI/CR 需求倉 PR,描述請含 Refs #19凍結追蹤 Issue #19),合併後於該 Issue 留言 PR + SHA。詳見 工程開工放行與後續補件指引_20260421.md §四

# 交付包 缺件項目 現狀說明 規格端需要的動作 影響範圍
1 LIC110 A2 已解除本階段工程部署阻斷;採 子集 current-phase freeze,非整包 full frozen CR-LIC-20260425-A2 已宣告 /110/groups* 子集可供嚴格契約測試與部署放行;整包凍結驗收仍依 LIC_契約收口_裁決紀錄.md D-LIC-01=A 涵 LIC110 工程可依 OpenAPI 0.3.11-draft、Errors §2.4、R10 fixtures 放行;若商業上須 LIC110 整包 full frozen另開 CR 擴張 P0 解除 A2 部署阻斷;仍不得宣稱 LIC110 整包已凍結
2 LIC110 bulk-assign 批次指派 API v0.3.9-draft 已定 path/body;R9 已補 examples/fixtures/Errors;工程 2026-04-28 回報已對齊,且 SL-Portal PR #11 已合併不阻斷續作;仍不宣告 full frozen 持續依 rolling 口徑做 B 類對帳;若要提升為 current-phase freeze,另併 A2 或新 CR 批次授權(工程已可對齊主冊)
3 LIC100 Dashboard stat API A3 已解除本階段工程部署阻斷GET /100/dashboard/statscurrent-phase freeze CR-LIC-20260425-A3;工程可依 OpenAPI、Errors §2.3、R9 fixtures 放行 解除 A3 部署阻斷;不宣告 LIC internal 主冊 full frozen

註 — #1 與「方案 A」:A2 目前只解除 LIC110 子集在本階段工程部署與嚴格契約測試的阻斷,宣告 LIC110 整包 full frozen。完成定義見 §七 最末列。

🟡 中優先 (Medium Priority — 影響功能完整度)

# 交付包 缺件項目 現狀說明 規格端需要的動作 影響範圍
4 LIC-NAV APIM/OAuth scopes 正式字串 已裁決:本階段不強制 APIM validate-jwt/required scope;scope 保留未來 External API 已更新 OpenAPI v1.2.2 與 API 規範 §1.3;若未來改為 APIM 強制 OAuth2 scope,須另開 CR 解除本階段部署阻斷
5 LIC310 Draft ↔ InReview status 字面值 casing 已裁定補登 R1 D-R1-06對外 JSONdraftin_reviewsnake_case);主冊 CatalogLifecycleStatus 已宣告;LIC310 雛型對照 §7 工程:API 邊界序列化/雛型 mock 不得輸出 inreview規格:併讀上列三處,無新裁決除非推翻 D-R1-06 API 互通測試
6 IAM120 display_name vs nickname 收斂 已收斂PR #31openapi_iam_internal.yaml v0.5.7-draft):display_namefull_name readOnlylegal_name 姓名 SSOTMemberProfileUpdate 不可寫 display_namefull_nameprimary_email;工程於 SL-Portal PR #11(merge 8c0756d… 回報欄位對齊完成,Issue #33 可關閉 工程:依 merged 契約 §4 實作;交付包 雛型對照/欄位表建議併小 PR 對齊 operationId 敘述;資安NTF 範本 review(併行) 個人資料頁欄位映射
7 IAM120 Email 變更流程 已收斂 — 同上 PR #31POST …/primary-email-change-requests…/completeerrors_iam_internal.md §3.1 IAM_ERR_EMAIL_CHANGE_*;工程 2026-04-28 回報已實作且不再阻斷(PR #11 已合併) 工程§4/E2E;BFF/IAM100 magic link 銜接 TODO 另 MR;資安NTF 防釣魚文案 review 個人資料修改功能

🟢 低優先 (Low Priority — 不阻斷核心流程)

# 交付包 缺件項目 現狀說明 規格端需要的動作 影響範圍
8 LIC310 LIC320/330 Dictionary API 尚未出 OpenAPI 納入下一版或正式排除 Catalog 進階查詢
9 IAM120 Anti-merge / 敏感資料遮罩策略 規則已敘述但未凍結 凍結遮罩規則 安全合規
10 PCM120 匯出功能 明確標記為「next slice」不在本輪 確認排除或納入 報表匯出
11 PCM110 dispute_meeting_ref 是否必填 產品端待決 出裁決 核准表單驗證
12 PCM130 Sub-program codes 枚舉 待定 定義枚舉值 歷程篩選
13 LIC310 nav_resolve_base_url 正式 key 名稱確認 工程端已實作為 NavResolveBaseUrl,等待契約確認命名 確認正式 key name Draft DTO 命名
14 LIC310 risk_level 欄位 雛型有此欄位但契約無對應 決定是否納入契約或移除 Catalog Review UI

二、跨模組缺件

# 項目 現狀 需要的動作
15 LIC 全模組 OpenAPI 凍結 contracts-index 已登錄 0.3.12-draft、A2/A3 current-phase freeze 與工程第二輪回填;主冊整體仍 rolling 持續遞版索引與回填工程 merge SHA;不得把 A2/A3 或 77/77 覆蓋率解讀為全冊 full frozen
16 LIC DDL/Schema 群組、AuditEvent、Catalog schema 未凍結 凍結邏輯實體與欄位語意
17 IAM420 駁回 platform_reject_reason 是否補欄 待產品確認
18 IAM220 status enum SSOT、rejected 原因揭露政策 待定
19 IAM300 BIL 繳費介面 bil_order_id 待 OpenAPI 凍結 BIL 介接 schema

三、建議處理優先順序

  1. 立即處理 (#1/方案 A): 確認 LIC110 rolling 同捆(主冊/Errors/fixtures 與 contracts-index §1.1.1R9/R10)敘事一致,並更新交付包/放行用語 — 阻斷的是「誤宣稱 LIC110 已凍結驗收」,阻斷工程對 rolling 主冊續作;2026-04-28 工程回填已確認目前可續作且無新增 hard blocker。
  2. 並行處理 (#2, #3): 主冊已定義路徑與 schema — 補 Errors/fixtures/索引 並於 Issue #19 對帳;宣稱 P0 凍結子集full frozen 驗收(見放行指引 §六)。
  3. 本週處理 (#5 及後續低優先): LIC310 casing 等剩餘項目依表列續收斂;#4/#6/#7 已裁決或已收斂
  4. 下輪處理 (#8-#19): 低優先或已明確排除的項目

四、工程端已自行完成的項目(本輪新增)

以下為本輪工程端自行完成的合約對齊修正,不需規格端動作:

項目 修正內容 對齊目標
✅ LIC-NAV Navigate/Resolve Request DTO 新增 intent_text/intent_key/action_key/locale OpenAPI v1.2.1
✅ LIC-NAV Navigate/Resolve Response 新增 authz_allowed(required)/message(required)/reason_code/email_dispatched/candidate.score OpenAPI v1.2.1
✅ LIC-ML MagicLink Redeem Response 移除 token/memberId/displayName;新增 target_program_code/consumption OpenAPI v1.2.1(安全:response 不含 access token)
✅ LIC-ML HTTP Status Code 所有錯誤統一 403(原為 401) OpenAPI v1.2.1 Wave 4 規定
✅ LIC Error Envelope 改為 { code, message, request_id, trace_id } 格式 OpenAPI v1.2.1 ErrorResponse schema
✅ X-Request-Id Header 讀取並回傳 request_id OpenAPI v1.2.1 required header
✅ LIC310 ProgramDraft 新增 NavResolveBaseUrl 欄位 LIC310-F01 規格要求
✅ MagicLink Session 改為 HttpOnly Cookie(BFF pattern) OpenAPI v1.2.1 安全規範
✅ LIC internal #2/#3 bulk-assignGET /100/dashboard/stats 入主冊 typed schema0.3.9-draft PR #21Refs #19
✅ Frontend 合約對齊 更新 TypeScript types + API hooks + pages 與後端 DTO 一致

五、對整體產品的影響評估

風險等級 影響描述
🟡 LIC110 #1/A2:已以 子集 current-phase freeze 解除本階段工程部署阻斷;仍不得宣稱「LIC110 整包 full frozen」。
🟢 Dashboard(#3/A3):已以 current-phase freeze 解除本階段工程部署阻斷;不宣告 LIC internal 主冊 full frozen。
🟢 APIM scope 已完成 A1 本階段裁決:不強制 APIM validate-jwt/required scope;保留未來 External API scope,若外部化再開 CR。
🟢 其餘項目不阻斷核心流程,可排入下一輪。

結論: 所有已凍結規格均已完整對齊實作(含 LIC-NAV OpenAPI v1.2.2 A1 裁決),無工程端遺漏。

2026-04-28 補充:工程端已將原 9 項阻斷追蹤降為 5 項後續裁決(IAM BIL bil_order_id、PCM dispute_meeting_ref、PCM sub-program codes、LIC APIM scope、LIC contracts-index 後續遞版)。上述 5 項均不阻斷目前工程,但仍須依各模組 SSOT 或 CR 排程處理。


六、SSOT 錨點補件

用途:將上表每一項對到「應改哪裡」之既有路徑;取代 PM/SA 之裁決與 OpenAPI 正文撰寫。

# 建議主責 SSOT/交付物(相對 repo 根目錄) 補充
1 LIC/02_Analysis/openapi_lic_internal.yamlLIC110 群組 CRUD/membership/programs 區段);LIC/99_Delivery/交付開發包_LIC110_群組與授權建檔目錄/LIC/02_Analysis/20260320_Rules_LIC_授權異動稽核事件_AuditEvent.mdTRK/03_Solution/2B/LIC/contracts-index.md §1.1.1 #1方案 A:仍 rolling凍結驗收不涵本包—不得宣稱整包已凍;與 AuditEvent 語意一致;與 R10宣告 待凍結清單 #1 整包凍結驗收已滿足」並讀
2 LIC/02_Analysis/openapi_lic_internal.yamlPOST /110/groups/bulk-assign);同上 LIC110 交付包 #2:主冊 v0.3.9-draft 已定 path/body(PR #21);仍 rolling—補 Errors/fixturescontracts-index
3 LIC/99_Delivery/交付開發包_LIC100_程式授權中樞目錄/openapi_lic_internal.yamlGET /100/dashboard/stats #3:已入主冊 typed schema仍 rolling P0 凍結子集(見 contracts-index、放行指引 §六
4 LIC/02_Analysis/openapi_lic_ai_navigate_magiclink.yamlv1.2.1§1.3 x-oauth2-apim-proposed-scopes);LIC/02_Analysis/20260324_API_LIC_AI導覽與深連結.md IAM/資安 audience 字串聯合凍結
5 LIC/02_Analysis/openapi_lic_internal.yamlCatalogLifecycleStatus);補登 R1 D-R1-06LIC310 雛型對照 §7 #5D-R1-06 已定 wire;工程 JSON 不得使用 inreview;推翻須新 CR
6, 7, 9 IAM/02_Analysis/20260425_CR_IAM120_顯示名稱收斂與Email變更流程.mdv0.3);PR #31IAM/02_Analysis/openapi_iam_internal.yamlv0.5.7-draft);IAM/02_Analysis/errors_iam_internal.md§3.1);IAM/99_Delivery/交付開發包_IAM120_會員主檔與登入綁定維護/ #6/#7:契約已 merge;#9 仍另列;建議於 Issue #19 留言 PR #31 + SHA f956e8c(慣例)
8 TRK/03_Solution/2B/LIC/contracts-index.md §1.2LIC/02_Analysis/20260419_補登_Inbox規格端待凍結清單_LIC低優先與索引_R2.md R2 已敘述 320/330 唯讀納主冊、寫入排除
10 PCM/99_Delivery/交付開發包_PCM120_平台自申請待審與裁定/README.md 確認 next slice 是否本輪排除
11 PCM/99_Delivery/交付開發包_PCM110_*(核准表單相關交付包)之 01_規格/ 以產品裁決更新驗收條件
12 PCM/99_Delivery/交付開發包_PCM130_審核歷程與歸檔查詢/01_規格/ 枚舉納 SSOT 字典或 OpenAPI
13 LIC/99_Delivery/交付開發包_LIC310_ProgramCatalog草稿與審核目錄/03_附錄/工程師開工指引.mdopenapi_lic_internal.yaml(待補 ProgramDraft 欄位) 工程已用 NavResolveBaseUrl;需 主冊/External Draft 對齊命名
14 LIC/99_Delivery/交付開發包_LIC310_* 雛型與欄位對照;20260323_API_LIC_Program_Catalog_External_Draft.md 擇一:納契約刪雛型欄位
15 TRK/03_Solution/2B/LIC/contracts-index.mdLIC/02_Analysis/20260403_CR_LIC_全模組契約凍結_單一internal_OpenAPI策略.mdLIC/99_Delivery/LIC_契約收口_裁決紀錄.md §七
16 LIC/02_Analysis/20260320_Rules_LIC_授權異動稽核事件_AuditEvent.mdLIC/99_Delivery/交付開發包_LIC110_*/03_附錄/schema_參考.md contracts-index §1.2 已標 DDL 本輪 excluded
17 IAM/99_Delivery/交付開發包_IAM420_關閉公司帳號申請/ 產品確認後更新 OpenAPI/欄位表
18 IAM/99_Delivery/交付開發包_IAM220_我的加入申請/01_規格/雛型欄位與OpenAPI對照表_IAM220.md status enumPCM 對齊單一 SSOT
19 IAM/99_Delivery/交付開發包_IAM300_*(若路徑不同請以 IAM SSOT Map 為準);BIL 契約倉路徑(跨模組) 多 Repo OpenAPI 治理 登錄 BIL 介接版次

LIC-NAV/ML v1.2.1 機器可讀契約(工程已對齊)

  • LIC/02_Analysis/openapi_lic_ai_navigate_magiclink.yaml
  • 人讀敘述:LIC/02_Analysis/20260324_API_LIC_AI導覽與深連結.md
  • CRLIC/02_Analysis/20260417_CR_LIC_Wave4_AI導覽_MagicLink_規格凍結.md

七、contracts-index 與 P0 裁決口徑

議題 說明
#15 與「全列 frozen」 工程盤點期望 contracts-index 每列標示 frozenexcluded_from_freeze。需求倉現行上位裁決為:在 freeze window 完成前,不得以 frozen 宣告「LIC internal 主冊整體最終凍結」,且 P0 收口子集僅含 LIC100GET /authz/menuGET /companies(company context)LIC110~310 等列為 rollingexcluded_from_freeze(見 TRK/03_Solution/2B/LIC/contracts-index.md 開頭註記與 §1.2)。
規格端實務動作 #15 落實為:逐列標示 frozenrollingexcluded_from_freeze 之一並附 CR/版次不得把「索引表上出現 frozen 字樣」等同「全模組契約已最終凍結」。若需擴張 P0 子集,必須走 LIC_契約收口_裁決紀錄 與新 CR
與本清單 #1~#3 的關係 #1方案 A):「缺主冊就無法開發」—工程可對 rolling 續作;缺口在 凍結驗收敘事索引/交付包 用語須與 D-LIC-01=Acontracts-index R10 一致。#2/#3 已有主冊 operationId/schema0.3.9-draft 起)但 仍 rolling不得P0full frozen 驗收。contracts-index治理面 登錄。兩者並行:OpenAPI/fixtures/Errors(PR 請 Refs #19),回寫索引列狀態;若需 LIC110 可凍結驗收新 CR 擴張 P0
A2/A3 放行後口徑 A2/110/groups* 子集為 current-phase freeze,可供工程部署放行,但 LIC110 整包仍非 full frozen。A3GET /100/dashboard/statscurrent-phase freeze,可供工程部署放行。兩者皆不宣告 LIC internal 主冊 full frozen
#1 完成定義(方案 A) rolling 同捆完備+A2 子集放行openapi_lic_internal.yamlLIC110 相關 path)、20260323_Errors_LIC_授權與Catalog_reason.md(含 §2.4 等)、fixtures/apicontracts-index §1.0/§1.1.1R9/R10/A2)敘事一致;交付包 README/放行指引不宣稱 LIC110 整包凍結驗收

本文件由工程端盤點起稿,2026-04-21docs/ 補登錨點後發布;v1.5 全併正文另見本檔路徑。請規格端逐項確認後回覆處理結果。補登追溯:LIC/02_Analysis/20260421_補登_Inbox規格端待凍結清單_發布版與SSOT錨點.md
v1.2:增連結至工程端結構化回覆表 99_Archives/20260514_Inbox_spec-freeze-tracking/規格凍結追蹤_工程端回覆表_20260421.md
v1.3:增連結至分段開工放行 docs/工程開工放行與後續補件指引_20260421.md(Issue #19)。
v1.4:高優先 #1~#3 增 PR 須 Refs #19 與 Issue 留言慣例。
v1.5(本檔):#2/#3 對齊主冊 PR #210.3.9-draft#1 仍列高優先;§一~§三、§五~§六、§七 同步敘事;發布於 docs/規格端待凍結清單_20260424.md
v1.5.1:增 Issue #24 對照裁決表連結(internal_docs/20260424_Issue24_工程額外路由對照與裁決表.md);YAML version → 1.5.1
v1.5.2:載入 LIC110/#1 方案 A2026-04-24)— 維持 D-LIC-01=A#1 改為 rolling 同捆完備 完成定義;同步 §一、§三、§五、§六、§七YAML version → 1.5.2
v1.5.3:#2/#3(R9) 需求倉 A 類對帳 紀錄(internal_docs/20260424_對帳計畫與結果_LIC_R9_stats_bulkassign_需求倉SSOT.md);Errors v1.7.1fixtures README v1.7.1R9 補註);YAML version → 1.5.3
v1.5.4:#5 對齊 R1/D-R1-06LIC310 §7#6/#7IAM CRIAM/02_Analysis/20260425_CR_IAM120_顯示名稱收斂與Email變更流程.md);YAML version → 1.5.4
v1.5.5:#6/#7 同步 CR v0.3(§2.1/§2.2 產品裁定已定);下一棒 SA §3契約 PRYAML version → 1.5.5
v1.5.6:#6/#7 契約已併 PR #31f956e8c);表列改 已收斂YAML version → 1.5.6 v1.5.7:LIC-NAV A1/#4 裁決:本階段 在 APIM 強制 validate-jwt/required scope;OpenAPI v1.2.2;表列改 解除本階段部署阻斷YAML version → 1.5.7 v1.5.8:新增 A2/A3 CR:LIC110 子集與 Dashboard stats current-phase freeze 供工程部署放行;表列改 解除本階段工程部署阻斷YAML version → 1.5.8 v1.5.9:補登工程端 2026-04-28 第二輪回填包(Issue #23/#19):77/77 operations 覆蓋、CI 綠燈、無新增 hard blocker;SL-Portal PR #11 尚 pending merge,僅列待 merge SHA 對帳;YAML version → 1.5.9 v1.5.10:補登 SL-Portal PR #11 合併證據(merge SHA 8c0756d…、main 驗證 commit cb0f970…、run 25036638298 PASS),將 #2/#6/#7 與更新摘要由 pending merge 改為已完成工程對帳;YAML version → 1.5.10 v1.5.11:將 2026-04-21 工程回覆表連結改指向 99_Archives/20260514_Inbox_spec-freeze-tracking/,避免 _inbox 與正式文件雙源;YAML version → 1.5.11