# AITerms Term Page Spec

> 最後更新：2026-05-09
> 適用範圍：所有 `/terms/{slug}` 詞條頁
> 違反任一條 = 內容 No-Go，validate-terms 會擋 build

## 1. Canonical term rule

每個概念只能有一個 active canonical page。
同義詞、縮寫、別名必須放 `aliases`，不得建立重複 active 頁。

範例：
- `/terms/mlops/` 為 canonical
- `/terms/machine-learning-operations/` MUST 為 redirect 或合併

## 2. Title rule

格式：

    中文主詞（English Term, Abbreviation）是什麼？

不通用縮寫不得放在 title 開頭。

可放主標題的縮寫：AI、ML、DL、RAG、MLOps、CI/CD、LLM、API。
不可放主標題的縮寫：GR、IT、IC、SK 等內部簡稱（這些只能進 `aliases`）。

## 3. Definition rule

短定義（`definition_short`）需在 80 字內。

長定義（`definition`）需說明：

- 這是什麼
- 解決什麼問題
- 常見使用情境
- 與相近概念差異

## 4. Source rule

技術定義優先使用：

1. 官方文件
2. 標準文件
3. 學術論文
4. 權威白皮書

法規、授權、價格、模型版本必須有直接來源。
不得用泛用首頁支撐具體主張。

## 5. iPAS rule

沒有統計來源，不得輸出百分比。

可以輸出 high / medium / low relevance，但需附理由。

範例（合規）：

    ipas_relevance: medium
    reason: 常與過擬合、模型泛化、偏差與變異一起出題

範例（違規）：

    根據歷年 iPAS，本詞平均佔 AI 技術類考題 8%

## 6. Rendering rule

HTML 不得包含 raw Markdown（`**`、`> 步驟`、連續 heading 無空行）。
Markdown 頁必須是多行 `text/markdown`。
空 section 不得輸出 heading。
表格必須用 `<table>`，不得用 blockquote 排表格。

## 7. Duplicate rule

同 `name_zh` + `name_en` 只能有一個 active page。
其他頁必須 redirect 或 archived。
slug 結尾 `-1`、`-2` 不得 active。
sitemap 不輸出 redirect / archived 頁。

---

## 實作驗證

```bash
npm run validate:terms
```

執行 `scripts/validate-terms.ts`，覆蓋 1–7 條規則。
