コード
このページでは、AIMOコード体系のフォーマット、命名規則、ライフサイクル管理を定義します。
コードフォーマット
すべてのAIMOコードは以下のフォーマットに従います:<PREFIX>-<TOKEN>
| コンポーネント | 説明 | フォーマット | 例 |
|---|---|---|---|
<PREFIX> |
次元識別子 | 大文字2文字 | FS, UC, DT |
- |
セパレータ | ハイフン | - |
<TOKEN> |
次元内の一意トークン | 3桁の数字(ゼロ埋め) | 001, 002, 003 |
例
FS-001- 機能スコープ:社内生産性UC-005- ユースケース分類:コード生成DT-004- データ種別:個人情報CH-003- チャネル:IDEプラグインIM-002- 統合形態:SaaS連携RS-001- リスク面:情報漏えいOB-001- 成果:効率化LG-001- ログ/記録種別:申請記録
ネームスペース
AIMOタクソノミーは8つの次元ネームスペースを使用します:
| ID | 名称(EN) | 名称(JA) | プレフィックス | コード数 |
|---|---|---|---|---|
| FS | Functional Scope | 機能スコープ | FS- |
6 |
| UC | Use Case Class | ユースケース分類 | UC- |
30 |
| DT | Data Type | データ種別 | DT- |
10 |
| CH | Channel | チャネル | CH- |
8 |
| IM | Integration Mode | 統合形態 | IM- |
7 |
| RS | Risk Surface | リスク面 | RS- |
8 |
| OB | Outcome / Benefit | 成果 | OB- |
7 |
| LG | Log/Event Type | ログ/記録種別 | LG- |
15 |
合計:8次元にわたる91コード
ネームスペースルール
- プレフィックスは固定:2文字の次元プレフィックス(FS、UCなど)は永続的で、変更されることはありません。
- ゼロ埋め:トークンは常に3桁で、ゼロ埋めされます(例:
1ではなく001)。 - 連番割当:新しいコードは次元内の次に利用可能な番号が割り当てられます。
- 再利用禁止:削除されたコードは異なる意味に再割当されません。
安定性ルール
コードの安定性は監査トレーサビリティにとって重要な原則です。
ID不変性
- コードIDは不変 — 一度割り当てられたコードIDは意味が変わることはありません
UC-001のようなコードは、そのライフサイクル全体を通じて常に「一般QA」を意味します- 意味を変更する必要がある場合は、代わりに新しいコードを作成します
再利用禁止ポリシー
- 非推奨または削除されたコードは、異なる意味に再割当されません
- これにより、過去の証跡が有効でトレース可能なままであることが保証されます
- 例:
UC-010が非推奨になった場合、新しいユースケースはUC-031を取得します(UC-010ではなく)
削除前の非推奨化
- コードは削除前に少なくとも1つのMINORバージョンで
deprecatedとマークされる必要があります - 削除はMAJORバージョンの増分でのみ行われます
- 詳細はライフサイクルセクションを参照
使用方法
必須次元
各AIシステムまたはユースケースについて、各必須次元から少なくとも1つのコードを指定する必要があります:
| 次元 | 選択 | 備考 |
|---|---|---|
| FS | 正確に1つ | 主要なビジネス機能 |
| UC | 1つ以上 | 実行されるタスクタイプ |
| DT | 1つ以上 | データ分類 |
| CH | 1つ以上 | アクセスチャネル |
| IM | 正確に1つ | 統合形態 |
| RS | 1つ以上 | リスクカテゴリ |
| LG | 1つ以上 | ログ/記録タイプ |
任意次元
| 次元 | 選択 | 備考 |
|---|---|---|
| OB | 0個以上 | 期待されるベネフィット(任意) |
コード構成
AIシステムを文書化する際、複数の次元からのコードを組み合わせます。構成優先度はコードを列挙する際の順序を決定します:
- FS(機能スコープ)
- UC(ユースケース分類)
- DT(データ種別)
- CH(チャネル)
- IM(統合形態)
- RS(リスク面)
- OB(成果)
- LG(ログ/記録種別)
構成例:
FS: FS-001
UC: UC-001, UC-002
DT: DT-002, DT-004
CH: CH-001
IM: IM-002
RS: RS-001, RS-003
OB: OB-001
LG: LG-001, LG-002
ライフサイクル {#lifecycle}
ステータス値
| ステータス | 説明 | バリデータの動作 |
|---|---|---|
active |
現在有効で使用中 | 受け入れ |
deprecated |
まだ有効だが削除予定 | 警告付きで受け入れ |
removed |
無効;使用禁止 | 拒否 |
ライフサイクルメタデータフィールド
辞書はこれらのフィールドでライフサイクルを追跡します:
| フィールド | 必須 | 説明 | 例 |
|---|---|---|---|
status |
はい | 現在のステータス | active |
introduced_in |
はい | コードが追加されたバージョン | 0.1.0 |
deprecated_in |
いいえ | 非推奨化されたバージョン | 1.2.0 |
removed_in |
いいえ | 削除されたバージョン | 2.0.0 |
replaced_by |
いいえ | 代替コード | UC-015 |
backward_compatible |
はい | 変更が既存の使用を破壊するかどうか | true |
非推奨化ルール
- コードは削除前に少なくとも1つのMINORバージョンで
deprecatedとマークされる必要があります - 非推奨コードには
deprecated_inバージョンと、該当する場合はreplaced_byが含まれます - 削除はMAJORバージョンの増分でのみ行われます
- 非推奨コードは非推奨期間中も後方互換性のために有効のままです
タイムラインの例:
| バージョン | ステータス | アクション |
|---|---|---|
| 0.1.0 | active |
コードUC-010が導入 |
| 1.2.0 | deprecated |
非推奨とマーク、replaced_by: UC-031 |
| 2.0.0 | removed |
バリデータで受け入れられなくなる |
バージョニング
コードの変更はセマンティックバージョニングに従います:
- MAJOR:コード削除または破壊的変更
- MINOR:新規コード追加、コード非推奨化
- PATCH:定義の明確化のみ(構造的変更なし)
後方互換性
backward_compatibleフィールドは、変更が既存の使用を破壊するかどうかを示します:
| 値 | 意味 |
|---|---|
true |
このコードを使用する既存の証跡は有効なまま |
false |
既存の証跡は更新が必要な場合がある(MAJORバージョン変更) |
バリデーション
バリデータは以下をチェックします:
- すべての必須次元に少なくとも1つのコードがある
- 単一選択次元には正確に1つのコードがある
- すべてのコードが現在のタクソノミー辞書に存在する
- コードフォーマットが
<PREFIX>-<TOKEN>パターンに一致する(例:UC-001) - 非推奨コードは警告付きでフラグされる
実装の詳細はバリデータを参照してください。
SSOT参照
!!! info "正式なソース"
正式な定義は source_pack/03_taxonomy/taxonomy_dictionary_v0.1.csv です。このページは説明用です。更新ワークフローについてはローカライゼーションガイドを参照してください。