#61スコア 4/5不動産

AI に賃貸借契約を作らせてみた — 医療の「署名記録」が、不動産の契約締結にそのまま効いた(やってみた #61)

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

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

解説記事

AI に賃貸借契約を作らせてみた — 医療の「署名記録」が、不動産の契約締結にそのまま効いた(やってみた #61)

⁠やってみたシリーズ⁠: 自作のデザインシステム @gunjo/ui群青)を、群青のことを一度も見たことのない AI に、実際の画面で組ませていく連載。⁠不動産2枚目⁠——⁠賃貸借契約 / 重要事項説明⁠(契約条件 × 特約 × 重説 × 当事者署名 × 締結→ロック→覚書)。

#60 のレントロール(運用ダッシュボード)と別の、⁠法的文書の作成・締結⁠画面。賃料・特約を組み立て、宅建士が重要事項を説明し、当事者が署名して締結——締結したら⁠覚書でしか変えられない署名記録⁠になる。

結果 — 4/5

tsc/build 緑・console 0・375px で当事者テーブルがカード化・重説6項目+借主確認で締結ゲート・締結で全タブ read-only ロック(aria-readonly・4者署名済)・覚書追記・h1 1個。

今回の主役 — 医療の SignedRecord が、不動産の契約に 1:1 で効いた

#59 で「医療の署名記録(看護記録/退院サマリ)」用に作った SignedRecord を、不動産の予備知識ゼロの AI が契約締結に自力で採用した:

🟢 SignedRecord の業界をまたいだ再利用——よく合う。⁠ 臨床記録/退院サマリ用に作ったが、その 下書き→署名→ロックして読み取り専用→追記のみ の抽象は、⁠契約締結→ロック→覚書 にほぼ 1:1 で対応する⁠canSign ゲート、children({readOnly}) の render-prop(タブ本文全体を読み取り専用に切り替える)、aria-readonly、ロック通知、署名の監査行、覚書の入力欄+連なり——全部が最初から入っている。labels だけで賃貸の語彙に丸ごと置き換わった。⁠これは本当に業界を選ばないコンポーネントだ。⁠

医療の「署名→ロック→追記」と、不動産の「締結→ロック→覚書」は、語彙が違うだけで⁠骨格が完全に同じ⁠だった。labels で語彙を入れ替えるだけで、看護記録のコンポーネントが賃貸契約の締結エンジンになった。CoSign(#58 で作った)も 宅建士↔借主 の重説の相互確認にそのまま。

src で直した不備 — CurrencyInput の label 抜け(入力コンポーネントが揃った)

  • 🟡 CurrencyInput に label/description が無い⁠——賃料/敷金/礼金 の金額欄を毎回ラベル付きの囲みで手組み。Textarea(#245)・Input(#249) に続く⁠3つ目の同じ抜け⁠を修正(#258PR #261)。これで主要な入力コンポーネントの label/description が揃った。

課題に記録だけした欠落(契約/法務で再出現待ち・1回目)

SignedRecord は強い一方、契約特有の欠落も出た:

  • 🟠 SignedRecord の複数署名者対応⁠#259)。賃貸契約は4者(貸主/借主/連帯保証人/宅建士)で締結、覚書は2者。だが signedBy/author は単数。⁠新規でなく拡張⁠で——signers: {id, role, required}[]allRequiredSignedaddendum.parties。CoSign は固定2者専用なので一般化しない。
  • 🟠 ⁠順序付きの編集リスト⁠(特約の 追加/削除/⁠並べ替え⁠#260)。TagInput は順序なしの短いタグ・List は表示専用・EditableDataTable はグリッド。<ol> の Textarea 行+↑↓削除を手組み。OrderedListEditor/ClauseList が理想。

学び — 業界を越えて初めて分かる「どこまで汎用か」

医療: 署名 → ロック → 追記(看護記録/退院サマリ)
不動産: 締結 → ロック → 覚書(賃貸契約)
= 骨格は完全同一。違いは「署名者が1人 vs 4人」だけ

SignedRecord は医療では完璧に見えたが、不動産の契約という⁠4者署名⁠の使われ方が、「署名者が1人という天井」を炙り出した(#46 #237 で ScanGate が終端フローの欠落を露呈したのと同じ構図)。⁠コンポーネントの本当の境界は、作った領域の外で使われて初めて見える。⁠ 骨格(締結→ロック→追記)は業界を越えて効き、足りないのは複数署名者という契約特有の次元だった——拡張で埋まる。これが業界を散らしてコンポーネントを鍛えることの意味。

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

  • ⁠不動産をもう1枚⁠(入居審査/申込 or 内見予約/物件募集)で SignedRecord 複数署名#259・順序リスト#260 の2回目を狙う、または不動産を3枚で締めて別業界へ。

試す

まだ alpha。医療の署名記録が不動産の契約締結に骨格そのまま効き、4者署名の天井を炙り出した回。

この連載は、作者が AI(Claude と Codex)と協働で制作しています。実験・検証の設計、判断、公開前の事実確認は人間が行い、実作業と下書き執筆は AI が担っています。

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

この画面のソースが直接 import しているコンポーネントです。

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

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

業界別「AI指示書パック」、先行登録を受付中です。