Skip to content

judgeStaleness ​

INFO

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

関数 ・ v0.4.1 で追加 ・ houki-egov-mcp / houki-nta-mcp が使用

経過日数から staleness レベルを判定する純関数。

通常は computeDaysSince の戻り値をそのまま渡す。STALENESS_THRESHOLDS (fresh_days / stale_days)に従って 'fresh' | 'stale' | 'outdated' を返す。

daysSince は 0 以上の有限の数(小数でもよい)。負の値・NaN・±Infinity は RangeError、数でない値は TypeError を投げる(v0.7.0 から。v0.6.1 までは 負の値を 'fresh'、NaN を 'outdated' にしていた)。

利用者と得られる結果 ​

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

  • houki-hub family の MCP サーバー(houki-nta-mcp など)。computeDaysSince で得た経過日数を渡して鮮度の段階を受け取り、自分の応答(取得した文書がどれだけ古いか)に載せる。family のどの MCP サーバーも同じ境界で判定するためにこの関数を使う

シグネチャ ​

import して呼ぶときの形です。パッケージの型定義(dist/index.d.ts)から写しています。

ts
function judgeStaleness(daysSince: number): StalenessLevel;
引数説明
daysSince経過日数(0 以上の有限の数)

戻り値: 'fresh' | 'stale' | 'outdated'

関係する型: StalenessLevel

例 ​

型定義の JSDoc に書かれている例です。

例
ts
judgeStaleness(0);   // 'fresh'
judgeStaleness(7);   // 'stale'  (境界: fresh_days はちょうどで stale)
judgeStaleness(29);  // 'stale'
judgeStaleness(30);  // 'outdated' (境界: stale_days はちょうどで outdated)

扱わないこと ​

この関数が意図して扱わないことです。

  • 取得時刻から経過日数を数えること(computeDaysSince)
  • MCP サーバーごとに違う境界で判定すること(境界は STALENESS_THRESHOLDS の値に固定。違う境界が要る MCP サーバーは、この関数を使わずに自分の判定関数を書く)
  • 警告の文言や再取得の手順を返すこと(各 MCP サーバーが持つ)

処理の流れ ​

仕様書の「処理の流れ」の節を、図も含めてそのまま写しています。図が大きいので畳んでいます。

処理の流れの図(仕様書の写し)

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

仕様項目の一覧 ​

この関数の仕様項目 6 件の見出しです。仕様項目は受入テストと 1 対 1 で対応していて、条件と例は仕様書ページで読めます。

仕様項目の見出し(6 件)
仕様 ID仕様項目
0017 日未満なら fresh を返す
0027 日以上 30 日未満なら stale を返す
00330 日以上なら outdated を返す
004小数の日数も境界の値と「未満」で比べて判定する
005負の値には RangeError を投げる
006NaN・Infinity・数でない値には例外を投げる

関連ページ ​

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

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