# 設計決策紀錄(ADR — Architecture Decision Records)

> 記錄關鍵技術 / 架構選擇及其理由,避免後人(或未來的自己)重複爭議。

---

## ADR-001:採 Notion + Super.so + GitHub Pages 混合架構

**日期**:2026-04-25
**狀態**:已採納
**決定者**:weall888 + Claude Code

**情境**:三份藍圖(架構建議、基礎建設、MVP 藍圖)分別建議三種技術堆疊。

**選項**:
- A. 純 Notion(架構建議)
- B. Notion + Airtable + 自建前台(基礎建設)
- C. Notion + Super.so + GitHub Pages + Tally + Datawrapper(MVP 藍圖)

**決定**:**選 C**。

**理由**:
1. 承接既有 [naer-tw.github.io/policy](https://naer-tw.github.io/policy/) GitHub Pages 投資
2. 月成本最低(USD 37-41)
3. 可漸進升級至 Astro,Notion 後台不變
4. NGO 圈最常見、最容易找志工(Notion)
5. 兒少版可在 GH Pages 完全客製,不受 SaaS 樣板限制

**風險**:
- Notion 5,000 條目效能退化 → 緩解:早期拆 DB,需要時遷移 Airtable
- Super.so 相對小眾 → 緩解:可改用 Popsy 或自建 Astro
- 多平台維護成本 → 緩解:主編熟悉後可降至每週 5 小時

---

## ADR-002:Markdown + SQLite 雙軌而非純 Notion

**日期**:2026-04-25

**決定**:本地 Markdown 為單一真實來源(SSOT),Notion 為編輯前台,SQLite 為查詢與分析後端。

**理由**:
1. SaaS 服務可能漲價、被收購、停運 — Markdown 是最不會死的格式
2. Markdown 可 Git 版控、可在任何編輯器讀寫、可直接貼進任何系統
3. SQLite 是單檔資料庫,可離線、可攜帶、可寫腳本(如 `compile.py`)
4. Notion 適合人類協作,但不適合作為「永久檔案」
5. 用戶記憶中已有「Markdown + SQLite 雙軌」偏好

**Trade-off**:需要寫同步腳本(MVP 階段手動,6 個月後自動)。

---

## ADR-003:13 張表 + 顯式關聯表(總 21 張)

**日期**:2026-04-25

**決定**:採 MVP 藍圖的 13 張核心表,但把 `Person`、`Organization`、`Tag` 收進文字欄位/JSON,並加 `law_amendment`、`stat_value` 拆出時間序列。

**理由**:
- 9 張版(架構建議)缺 `submission` 雙表分離與 `report_section`,影子報告匯流會卡住
- 13 張版的 `Person`/`Org`/`Tag` 實務上會變稀疏資料,管理成本高於收益
- 加 `law_amendment` 反映「事件驅動立法」高頻使用情境(剴剴案、新北割頸案、黃子佼案)

---

## ADR-004:Submission 雙表分離(raw vs redacted)

**日期**:2026-04-25

**決定**:`submission_raw`(原始,含 PII)與 `submission_redacted`(去識別)物理分離。AI 預設只能讀 `submission_redacted`。

**理由**:
- 個資法 + 兒少保護的最低標準
- 即使 DPO 帳號被盜,AI workflow 也不會自動處理 PII
- 實作層級的防護優於「人為注意」

---

## ADR-005:用 Tally 而非 Google Forms / Typeform

**日期**:2026-04-25

**決定**:Tally(EU 託管、無 cookie tracking、免費版即含條件邏輯)。

**理由**:
- Google Forms 預設揭露教育機構網域、無法隱藏 IP
- Typeform 有 cookie tracking + 價格高
- Tally 原生支援 Notion 整合

---

## ADR-006:用「替代報告」而非「影子報告」

**日期**:2026-04-25

**決定**:對外用詞改為「Alternative Report / 替代報告 / 平行報告」,內部目錄與檔名仍可保留 `shadow_report/` 因為已建立。

**理由**:
- Child Rights Connect 2024 明確建議避免「Shadow Report」(對抗意味)
- 對接國際提交時用「Alternative」較專業

---

## ADR-007:不另建主議題,既有議題併入 12 主議題

**日期**:2026-04-25

**決定**:依托咪酯、實驗教育、剴剴案、性平公聽會等以**子議題**或**案例**形式併入 12 個主議題。詳見 [`issue_mapping.md`](issue_mapping.md)。

**理由**:
- 議題稀釋會降低監督力道
- 12 個主議題對應 NHRC 監測指標、CRC cluster 邏輯清楚
- 子議題機制保留靈活性

---

## ADR-008:不嚴守 12 週時程,改採狀態驅動

**日期**:2026-04-25

**決定**:用戶要求「直接完成」,改採 4 階段狀態驅動(骨架/填充/上線/迭代)。

**理由**:
- 用戶實際投入時間不確定,死守週次反而成壓力
- 階段條件清楚,跑多快就跑多快
- 仍保留「2027 年國際審查」的最終時程約束

---

## ADR-009:歷史代稱(剴剴案、新北割頸案、黃子佼案)的處理

**日期**:2026-04-25(Wave 1 補)
**狀態**:已採納

**情境**:重大兒少案件已被媒體與司法廣泛使用代稱(剴剴、Baby P、Kevin、黃子佼案),平台是否使用?

**決定**:
- **標題與索引**:可用通用代稱(便於檢索、與媒體討論接軌)
- **內文**:
  - 不重述創傷細節(僅保留制度監督所必需之判決事實)
  - 不揭露家屬可識別資訊(用泛稱「外祖母即監護人」「主要照顧者」)
  - 不刊登照片
  - 不簡化原因(避免「一定是社工失職」「一定是家庭問題」)
  - 焦點放在**制度缺口**,而非個人故事
- **兒少版**:**不**展示具體案例細節,以「政府正在改規則」帶過

**法源 / 倫理基礎**:
- 兒少權法第 69 條(媒體禁止揭露)— 因社會關注度極高,代稱已脫鉤具體個人,屬合理使用範圍
- WHO「六不六要」(雖為自殺報導,精神可類推)
- [`governance/child_safeguarding.md`](../governance/child_safeguarding.md) 紅線

**範例**:見 [`data/cases/C-1101_剴剴案.md`](../data/cases/C-1101_剴剴案.md) — 完整去識別化處理示範

---

## ADR-010:議題清單從 12 個擴增至 14 個(新增 PI-13 移民/無國籍/失聯兒少、PI-14 LGBTQI+ 兒少)

**日期**:2026-04-25
**狀態**:已採納
**決定者**:weall888 + Claude Code(獨立 QA 審查觸發)

**情境**:階段 1a 完成時(12 個議題卡片落成),獨立 QA 審查指出結構性盲點:

- 12 議題中 **0 個**提到跨性別 / LGBTQ+ 兒少
- 12 議題中 **0 個**提到移工子女、無國籍兒少、難民兒少、失聯兒少
- 原住民/新住民僅在 PI-01 校園霸凌一處被「順便提及」(NHRC §4.2 引文)
- 12 議題中 **6 個**與「校園/教育」直接相關 — 教育取向偏重屬實

CRC 結論性意見每輪都點名「**少數族群與弱勢兒少數據分項揭露**」(CRC2-CO17、CO25、CO50、CO52、CO61)。缺這塊就是把第三次審查的命門讓給政府,影子報告會被質疑「監督正當性」不足。

**選項**:
- A. 維持 12 個主議題,將 LGBTQI+ 與移民兒少作為**橫切議題**散見於 PI-01/04/08/12 等子議題
- B. **新增 2 個主議題**(PI-13、PI-14),補強 CRC Cluster I 與 Cluster C/D 之獨立段落
- C. 重構為 16+ 個主議題,將原住民、新住民、身心障礙也獨立化

**決定**:**選 B**。

**理由**:

1. **CRC2-CO 直接點名標準**:CRC2-CO25(無證移工子女)、CO61(難民兒少)、CO52(LGBTI 兒少)均為**獨立段落且直接點名**,符合「應為主議題」之門檻;原住民、新住民、身心障礙之 CO 段落較分散,可作橫切處理。
2. **ADR-007 「不另建主議題」之例外條件**已具備:**(a) CRC2-CO 直接段落 + (b) 既有 12 議題覆蓋不足 + (c) 影子報告監督正當性需求**三者俱備。
3. 影子報告 Cluster I(特別保護措施,字數上限 1500)在 PI-13 加入前**僅 PI-05** 一張卡片,字數遠低於 1500;Cluster C(一般原則)在 PI-14 加入前**僅 PI-08** 一張卡片。新增後仍在字數上限內(I:862/1500,C:601/1200),不影響影子報告匯流。
4. **避免議題過度膨脹**:選項 C 的 16+ 議題會稀釋監督力道,且原住民/新住民/身心障礙在台灣有獨立 CRPD/原基法/新住民基本法等專屬法制機制,可在橫切引用時對接,無需平台另建主議題。

**Trade-off**:

- **PI-14 LGBTQI+ 高度政治化**:本議題涉及宗教、教育、性別、家庭等多元社會立場。對應策略:依 [ADR-009](#adr-009) 之精神,**呈現多方立場、聚焦兒少實際處境與 CRC 標準**,引用支持與保留兩方倡議組織之意見書,以同等審慎之引用標準呈現,不就成人世界之意識形態爭論選邊。
- **PI-13 涉及複雜跨部會法制**:入出國及移民法、國籍法、難民法草案、教育就學辦法分屬內政部、衛福部、教育部、勞動部、外交部,**待建之 L 卡片**(《入出國及移民法》《國籍法》《難民法》草案)排入後續工作。
- **數據缺位是兩議題之共同特徵**:目前指標多為**待補**狀態(S-stateless-children、S-migrant-children-school、S-asylum-children、S-lgbti-discrimination、S-lgbti-school-bullying、S-lgbti-mental-health),需後續向衛福部、內政部、教育部之主動申請或公文要求公告分項統計。

**範圍**:

- 新增 [data/policy_issues/PI-13_移民無國籍與失聯兒少.md](../data/policy_issues/PI-13_移民無國籍與失聯兒少.md)(Cluster I,對應 CRC2-CO17/25/61)
- 新增 [data/policy_issues/PI-14_LGBTQI+兒少.md](../data/policy_issues/PI-14_LGBTQI+兒少.md)(Cluster C,對應 CRC2-CO17/50/52)
- 同步更新 [README.md](../README.md)(12 → 14 議題表)、[INDEX.md](../INDEX.md)、[docs/issue_mapping.md](issue_mapping.md)
- SQLite 重建驗證:`policy_issue` 表 14 筆 ✓;影子報告匯流驗證:Cluster I 與 C 字數仍在上限內 ✓

---

## 待決事項(Open Decisions)

| ID | 議題 | 狀態 |
|---|---|---|
| OD-1 | 平台中英文名稱定案(CRW-TW 是否使用)| 待決 |
| OD-2 | 網域:新註冊 vs naaes.org.tw 子網域 | 待決 |
| OD-3 | DPO + 兒少保護專員人選 | 待決 |
| OD-4 | n=1,864 家長問卷的原始檔位置 | 待客戶確認 |
| OD-5 | 是否參與 g0v 零時小學校 | 待決 |
| OD-6 | 是否爭取 NHRC MOU | 待 6 個月後評估 |
