#61スコア 4/5不動産

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

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

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

解説記事

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

やってみたシリーズ: 自作のデザインシステム @gunjo/ui群青)を、文脈ゼロの cold な AI に実 UI で作らせる連載。不動産2枚目——賃貸借契約 / 重要事項説明(契約条件 × 特約 × 重説 × 当事者署名 × 締結→ロック→覚書)。

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

結果 — 4/5

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

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

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

🟢 SignedRecord cross-industry — strong fit. Built for clinical notes/discharge summaries, but its draft→signed→locked-readonly→append-only-addendum abstraction maps almost 1:1 onto 契約締結→ロック→覚書. The canSign gate, the children({readOnly}) render-prop (drives the whole tab body to read-only), aria-readonly, the lock notice, the signer audit line, and the 覚書 composer+chain are all built-in. labels fully relocalized it to lease vocabulary. This is a genuinely industry-agnostic primitive.

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

src で直した穴 — CurrencyInput の label 抜け(入力部品 parity 完成)

  • 🟡 CurrencyInput に label/description が無い——賃料/敷金/礼金 の金額欄を毎回ラベル付き wrapper で手組み。Textarea(#245)・Input(#249) に続く3つ目の同じ穴を fix(#258PR #261)。これで主要入力部品の label/description が揃った。

起票だけした穴(契約/法務で再出現待ち・1回目)

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

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

学び — 越境して初めて分かる「どこまで汎用か」

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

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

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

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

試す

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


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

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

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

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

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