Skip to content

getAbbreviationStats の仕様 ​

INFO

houki-abbreviations v0.7.1 の specs/current/get_abbreviation_stats/spec.md から自動生成しました(仕様 ID 6 件・2026-10-11)。手で編集しないでください。再生成は node scripts/generate-reference.mjs specs です。

辞書の件数を分野別・種別別・MCP 別に数えて返す

使いどころ・引数・実測の呼び出し例は、関数のページにあります。

最後に仕様が変わったのは v0.7.0 の「辞書の約束(名前の重なり・別名・告示)と、件数・近さの決め方」(2026-09-30 承認)です。それまでの経緯は承認の履歴にあります。

利用者と得られる結果 ​

この機能の利用者と、利用者が渡すもの・得られる結果を示します。

  • houki-hub family の MCP サーバーと、このパッケージを import する利用者のコード。起動時のログや診断で、取り込んだ辞書の件数を確かめるために呼ぶ

入力 ​

呼び出すときに渡す値です。

引数は無い。

戻り値 ​

呼び出しが返す値です。

AbbreviationStats。次の 4 つのフィールドを持つオブジェクト。

フィールド型内容
totalnumber辞書のエントリの件数
byDomainRecord<Domain, number>キーは DOMAINS の全値(定数の順)、値はその分野のエントリの件数。辞書に無い分野は 0
byCategoryRecord<Category, number>キーは CATEGORIES の全値(定数の順)、値はその種別のエントリの件数。辞書に無い種別は 0
bySourceMcpHintRecord<SourceMcpHint, number>キーは SOURCE_MCP_HINTS の全値(定数の順)、値はその MCP のエントリの件数。辞書に無い MCP は 0

件数の実数(総数 174 など)は仕様に固定しない。エントリを足すたびに変わる。

例: v0.6.1 の辞書では次の値を返す(byCategory の kokuji は spec/20261001-dictionary-rules で足す種別)。

json
{
  "total": 174,
  "byDomain": {
    "tax": 35,
    "labor": 28,
    "accounting": 9,
    "commercial": 31,
    "civil": 23,
    "administrative": 48
  },
  "byCategory": {
    "constitution": 1,
    "law": 138,
    "cabinet-order": 8,
    "imperial-ordinance": 0,
    "ministerial-ordinance": 16,
    "rule": 2,
    "kokuji": 0,
    "kihon-tsutatsu": 8,
    "kobetsu-tsutatsu": 1,
    "qa-jirei": 0,
    "tax-answer": 0,
    "hanrei": 0,
    "saiketsu": 0
  },
  "bySourceMcpHint": {
    "houki-egov": 165,
    "houki-nta": 9,
    "houki-mhlw": 0,
    "houki-jaish": 0,
    "houki-court": 0,
    "houki-saiketsu": 0
  }
}

扱わないこと ​

この機能が意図して扱わないことです。

  • 分野などで絞り込んだ件数を返すこと(引数は無い。絞り込んだ一覧は listByDomain / listByCategory / listBySourceMcpHint)
  • 辞書の版や更新日を返すこと
  • 別名の件数や、名前(略称・正式名称・別名)の総数を返すこと
  • 辞書の整合性を検査すること(validateAllEntries)

処理の流れ ​

図の中の番号は「できること」の仕様 ID の末尾 3 桁です。

仕様項目 ​

この機能の仕様項目を、仕様 ID ごとに並べています。見出しは仕様項目を 1 文で表したもので、条件・応答の細部・例は「詳細」を開くと読めます。仕様 ID はそれぞれ受入テストと対応していて、テストの無い ID があると各リポジトリの CI が止まります。

SPEC-ABBR-GET-ABBREVIATION-STATS-001 total は辞書のエントリの件数 ​

詳細

total に、辞書の全エントリ(abbreviationEntries)の件数を返す。v0.6.0 では 174。

SPEC-ABBR-GET-ABBREVIATION-STATS-002 分野別・種別別・MCP 別の件数の合計は total と等しい ​

詳細

byDomain の値の合計、byCategory の値の合計、bySourceMcpHint の値の合計は、どれも total と等しい。1 件のエントリはそれぞれの内訳でちょうど 1 回ずつ数えられる。

例: v0.6.0 では byDomain の合計 35 + 28 + 9 + 31 + 23 + 48 = 174、bySourceMcpHint の合計 165 + 9 = 174。

SPEC-ABBR-GET-ABBREVIATION-STATS-003 byDomain には 6 分野すべてが 1 件以上で入る ​

詳細

byDomain には DOMAINS の 6 つの値(tax / labor / accounting / commercial / civil / administrative)すべてがキーとしてあり、どの値も 1 以上。

SPEC-ABBR-GET-ABBREVIATION-STATS-004 呼ぶたびに新しいオブジェクトを返す ​

詳細

呼ぶたびに新しいオブジェクトを返す。byDomain・byCategory・bySourceMcpHint も呼ぶたびに新しいオブジェクトになる。返したオブジェクトやその中の値を書き換えても、次の呼び出しの結果は変わらない。

例: const s = getAbbreviationStats(); s.total = 0; s.byDomain.tax = 0; s.byCategory.law = 0 の後も、getAbbreviationStats() は total: 174、byDomain.tax: 35、byCategory.law: 138 を返す。2 回呼んだ結果は別のオブジェクト(!==)で、byDomain なども別のオブジェクト。

SPEC-ABBR-GET-ABBREVIATION-STATS-005 byDomain・byCategory・bySourceMcpHint は定数の全値をキーに、定数の順で持つ ​

詳細

byDomain のキーは DOMAINS の全値、byCategory のキーは CATEGORIES の全値、bySourceMcpHint のキーは SOURCE_MCP_HINTS の全値で、それ以外のキーは無い。Object.keys の順は定数の順と同じ。

例: Object.keys(getAbbreviationStats().byCategory) は [...CATEGORIES] と同じ配列。Object.keys(getAbbreviationStats().bySourceMcpHint) は [...SOURCE_MCP_HINTS] と同じ配列(v0.6.1 では ['houki-egov', 'houki-nta'] の 2 つだけだった)。

SPEC-ABBR-GET-ABBREVIATION-STATS-006 辞書にエントリの無い値は 0 を返す ​

詳細

辞書に 1 件も無い分野・種別・MCP のキーの値は 0。undefined にはしない。

例: getAbbreviationStats().byCategory.hanrei は 0(v0.6.1 では undefined)。getAbbreviationStats().bySourceMcpHint['houki-mhlw'] は 0。getAbbreviationStats().byCategory.law は 1 以上。

実装する人に向けた情報 ​

ここから下は、この機能を実装する人と、仕様の変更を追う人に向けた節です。使い方を知りたいだけなら、読まなくて構いません。

検討中のこと ​

仕様を書き起こしたときに見つかった項目のうち、扱いを Issue で検討しているものです。ここに挙げたことは、今後の版で変わることがあります。開くと、元の仕様書の記述をそのまま読めます。

仕様書の「未決」の節

初版起こしで見つけた、意図か不具合かを人が決める項目です。決まったら「できること」に ID を振るか、specs/changes/ の差分にします。

意図か不具合かの判断が要る項目は houki-abbreviations の Issue に移し、ここには題と Issue の番号だけを残します。今の振る舞いのままでよくテストが無いだけの項目は、受入テストを書いてから「できること」に ID を振ります。

  1. 件数が 0 の種別と MCP はキーが無い。 → SPEC-ABBR-GET-ABBREVIATION-STATS-005、SPEC-ABBR-GET-ABBREVIATION-STATS-006
  2. AbbreviationStats のキーの型が string。 → 「戻り値」の型(Record<Domain, number> / Record<Category, number> / Record<SourceMcpHint, number>)
  3. 返すオブジェクトは呼ぶたびに新しい。 → SPEC-ABBR-GET-ABBREVIATION-STATS-004
  4. キーの並び。 → SPEC-ABBR-GET-ABBREVIATION-STATS-005

承認の履歴 ​

この機能の仕様が、いつ、どの変更で承認されたかを新しい順に並べています。各リポジトリの npx spec-ids history get_abbreviation_stats と同じ内容です。変更の名前から、変更の理由と前後の振る舞いを書いた文書(GitHub)を開けます。

承認の履歴(4 件)
承認日版変更仕様 PR
2026-09-30v0.7.0辞書の約束(名前の重なり・別名・告示)と、件数・近さの決め方#32
2026-09-27v0.6.1テストが無いだけの振る舞いに仕様 ID を振る#27
2026-09-27v0.6.1「未決」のうち判断が要る 52 件を Issue に移す#26
2026-09-27—初版#10

関連ページ ​

このページの元になった文書と、あわせて読むページです。

本サイトの内容は調査の出発点であり、法的助言ではありません。個別の事案は資格を持つ専門家に相談してください。免責事項と利用範囲