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 確認**:____ / 日期 ____