# 認定スコープ MD ファイルの書式ガイド

`a2la-scopes.md` / `jab-scopes.md` を手編集するときのルール。ここに書いてある形を外れると
パーサ（`src/lib/md.js`）が誤読するか、`npm run validate` がエラーで止める。

編集したら必ず検証してから D1 に投入する。

```
npm run validate          # フォーマットだけ確認（D1には触らない）
npm run db:seed:local     # 検証 → シードSQL生成 → ローカル D1 に投入
npm run db:seed           # 検証 → シードSQL生成 → 本番 D1 に投入
```

エラーが出たら投入は止まる。警告は投入されるが内容を確認すること。

---

## 1. ファイル全体の構造

```
# タイトル（何でもよい、パースされない）

**Certificate Number:** RTL02770
**Organization:** SGS Japan Inc. / Wireless-EMC Service
**Valid Until:** 2028-12-31
**Accreditation Body:** JAB
**Accreditation Standard:** ISO/IEC 17025:2017 (JIS Q 17025:2018)

---

## 【施設1】施設名（所在地） {#facility-1}          ← JAB のみ。A2LA には無い

### カテゴリ名 {#facility-1-xxxxx}

- **規格番号** - 説明（省略可）
- **規格番号2**
```

## 2. メタ情報（ファイル冒頭）

`**キー:** 値` の1行で書く。パーサが認識する項目名（左側はこの通りの英語表記にする）:

| 項目名 | 必須 | 備考 |
|---|---|---|
| `Certificate Number` | ○ | 証明書番号 |
| `Organization` | ○ | 組織名 |
| `Valid Until` | ○ | `YYYY-MM-DD` 形式。証明書更新はここだけ書き換えればよい |
| `Accreditation Body` | ○ | JAB / A2LA |
| `Accreditation Standard` | - | 任意 |

**証明書更新時はこのブロックの `Valid Until`（と番号が変わった場合は `Certificate Number`）を書き換えるだけでよい。** 規格リスト側は触らない。

## 3. 施設見出し（JAB のみ）

```
## 【施設2】SGS Japan Inc. XXX Laboratory（住所）（{#facility-2}
```

- `【施設N】名前（所在地）` の形を厳守（全角括弧、施設番号は半角数字）
- 末尾のアンカー `{#facility-N}` は施設番号と一致させる
- **ラボ追加時はこのブロックをまるごと1つ増やす。** 施設番号は既存と重複させない（`validate` が重複を検知する）

A2LA には施設の概念が無いので、この見出しは使わない。

## 4. カテゴリ見出し（試験区分）

```
### M21.4.1 Continuous Disturbance Tests {#facility-2-continuous-disturbance}
```

- `###` （3つ）で始める
- 末尾のアンカー `{#...}` は **ファイル全体で一意にすること。** 同じアンカーを別のカテゴリ見出しに使い回すと、
  画面の「詳細を見る」がそのアンカーを共有する最初のカテゴリの中身を表示してしまう（実際にあった事故）。
  `validate` はこれを検知してエラーにする。
- 命名は `#facility-<施設番号>-<内容を表す短い英語>` に揃える（既存の見出しを参考にする）

## 5. 規格項目

```
- **EN 55032** - ITE only
- **EN 55011** - except 10
- **IEC 60945**
```

- `- **規格番号**` の後に ` - 説明` を続けられる（説明は省略可）
- **スコープ追加時は、該当するカテゴリの下にこの1行を追記するだけでよい。** 新しい試験区分を追加する場合は「4. カテゴリ見出し」から作る
- 同じカテゴリ内に同じ規格番号を重複して書かない（`validate` が警告する。コピペミスの検知用）

## 6. よくある更新パターン

| やりたいこと | 触る場所 |
|---|---|
| 証明書の有効期限を延長した | 冒頭メタ情報の `Valid Until`（必要なら `Certificate Number`） |
| 既存の試験区分に規格を1つ追加 | 該当する `###` 見出しの下に `- **規格番号**` を1行追加 |
| 新しい試験区分を追加 | 施設見出しの中に新しい `###` 見出し＋規格項目リストを追加。アンカーは新規で一意な名前を付ける |
| ラボ（施設）を追加 | `## 【施設N】...` 見出しから丸ごと1ブロック追加。施設番号は連番で重複しないもの |
| 規格を削除（試験区分を廃止） | 該当する `- **規格番号**` 行、または `###` 見出しごと削除 |

いずれも編集後は `npm run validate` → 問題なければ `npm run db:seed`（本番）または `db:seed:local`（手元確認用）。
