AI に給付金審査を作らせてみた — 3回手組みされた「審査ワークフロー」を、ついに部品にした(やってみた #76)
/benefit-screening375px のビューポートで撮影。縦長のページはフレーム内をスクロールします。
解説記事
AI に給付金審査を作らせてみた — 3回手組みされた「審査ワークフロー」を、ついに部品にした(やってみた #76)
やってみたシリーズ: 自作のデザインシステム
@gunjo/ui(群青)を、文脈ゼロの cold な AI に実 UI で作らせる連載。公共/自治体2枚目——給付金 / 生活支援給付 審査(多段審査WF × 資格判定 × 必要書類 × 決定署名 × 支給額)。
公共の2枚目は給付金審査。申請受付→書類審査→資格判定→世帯収入調査→決定→支給 と進める画面。そして #63 賃貸審査・#75 自治体窓口・#76 給付金審査 で3回手組みされた「インタラクティブ審査ワークフロー」を、3回ルールでついに部品化した回。
結果 — 4/5
tsc/build 緑・console 0・375px・申請一覧・6段の対話的審査パイプライン(次へ/差戻し/却下)・資格判定(収入vs基準額)・必要書類チェック・2人確認→署名決定→ロック・支給額計算。
今回の主役 — 3回目で、審査ワークフローを部品化
cold AI の核心の質問への答え:
There is NO interactive stage-progression component. Both
ApprovalStepsandStepperare strictly display-only. The entire state machine was hand-rolled — roughly 180 lines in data.ts + ~120 lines of action handlers. ... For a design system that ships SignedRecord and CoSign (which encapsulate real workflow behavior), the absence of an interactive ApprovalWorkflow counterpart is the single biggest gap.
これは #63 賃貸審査・#75 自治体窓口 でも同じ手組み(~120-300行)。3回出た → 3回ルールで build(#267・PR #304)。cold AI が3回かけて磨いた状態機械を、そのまま ApprovalWorkflow に結晶化:
- 表示は既存
ApprovalStepsを内部で合成(状態は色だけに非依存・アイコン+テキスト)。- 次へ進める: 現段階に {担当者, 時刻} を記録し次へ(最終段→status "approved")・
canAdvanceでゲート+無効時にadvanceHint。- 差戻し: 戻し先の段階+理由を選び、対象以降の記録をロールバック。
- 却下: 理由付きで terminal "rejected"。
now()注入可(ユーザー操作時のみ呼ぶ=SSR安全)・labels/stateLabels ローカライズ可。
ブラウザ実証: 次へ(申請受付→書類審査→資格判定)・ゲート(書類審査で必要書類チェックまで advance 無効→チェックで有効)・差戻しロールバック(資格判定→書類審査)・却下→terminal「却下されました」。3画面で~300行ずつ手組みしていた審査ロジックが、config オブジェクトに畳まれた。
越境は規制ドメインで全開
ReferenceValue(臨床ラボ)→ 収入/資産 vs 基準額「the standout, read like it was made for means-testing」(¥248,000 [↑H 基準超過] ≤¥273,000・色だけに非依存)。SignedRecord(臨床記録)→ 決定(署名→ロック→追記のみ)「essentially perfect」。CoSign(与薬ダブルチェック)→ 2人確認。DataTable onRowClick fix(#75 で直したばかり)→ 申請一覧の選択に即採用。
医療の基準値判定/署名/2人確認が、公共の means-testing/決定/承認に骨格そのまま。
起票だけ(軽微・1回目)
- 🟡 Button に loading prop 無(Spinner はあるが未配線・#305)。
- 🟡 ReferenceValue が showLabel 時にラベル二重読み上げ(visible+sr-only・#306・#291 と ReferenceValue PR で束ねる)。
- 🟡 Input/Select/Textarea 共通の error/required API 無(#166 に追記)。
学び — 「振る舞いを持つ部品」の系譜が揃った
これまで build した SignedRecord/CoSign は「振る舞いを内包する部品」だった。今回 ApprovalWorkflow を足したことで、back-office の3大振る舞い(署名ロック・maker-checker・段階審査)が全部 primitive になった。cold AI が3回・各300行手組みした審査ロジックが、これで <ApprovalWorkflow stages value onChange canAdvance> に畳まれる。3回ルールは「痛みが3回揃った瞬間に、磨かれた解を結晶化する」——今回は cold build 3回分の状態機械がそのまま設計仕様になった。
次回予告(やってみた #77)
- 公共をもう1枚(施設予約・税申告・住民異動 など)で3枚目。ApprovalWorkflow が別の審査画面で即再利用されるか観測。系譜#281・連続時間軸#142残りの大型も継続。
試す
まだ alpha。3回手組みされた審査ワークフローを ApprovalWorkflow に結晶化し、back-office の振る舞い primitive が揃った回。
<!-- 公開前: 相互URL差込/スクショ確定/EN(dev.to)ミラー -->
使用した @gunjo/ui コンポーネント
この画面のソースが直接 import している部品です。
cold AI が組み上げた実コード
ファイル名をクリックでソースを展開できます。