規格端待凍結清單 (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 驗證 commitcb0f970fc2e8ae891ec525f570ef9fdd7037c565、run25036638298validate/deploy-staging/e2e PASS。需求倉口徑維持:無新增 hard blocker,不宣告 IAM/LIC/PCM 全冊 frozen。 - LIC110/#1 — 方案 A(2026-04-24):規格端確認維持
LIC_契約收口_裁決紀錄.mdD-LIC-01=A(本輪 P0 仍僅 LIC100menu/company context)。#1 之「高優先」係指 凍結驗收/對外行銷口徑須收斂,不阻斷工程依 rolling 主冊實作;本階段 #1 完成定義=rolling 同捆完備(主冊/Errors/fixtures 與contracts-index§1.1.1、R9/R10 敘事一致)。若未來須將 LIC110 納入「可凍結驗收」範圍,須另開 CR 擴張 P0(見 §七)。 - LIC-NAV A1(APIM/OAuth2 scope)已裁決:本階段 不在 APIM 強制
validate-jwt或 required scope;維持匿名與已登入雙模式,由 BFF session/後端 authz 授權;lic.navigate.resolve、lic.auth.magiclink.redeem僅保留為未來 External API scope。見openapi_lic_ai_navigate_magiclink.yamlv1.2.2 與 LIC 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 對照與裁決表(細節與差異報告連結見該檔 §1;LIC310 草稿 API 列為待補規格優先候選)。
- #5/#6/#7 推進:#5 與 補登 R1 D-R1-06 及 LIC310 雛型對照 §7 對齊(wire=
in_review,禁止 JSON 輸出inreview)。#6/#7:契約已併 PR #31(Internal OpenAPI v0.5.7-draft、errors §3.1);對照 CR IAM120 v0.3;§一 表列已標 已收斂;工程 依 CR §4/OpenAPI diff 續作;交付包雛型對照 可併 PR 補連 operationId(非阻擋契約本身)。 - #2/#3(R9)需求倉 A 類對帳:已執行並留紀錄 —
internal_docs/20260424_對帳計畫與結果_LIC_R9_stats_bulkassign_需求倉SSOT.md(PASS;401/403/404 與 fixtures 關係見該檔 §3 及 fixtures README R9 補註、Errors §2.3 v1.7.1)。B 類(實作對主冊)仍由工程於 MR/契約測試對帳。 - LIC internal 主冊
0.3.9-draft(PR #21,Refs #19):已補 #2POST /110/groups/bulk-assign、#3GET /100/dashboard/stats之 typed schema 與裁決(company_idquery 必填、bulk-assign body 必填company_id、user_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/stats 標 current-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 — 對外 JSON 僅 draft/in_review(snake_case);主冊 CatalogLifecycleStatus 已宣告;LIC310 雛型對照 §7 |
工程:API 邊界序列化/雛型 mock 不得輸出 inreview;規格:併讀上列三處,無新裁決除非推翻 D-R1-06 |
API 互通測試 |
| 6 | IAM120 | display_name vs nickname 收斂 |
已收斂 — PR #31(openapi_iam_internal.yaml v0.5.7-draft):display_name/full_name readOnly;legal_name 姓名 SSOT;MemberProfileUpdate 不可寫 display_name/full_name/primary_email;工程於 SL-Portal PR #11(merge 8c0756d…) 回報欄位對齊完成,Issue #33 可關閉 |
工程:依 merged 契約 §4 實作;交付包 雛型對照/欄位表建議併小 PR 對齊 operationId 敘述;資安:NTF 範本 review(併行) | 個人資料頁欄位映射 |
| 7 | IAM120 | Email 變更流程 | 已收斂 — 同上 PR #31:POST …/primary-email-change-requests、…/complete;errors_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/方案 A): 確認 LIC110 rolling 同捆(主冊/Errors/fixtures 與
contracts-index§1.1.1、R9/R10)敘事一致,並更新交付包/放行用語 — 阻斷的是「誤宣稱 LIC110 已凍結驗收」,不阻斷工程對 rolling 主冊續作;2026-04-28 工程回填已確認目前可續作且無新增 hard blocker。 - 並行處理 (#2, #3): 主冊已定義路徑與 schema — 補 Errors/fixtures/索引 並於 Issue #19 對帳;勿宣稱 P0 凍結子集 或 full frozen 驗收(見放行指引 §六)。
- 本週處理 (#5 及後續低優先): LIC310 casing 等剩餘項目依表列續收斂;#4/#6/#7 已裁決或已收斂
- 下輪處理 (#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-assign、GET /100/dashboard/stats 入主冊 typed schema(0.3.9-draft) |
PR #21(Refs #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.yaml(LIC110 群組 CRUD/membership/programs 區段);LIC/99_Delivery/交付開發包_LIC110_群組與授權建檔目錄/;LIC/02_Analysis/20260320_Rules_LIC_授權異動稽核事件_AuditEvent.md;TRK/03_Solution/2B/LIC/contracts-index.md §1.1.1 |
#1/方案 A:仍 rolling;凍結驗收不涵本包—不得宣稱整包已凍;與 AuditEvent 語意一致;與 R10「不宣告 待凍結清單 #1 整包凍結驗收已滿足」並讀 |
| 2 | LIC/02_Analysis/openapi_lic_internal.yaml(POST /110/groups/bulk-assign);同上 LIC110 交付包 |
#2:主冊 v0.3.9-draft 已定 path/body(PR #21);仍 rolling—補 Errors/fixtures 與 contracts-index |
| 3 | LIC/99_Delivery/交付開發包_LIC100_程式授權中樞目錄/;openapi_lic_internal.yaml(GET /100/dashboard/stats) |
#3:已入主冊 typed schema;仍 rolling;非 P0 凍結子集(見 contracts-index、放行指引 §六) |
| 4 | LIC/02_Analysis/openapi_lic_ai_navigate_magiclink.yaml(v1.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.yaml(CatalogLifecycleStatus);補登 R1 D-R1-06;LIC310 雛型對照 §7 |
#5:D-R1-06 已定 wire;工程 JSON 不得使用 inreview;推翻須新 CR |
| 6, 7, 9 | IAM/02_Analysis/20260425_CR_IAM120_顯示名稱收斂與Email變更流程.md(v0.3);PR #31;IAM/02_Analysis/openapi_iam_internal.yaml(v0.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.2;LIC/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_附錄/工程師開工指引.md;openapi_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.md;LIC/02_Analysis/20260403_CR_LIC_全模組契約凍結_單一internal_OpenAPI策略.md;LIC/99_Delivery/LIC_契約收口_裁決紀錄.md |
詳 §七 |
| 16 | LIC/02_Analysis/20260320_Rules_LIC_授權異動稽核事件_AuditEvent.md;LIC/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 enum 與 PCM 對齊單一 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 - CR:
LIC/02_Analysis/20260417_CR_LIC_Wave4_AI導覽_MagicLink_規格凍結.md
七、contracts-index 與 P0 裁決口徑
| 議題 | 說明 |
|---|---|
| #15 與「全列 frozen」 | 工程盤點期望 contracts-index 每列標示 frozen 或 excluded_from_freeze。需求倉現行上位裁決為:在 freeze window 完成前,不得以 frozen 宣告「LIC internal 主冊整體最終凍結」,且 P0 收口子集僅含 LIC100 之 GET /authz/menu、GET /companies(company context);LIC110~310 等列為 rolling 或 excluded_from_freeze(見 TRK/03_Solution/2B/LIC/contracts-index.md 開頭註記與 §1.2)。 |
| 規格端實務動作 | 將 #15 落實為:逐列標示 frozen/rolling/excluded_from_freeze 之一並附 CR/版次;不得把「索引表上出現 frozen 字樣」等同「全模組契約已最終凍結」。若需擴張 P0 子集,必須走 LIC_契約收口_裁決紀錄 與新 CR。 |
| 與本清單 #1~#3 的關係 | #1(方案 A):非「缺主冊就無法開發」—工程可對 rolling 續作;缺口在 凍結驗收敘事與 索引/交付包 用語須與 D-LIC-01=A、contracts-index R10 一致。#2/#3 已有主冊 operationId/schema(0.3.9-draft 起)但 仍 rolling,不得當 P0 或 full frozen 驗收。contracts-index 為 治理面 登錄。兩者並行:先補 OpenAPI/fixtures/Errors(PR 請 Refs #19),再回寫索引列狀態;若需 LIC110 可凍結驗收 → 新 CR 擴張 P0。 |
| A2/A3 放行後口徑 | A2:/110/groups* 子集為 current-phase freeze,可供工程部署放行,但 LIC110 整包仍非 full frozen。A3:GET /100/dashboard/stats 為 current-phase freeze,可供工程部署放行。兩者皆不宣告 LIC internal 主冊 full frozen。 |
| #1 完成定義(方案 A) | rolling 同捆完備+A2 子集放行:openapi_lic_internal.yaml(LIC110 相關 path)、20260323_Errors_LIC_授權與Catalog_reason.md(含 §2.4 等)、fixtures/api 與 contracts-index §1.0/§1.1.1(R9/R10/A2)敘事一致;交付包 README/放行指引不宣稱 LIC110 整包已 凍結驗收。 |
本文件由工程端盤點起稿,2026-04-21 於 docs/ 補登錨點後發布;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 #21、0.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 方案 A(2026-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.1、fixtures README v1.7.1(R9 補註);YAML version → 1.5.3。
v1.5.4:#5 對齊 R1/D-R1-06 與 LIC310 §7;#6/#7 立 IAM CR(IAM/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/契約 PR;YAML version → 1.5.5。
v1.5.6:#6/#7 契約已併 PR #31(f956e8c);表列改 已收斂;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。