#78スコア 4.5/5公共・行政

AI に市民税の申告・納税管理を作らせてみた — 監査可能な「確定」がまた組み立てで済んだ(やってみた #78)

ルート: /tax-filing
デスクトップ表示
モバイル表示

375px のビューポートで撮影。縦長のページはフレーム内をスクロールします。

解説記事

AI に市民税の申告・納税管理を作らせてみた — 監査可能な「確定」がまた組み立てで済んだ(やってみた #78)

やってみたシリーズ: 自作のデザインシステム @gunjo/ui群青)を、文脈ゼロの cold な AI に実 UI で作らせる連載。公共/自治体4枚目——市民税申告 / 納税管理(申告・税額計算 × 控除 × 期別納付状況 × 延滞 × 確定/通知)。

公共の4枚目は税務課の市民税申告・納税管理。所得と控除から税額を計算し、期別の納付状況を追い、課税を確定して通知書を出す画面。監査可能な確定(誰がいつ)・2人確認・延滞判定・JPY 金額入力——規制と金額の重い部分が、また組み立てで済んだ。

結果 — 4.5/5

tsc/build 緑・console 0・375px横溢れ0・所得控除入力でライブ税額再計算(給与5.2M→8.5M で年税額¥235,300→¥518,300)・期別納付状況・延滞判定・2人確認→署名確定→ロック→通知書発付。

越境が「規制+金額」ドメインで全開

  • SignedRecord(臨床記録)→ 課税確定the single biggest win」(下書き→署名ロック→確定者+時刻の監査行→更正は追記)。
  • CoSign(与薬ダブルチェック)→ 係長照合(確認者≠主担当ガード・JSDoc が「finance maker-checker」と明記)。
  • ReferenceValue(臨床ラボ)→ 延滞判定(HH チップ+sr-only で色だけに非依存・labels で「延滞中」に)。
  • CurrencyInput/formatCurrency(金融)→ 収入控除入力+JPY 表示・Badge icon → 全ステータスピル・DataTable → 申告キュー。

cold AI 曰く「I did not need gunjo.jp once」——型付きソース+JSDoc だけで全部見つかった。手組みは税額内訳の <dl> だけ。

src 変更ゼロ(no-build)

新たな大穴は無し。kit が税務申告をまるごと既存部品で賄った。観測された穴は全て1回目の papercut:

  • 🟡 Meter の可視ラベルが locale 整形しない117600円 / 235300円 のまま・valueText は aria だけ上書き・可視 readout は固定・#308)。→ Meter の小穴がこれで4件(#277 %二重・#286 fill-is-good・#297 ReactNode label aria・#308 formatValue)=Meter 集約 PR が機
  • 🟡 金額内訳(行+合計)primitive が無い(市民税+県民税+均等割→合計 を手組み・MetadataList は合計行/右寄せ無・#178 SummaryList に追記)。
  • 🟢 ReferenceValue は「値が閾値超え」を旗にするので「延滞という状態(金額¥0でも)」を表せない(日数で判定して回避)。
  • 🟢 @tabler/icons-react が consumer 側で要明示インストール(pnpm/strict で hoisting 破綻・#309・docs)。

学び — 「監査可能な確定」はもう作法の骨格

医療の SignedRecord・CoSign が、税の課税確定・係長照合にまた骨格そのまま効いた。#59 退院サマリ・#75 交付・#76 給付決定 に続き、税でも。「監査可能な署名確定+maker-checker」は、業界を問わず back-office の普遍的な作法で、それを primitive 化してあるから、規制ドメインの新画面が来るたびに組み立てで済む。残る金額系の穴(Meter 整形・金額内訳)は小さく、3回ルール/集約で埋める。

次回予告(やってみた #79)

  • **公共をもう1枚(住民異動 / 各種届出)**で5枚目。ApprovalWorkflow が別手続きでまた効くか・Meter 集約も検討。

試す

まだ alpha。医療の署名確定/2人確認が税の課税確定/照合にまた越境し、Meter の小穴が4件たまった回。


<!-- 公開前: 相互URL差込/スクショ確定/EN(dev.to)ミラー -->

使用した @gunjo/ui コンポーネント

この画面のソースが直接 import している部品です。

cold AI が組み上げた実コード

ファイル名をクリックでソースを展開できます。