AI に賃貸借契約を作らせてみた — 医療の「署名記録」が、不動産の契約締結にそのまま効いた(やってみた #61)
/lease-contract375px のビューポートで撮影。縦長のページはフレーム内をスクロールします。
解説記事
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 が契約締結に自力採用した:
🟢
SignedRecordcross-industry — strong fit. Built for clinical notes/discharge summaries, but itsdraft→signed→locked-readonly→append-only-addendumabstraction maps almost 1:1 onto 契約締結→ロック→覚書. ThecanSigngate, thechildren({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.labelsfully 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(#258・PR #261)。これで主要入力部品の label/description が揃った。
起票だけした穴(契約/法務で再出現待ち・1回目)
SignedRecord は強い一方、契約特有の穴も出た:
- 🟠
SignedRecordの多署名者対応(#259)。賃貸契約は4者(貸主/借主/連帯保証人/宅建士)で締結、覚書は2者。だがsignedBy/authorは単数。新規でなく拡張で——signers: {id, role, required}[]+allRequiredSigned+addendum.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 が組み上げた実コード
ファイル名をクリックでソースを展開できます。