Impact Report 輸出模板

寫入 audit/{feature}-{YYYY-MM-DD}-{stage}.md 的標準格式。 Partner skill 在步驟 6(組裝寫檔)時組裝此模板。 對應 product-module-development-workflow.md §跨階段一致性檢視。


模板全文

# Consistency Audit: {feature} / {modified-stage}
 
- **修改文件**:{path}
- **修改日期**:{YYYY-MM-DD}
- **編輯者**:{name}
- **Diff 摘要**:{一句話概述改動}
- **Audit 觸發時點**:mid-stage edit / 簽核前 / commit 前
 
---
 
## 上游一致性
 
| 項目 | 狀態 | 說明 |
|---|---|---|
| {依該階段 audit 範圍逐項列} | ✅ / ⚠️ / ❌ | {含具體出處的一句話} |
| ... | ... | ... |
 
### 需討論項目
 
> ⚠️ 集中於此,由人裁定。
 
1. {問句形式}:…
2. ...
 
### 矛盾項目
 
> ❌ 必須處理才能簽核被改文件。
 
1. **{項目名}** — 上游 {出處} 規定 {Y},本次改動 {Z},違反此規定。
2. ...
 
---
 
## 下游影響
 
| 下游文件 | 受影響章節 | 行動 |
|---|---|---|
| {path} | {§編號 / 行號 / 章節名} | 需更新 / 需重看 / 測試重跑 / 引用失效 |
| ... | ... | ... |
 
> 行動標籤定義見 `workflow.md` §步驟 5。
> 下游更新由該階段的 partner skill 執行,本 audit 不開處方。
 
---
 
## 建議行動清單
 
- [ ] {只列「跑完 audit 後可立刻打勾」的具體行動}
- [ ] {⚠️ 項目逐條轉為「與 stakeholder X 確認 Y」}
- [ ] {❌ 項目逐條轉為「處理矛盾項目 N」並標必達}
- [ ] {下游 需更新 項目逐條轉為「開 {partner-skill} 更新 {path} §{n}」}
- [ ] {Code 引用失效項目轉為「修 Javadoc § 引用」}
 
---
 
## 統計
 
- ✅ {N} | ⚠️ {M} | ❌ {K}
- 下游受影響點:{X}
- 簽核擋判定:{擋 / 不擋}(❌ > 0 即擋)
 
---
 
## 簽核
 
- [ ] **編輯者已跑過 audit**____ / 日期 ____
- [ ] **AI 產出 Impact Report**:consistency-audit skill / {YYYY-MM-DD}
- [ ] **Reviewer 確認**____ / 日期 ____
 
> ❌ 項目未處理前,本 audit 不應該簽核通過。
> 上游階段文件(被改的那份)的 Exit Gate 簽核也應同步等待。
 

連結慣例(GFM,寫檔時遵循)

完整規則見 product-module-development-workflow.md §可追溯性「連結慣例(GFM)」。本階段重點:

  • 修改文件 / 下游文件路徑:寫成相對路徑 markdown 連結。audit 檔在 audit/(單層),連到 spec 各階段用 ../spec/{feature}/…,如 [ooa](../spec/{feature}/{feature}.ooa.md)
  • 受影響章節的 §編號:行內維持純文字(§ 是 pseudo-code / spec 的穩定編號載體,audit 只引述不跳轉)。
  • 標籤一律含非數字字元;純數字 #1 不是合法 tag。

組裝檢查清單

寫檔前確認:

  • 標頭五項全填(修改文件、日期、編輯者、Diff 摘要、觸發時點)
  • 上游一致性表每項都有狀態 + 說明(含出處)
  • ❌ 項目有明確上游出處,不是「感覺不對」
  • ⚠️ 項目寫成問句,不寫成判決
  • 下游影響表每項都有行動標籤
  • 沒有開處方(沒寫「改成 X」這種話)
  • 建議行動清單可勾選 / 可指派
  • 統計三數字與內容相符
  • 簽核三條欄位留空

命名與路徑

audit/
├── login-2026-06-01-fs.md          ← FS 改動的 audit
├── login-2026-06-02-ooa.md         ← OOA 改動的 audit
├── fine-schedule-2026-06-05-pc.md  ← pseudo-code 改動的 audit
└── ...
  • feature:與被改文件同名
  • 日期:今日(audit 跑的日期)
  • stage 後綴fs / ooa / pc

同一個 feature 一天內多次跑 audit → 加序號:login-2026-06-01-fs-2.md


行動標籤對照

標籤觸發條件後續對應的 skill
需更新下游內容受改動影響,必須改改下游文件 → 開該階段對應的 partner skill
需重看不一定要改,需人讀過確認由人自行 review
測試重跑code 行為可能變由實作者或 CI 跑測試
引用失效Javadoc 或文件內 § 編號已不存在改 Javadoc / 文件引用,無需重做設計

例子:FS 改動的 Impact Report 片段

# Consistency Audit: login / functional-spec
 
- **修改文件**:[spec/login/login.fp.md](../spec/login/login.fp.md)
- **修改日期**:2026-06-01
- **編輯者**:Alan
- **Diff 摘要**:UC A1 input 從 username 改為 email;新增 B6 邊界(email 格式錯誤)
- **Audit 觸發時點**:commit 前
 
---
 
## 上游一致性
 
| 項目 | 狀態 | 說明 |
|---|---|---|
| Problem Statement 範圍 | ✅ | 改動仍在「使用者以電子身分登入」範圍內 |
| Requirement 素材覆蓋 | ⚠️ | requirement 2026-05-20 訪談筆記提到「考慮支援 email 登入」但未明確要求;需 PO 裁定 |
| 既有素材矛盾 | ✅ | 無 |
 
### 需討論項目
 
1. requirement 2026-05-20 訪談筆記只是「考慮支援」,本次 FS 改動把它定為 input 的唯一形式 — 是否需 PO 確認此擴張?
 
### 矛盾項目
 
(無)
 
---
 
## 下游影響
 
| 下游文件 | 受影響章節 | 行動 |
|---|---|---|
| [spec/login/login.ooa.md](../spec/login/login.ooa.md) | §3 User class 的 `username` 屬性 | 需更新 |
| [spec/login/login.pseudo.md](../spec/login/login.pseudo.md) | §2.1 驗證流程(引用 username 欄位) | 需更新 |
| [spec/login/login.pseudo.md](../spec/login/login.pseudo.md) | §{SHORT}-FS-5 邊界處理(§{SHORT}-FS-6 新增) | 需更新 |
| LoginService.java | line 42-78(讀取 username 欄位) | 引用失效 + 測試重跑 |
 
---
 
## 建議行動清單
 
- [ ] 與 PO 確認 email-only 登入是否為本期 scope(⚠️1)
- [ ] 開 object-oriented-analysis-partner 更新 spec/login/login.ooa.md §3 User class
- [ ] 開 pseudo-code-partner 更新 spec/login/login.pseudo.md §2.1 與新增 B6 對應分支
- [ ] 由實作者修 LoginService.java 與測試
 
---
 
## 統計
 
- ✅ 2 | ⚠️ 1 | ❌ 0
- 下游受影響點:4
- 簽核擋判定:不擋
 
---
 
## 簽核
 
- [ ] **編輯者已跑過 audit**____ / 日期 ____
- [ ] **AI 產出 Impact Report**:consistency-audit skill / 2026-06-01
- [ ] **Reviewer 確認**____ / 日期 ____