既存の機能を「どう壊れるか」から洗い直した結果です(2026-09-24)。人の操作・データ・順番と時間・同時と別の場所・構造の変化の5つの軸で、コードを読んで根拠の行を付けました。ブックを動かして確かめたものではありません。「未確認」は Google の動きをコードだけでは確かめられなかったものです。
| 起きること | どう壊れるか | 対策 | 時期 | 根拠 |
|---|---|---|---|---|
| 資料シートの入力の列(日付・金額・費目)だけを直す | 黙って壊れる 仕訳帳と帳票が古いままなのに「未集計」の印が立たない(仕訳列は式なので人が触らない) | 見せる:写した時点の指紋と今の資料の指紋を式で比べる | 作り替えで消える | コード.gs:2188, 2209 |
| 200行を超えて貼る | 黙って壊れる 入力のたびの処理が冒頭で抜け、印・税区分・通し番号・補助のプルダウン・件数が全部付かない。知らせも無い | 見せる:抜けたことを控え、次の全部更新と画面に出す。または200行ずつ処理 | 作り替えと並行 | コード.gs:2175 |
| スクリプト・APIからの書き込み/版の履歴から戻す/行の削除 | 黙って壊れる 入力のたびの処理が届かず、印・税区分・通し番号が付かない | 見せる:指紋の比較で拾う。書く側の道具で番号を振る | 作り替えと並行 | コード.gs:2161(簡易トリガー) |
| 集計の最中に別の人が資料を直す | 黙って壊れる 読み終えたシートへの直しが入らないのに、最後に印を消す | 印に時刻を持たせ、集計開始より後の印は消さない | 作り替えで消える | コード.gs:1088 clearStale_ |
| 仕訳帳を直接直す | 黙って壊れる 帳票は変わるがCSVは資料シートから作るので、CSVと帳票が食い違う | 次の集計の前の確認で出る | 作り替えで消える | コード.gs:2120-2127(200セル超は印も付かない) |
| シートマスタから行を消す | 黙って壊れる そのシートが帳票からも出力からも黙って外れる | 見せる:資料の見出しがあるのに載っていないタブを数えて出す | 作り替えと並行 | コード.gs:332-357 |
| 見出しの名前を変える・同じ見出しが2つ | 黙って壊れる 資料の列が見つからない行を数えずに飛ばす。同じ見出しは左だけ読む | 見せる:見つからない見出しを数えて赤く出す | 作り替えと並行 | コード.gs:909-910, 277 |
| 資料の列を空にして仕訳だけ入れた行 | 黙って壊れる 行ごと飛ばされ、帳票とCSVの両方から消える | 見せる:仕訳の列だけ入っている行をエラーにする | 作り替えと並行 | コード.gs:909、仕訳出力.gs:278 |
| 科目名の前後に空白(貼り付けで入る) | 黙って壊れる 帳票のSUMIFSは拾わず、「マスタに無い科目」にも出ない。CSVは空白を取って出す | 防ぐ:集計のときに空白を取る | 作り替えと並行 | コード.gs:929、帳票.gs:700、仕訳出力.gs:299 |
| シートマスタに「備考」などの列を足す | 黙って壊れる 人が書いたメモを列記号で上書きし、途中の式を値に潰す | 防ぐ:列記号は専用の見出しにだけ書く(備考を足す前に直す) | 作り替えの前に塞ぐ | コード.gs:107, 626-636 |
| 期首を次の年に変える | 黙って壊れる 年の無い日付の年が1年ずれる(未確認:式は型のブック) | 取込済の行は日付を値で固める | 作り替えと並行 | DESIGN.md:288 |
| 版の履歴から戻す | 黙って壊れる 「前と同じなら飛ばす」の控えが新しいままなので、戻した古い帳票が作り直されない | 控えにタブの最終更新も含める | 作り替えと並行 | コード.gs:1607-1616、帳票.gs:238 |
| 進行の窓を閉じる・スリープ | 黙って壊れる 後ろの段が走らず、失敗の知らせも出ない | 見せる:止まった段を控え、次に開いたとき出す | 作り替えと並行 | 進行.gs:5-8, 166 |
| 時間帯の違うブック(別ブック) | 黙って壊れる 表示期間の端が1日ずれ、最終日の行が外れる | 全部更新の最初に時間帯を点検する | 作り替えと並行 | 期間.gs:62、帳票.gs:890、推移表.gs:40-46 |
| 起きること | どう壊れるか | 対策 | 時期 | 根拠 |
|---|---|---|---|---|
| 「仕訳帳を集計」だけ押す/新しい科目・補助・税区分を使う | 黙って壊れる 帳票の行は作った時点の科目だけ。新しい科目は損益計算書から、新しい補助は親の合計からも落ちる | 見せる:最下行に「帳票に無い科目 N件・金額」。親の行もSUMIFSで直接出す | 作り替えと並行 | 帳票.gs:852-882, 1080-1124 |
| マスタ・税区分の表を直す | 黙って壊れる 式の中に焼き込んだ一覧が全部更新まで古い | 見せる:作った時点の一覧と今のマスタを比べる | 作り替えと並行 | 帳票.gs:1054-1058, 1138-1144, 1355-1364 |
| 文字のままの日付 | 黙って壊れる 期首残高にも期間にも入らない。貸借差額は0のまま | 見せる:帳票の最下行に件数 | 作り替えと並行 | 帳票.gs:890 |
| 文字の金額(「1,000円」「¥1,000」) | 黙って壊れる SUMIFSは足さない。エラーチェックは数として読むので出ない。CSVは数に直して出す | 防ぐ:集計のときに数に直す。判定を1つにそろえる | 作り替えの前に塞ぐ | エラーチェック.gs:1405-1411、仕訳出力.gs:319-336 |
| 「金額0を隠す」のまま数字が変わる | 黙って壊れる 金額が出た行が隠れたまま合計には入る | 見せる:隠れた行に金額があれば印 | 作り替えと並行 | 帳票.gs:252-269 |
| 仕訳帳の列を消す | 黙って壊れる 総勘定元帳はIFERRORで黙って空になる | 見せる:1列目に理由を出す | 作り替えと並行 | 帳票.gs:401, 403 |
| 元帳の別窓と表を見比べる | 黙って壊れる 別窓は確認状況で絞らないので残高が違って見える | 別窓も「未確認・要確認を含める」を読む | 作り替えと並行 | 元帳窓.gs:10, 100, 115 |
| 別窓の「編集」を押す | 黙って壊れる gidだけでタブを探すので、gidの重なる別のタブの行を開く(未確認) | ブックIDも照合する | 作り替えの前に塞ぐ | 元帳窓.gs:183-185 |
| 前期・前々期を選ぶ | 黙って壊れる 開始残高を今期首で入れていると、前期の期首残高に今期首の残高が出る(未確認) | 会計期間より前を選んだら注記か止める | 作り替えと並行 | 帳票.gs:989-990 |
| 補助科目名に「*」「?」「~」や先頭の「<」「=」 | 黙って壊れる SUMIFSがワイルドカードとして読み、別の補助を拾う | 科目追加のときにその文字を止める | 作り替えと並行 | 帳票.gs:885-895 |
| 推移表の後に仕訳帳が伸びる | 黙って壊れる 隠しタブの配列が入りきらず全部0になりうる(未確認) | 集計のたびに広げる | 作り替えと並行 | 推移表.gs:95-98 |
| 帳票の「最終更新」を見て判断する | 黙って壊れる 最終更新は形を作った時刻で、数字が資料より古いかはどこにも出ない | 見せる:保存状態(集計未反映)を出す | 作り替えで消える | 帳票.gs:472 |
| 起きること | どう壊れるか | 対策 | 時期 | 根拠 |
|---|---|---|---|---|
| 別ブックの行を出力する | 黙って壊れる 取込済にならず二重取込。gidの重なる別のタブに「取込済」を書く恐れ(未確認) | 防ぐ:ブックIDとgidの組で開く。書けない行があれば出力前に止める | 作り替えの前に塞ぐ | 仕訳出力.gs:662, 686, 720-724 |
| 別ブックどうしでgidと番号が同じ | 黙って壊れる 別々の取引が1つの伝票にまとまる | 防ぐ:伝票の鍵にブックIDを入れる | 作り替えの前に塞ぐ | 仕訳出力.gs:396 |
| 複合仕訳番号をコピー・オートフィル | 黙って壊れる 日付が違っても1伝票になる | 見せる:伝票の中で日付が違えば止める | 作り替えの前に塞ぐ | 仕訳出力.gs:396, 402, 531 |
| 取込済の行をコピーして新しい行を作る | 黙って壊れる 取込済と取込日まで写り、会計ソフトに入らないのに帳票には入る | 見せる:通し番号の重複・履歴に無い取込日を赤く | 作り替えの前に塞ぐ | コード.gs:1899, 1927 |
| 開けない別ブック・名前違いのタブ | 黙って壊れる 出力画面の「読み取り元」に出ないだけで何も言われない | 見せる:画面の最上段に出す | 作り替えと並行 | 仕訳出力.gs:263-292, 120 |
| 大量に出力して履歴が保存できない | 黙って壊れる CSVは渡らないのに取込済だけ残り、取り消しもできない | 防ぐ:履歴を先に書く。控えは隠しタブへ | 作り替えの前に塞ぐ | 仕訳出力.gs:207→216, 873-876 |
| 会計期間の外の日付 | 黙って壊れる 出力は期間で絞らない | 期間外の行は出力前に出す | 作り替えと並行 | 仕訳出力.gs:442-474 |
| 「集計してから出力」を押す | 黙って壊れる 仕訳帳で直された行の確認を飛ばして集計する | 確認を飛ばさない | 作り替えで消える | 仕訳出力.html:284 |
| 取り消す | 黙って壊れる 同じ中身の行が別の回にもあると、別の回の行を戻すことがある | 控えに通し番号も入れる | 作り替えと並行 | 仕訳出力.gs:696-699 |
| 起きること | どう壊れるか | 対策 | 時期 | 根拠 |
|---|---|---|---|---|
| 行をコピーして貼る/通し番号をオートフィル/2人同時に新しい行 | 黙って壊れる 通し番号が重なったまま残る。作り替えで書き戻しの鍵になる | 防ぐ:貼った範囲を振り直す。見せる:重複の規則 | 作り替えの前に塞ぐ | コード.gs:1916-1927 |
| 見出しの途中に空欄の列がある | 黙って壊れる フィルタの範囲が空欄で切れ、並べ替えると右の仕訳列だけ動かず行がずれる | 防ぐ:範囲を最後の見出しまでにする | 作り替えの前に塞ぐ | コード.gs:1139, 1147-1168 |
| 科目を複数行まとめて貼る・オートフィル | 黙って壊れる 税区分・補助の列を範囲まるごと値で書き戻し、式の列を潰す | 防ぐ:変わった行だけ書く。式のセルには書かない | 作り替えの前に塞ぐ | コード.gs:2262-2263 |
| 科目と補助を一緒に貼る | 黙って壊れる マスタに無い補助を黙って空欄にし、エラーチェックにも出ない | 消さずに赤くして知らせる | 作り替えと並行 | コード.gs:2246 |
| 税区分の入れ直しがオンで補助だけ直す | 黙って壊れる 手で選んだ税区分が既定に上書きされ、元の値が残らない | 見せる:上書きしたセルに元の値をメモで残す | 作り替えと並行 | コード.gs:2219-2250 |
| 確認状況から科目までまとめて編集 | 黙って壊れる 税区分・補助の処理を丸ごと飛ばす | 続きを処理する | 作り替えと並行 | コード.gs:2199-2201 |
| 別ブックの資料シートで入力 | 黙って壊れる そのブックに入力の処理が無く、番号・税区分・印が付かない | 別ブックの行を未集計扱いで見せる | 作り替えと並行 | 設置する.py FILES |
| 起きること | どう壊れるか | 対策 | 時期 | 根拠 |
|---|---|---|---|---|
| 2人同時・窓を2つで追加 | 黙って壊れる 同じ科目が2行できる | 防ぐ:ロックを掛け、書く直前に確かめる | 作り替えと並行 | コード.gs:2675-2720 |
| 全角半角の違う補助 | 黙って壊れる 別の補助として入る | 補助にも似た名前の確認 | 作り替えと並行 | ― |
| 色の当て直しが失敗 | 行は入ったのに「失敗」と出る | 色と追加の成否を分けて返す | 作り替えと並行 | 科目追加.html:268 |
| 書く直前にマスタが並べ替えられる | 黙って壊れる 並び順の数字が別の行に付く | 科目名で照合してから書く | 作り替えと並行 | コード.gs:2710-2716 |
| 起きること | どう壊れるか | 対策 | 時期 | 根拠 |
|---|---|---|---|---|
| シート名にアポストロフィ | 黙って壊れる シートマスタの件数の式が壊れ、空欄になる | 入力で弾く | 作り替えと並行 | シート作成.gs:321-352、コード.gs:452 |
| 列の途中の行からプルダウンが消える | 黙って壊れる 広げる処理は最後のセルより下しか見ないので穴が直らない | 見本から全行へ貼り直す | 作り替えと並行 | シート作成.gs:473-480 |
| タブ名を手で変える・消す | その資料の仕訳が集計から丸ごと外れる | 帳票の上に大きく出す | 作り替えと並行 | コード.gs:349(進行の窓に1行) |
| 起きること | どう壊れるか | 対策 | 時期 | 根拠 |
|---|---|---|---|---|
| 同じ名前の会社 | 黙って壊れる 途中の状態・フォルダ・ブック・顧客マスタの行を会社名で結ぶので、別の会社に書く | 鍵を「顧客管理表+コード」にする | 作り替えの前に塞ぐ | 顧問先作成.gs:603-613, 625, 663, 803, 1201 |
| ブックを作った後に失敗 | 黙って壊れる 空のブックが残り、次の実行は名前があるので飛ばす | 組み立て終わってから名前を付ける | 作り替えの前に塞ぐ | 顧問先作成.gs:831, 879-883 |
| 作った資料シートの仕上げ | 黙って壊れる シート作成と違い、通し番号・ボタン・名前付き範囲・プルダウンの付け直しが無い | シート作成と同じ仕上げの関数を呼ぶ | 作り替えの前に塞ぐ | 顧問先作成.gs:901-975 |
| 確かめの段 | 黙って壊れる 式しか見ず、入力規則の参照先と余分なタブを見ない | 入力規則と余分なタブも数える | 作り替えと並行 | 顧問先作成.gs:1244-1256 |
| 2か所から同じ会社を同時に実行/混み合いのやり直し | 黙って壊れる フォルダが2つできる | 鍵をドライブか台帳に置く。やり直す前に確かめる | 作り替えと並行 | 顧問先作成.gs:616-620, 726-743 |
| 起きること | どう壊れるか | 対策 | 時期 | 根拠 |
|---|---|---|---|---|
| 画面を開いた後に顧客管理表が動く | 黙って壊れる 画面の行番号で会社を選び直すので別の会社でグループができる | 名前とコードで照合する | 作り替えと並行 | グループ作成.gs:52 |
| 失敗した後にもう一度作成/2人同時 | 黙って壊れる グループのブックが2冊できる | 最初に一覧へ「作成中」と書く・ロック | 作り替えと並行 | グループ作成.gs:64 |
| 同じ名前の会社が2社 | 黙って壊れる 同じ科目対応表のタブに混ざる | タブ名にコードを入れる | 作り替えと並行 | グループ共通.gs:96 |
| 起きること | どう壊れるか | 対策 | 時期 | 根拠 |
|---|---|---|---|---|
| ボタンを手で消す・動かす | 黙って壊れる 控えの印しか比べず置き直さない | 画像の数を数える | 作り替えと並行 | ボタン.gs:218-229 |
| 2人が同時に帳票の「元帳を開く」 | 黙って壊れる 総勘定元帳の科目と表示期間を書き換え、ほかの人の画面が変わる | 科目と期間を窓の中だけで持つ | 作り替えと並行 | 元帳窓.gs:28-39 |
| 起きること | どう壊れるか | 対策 | 時期 | 根拠 |
|---|---|---|---|---|
| 設置する.py を顧問先のブックに使う | 黙って壊れる 2本目のスクリプトができ、古い版も動き続ける | 設定タブのスクリプトIDを先に読んでそこへ入れる | 作り替えの前に塞ぐ | 設置する.py |
| 台帳から入れ直す.py で全社へ入れる | 黙って壊れる 設置する.py の事前検査(文言・未定義の名前・試験)を通らない | 検査を関数に出して両方から呼ぶ | 作り替えの前に塞ぐ | 設置する.py main() |
| 形の当て込みが失敗 | 黙って壊れる それでも版を書くので、失敗した形は二度と当たらない | 失敗があれば版を書かない | 作り替えの前に塞ぐ | 台帳から入れ直す.py |
| 顧客マスタの501行目以降・見出しの上に行 | 黙って壊れる 下の会社が対象外。見出しは1行目決め打ち。「--会社」は部分一致 | 全行を読む・見出しは名前で・会社は完全一致 | 作り替えの前に塞ぐ | 台帳から入れ直す.py |
| 同じ名前の関数が2つ | 黙って壊れる Apps Script は後の方を使い、片方が黙って止まる | 【2026-09-24 済】片方を消し、設置する.py に重複の検査を足した | 直した | 仕訳出力.gs:371, 378(isPicked_) |
| 起きること | どう壊れるか | 対策 | 時期 | 根拠 |
|---|---|---|---|---|
| 勘定科目マスタで科目名を変える | 黙って壊れる 見本の列を消して矢印で作り直し、手で付けたチップの色が戻らない | 防ぐ:列を消さず使っていない印にする。改名は見出しだけ付け替える | 作り替えの前に塞ぐ | コード.gs:2099, 2061-2062 |
| 「補助科目(科目ごと)」の右に人が列を足す | 黙って壊れる 全部更新で列ごと消える | 消してよいのは道具が足した列だけ | 作り替えの前に塞ぐ | コード.gs:2097-2100 |
| 見本のセルの入力規則が消える | 黙って壊れる その科目の全行の補助のプルダウンを外す | 見せる:見本の無い科目を数えて出す | 作り替えと並行 | コード.gs:2023 |
| 人が「テキストが完全一致」の条件付き書式を足す | 黙って壊れる この道具の規則とみなされ消える | この道具の規則は全部印の付いた式で作る | 作り替えと並行 | コード.gs:1265 |
| その他プルダウンマスタの見出し名を変える | 黙って壊れる 色の一覧が空になり色が全部消える | 必須の見出しが無ければ段を失敗にする | 作り替えと並行 | コード.gs:1248-1259 |
| 選択肢の言葉を手で変える(要確認・固定資産・重複) | 黙って壊れる 件数はコードの言葉と比べるので0件になる | コードの言葉がマスタにあるか確かめ、無ければ止める | 作り替えと並行 | コード.gs:412-415、固定資産.gs:14、重複.gs:25 |
| 勘定科目のセルに書式ごと貼る | 黙って壊れる 色の正本がセルの背景なので別の色で塗り直され、全シートの科目の色が変わる | 承認済みの配色を控え、消えた色はそこから戻す | 作り替えと並行 | コード.gs:1355-1371, 1455- |
| 最後の行の下に行を足す | 黙って壊れる 色の規則が次の全部更新まで当たらない | 規則の範囲を列全体にする | 作り替えと並行 | コード.gs:1672 |
| いちばん下の行に別の入力規則が貼られている | 黙って壊れる 違うプルダウンが下全体に広がる | 貼る元を見本のタブにする | 作り替えと並行 | シート作成.gs:464、コード.gs:1951 |
| 起きること | どう壊れるか | 対策 | 時期 | 根拠 |
|---|---|---|---|---|
| 条件の科目・大分類の名前がマスタに無い | 黙って壊れる 1行も当たらず黙って0件 | 条件の名前をマスタと照合し、無ければ条件エラー | 作り替えの前に塞ぐ | エラーチェック.gs:664-676 |
| 「エラーチェック」だけ押す | 黙って壊れる 古い仕訳帳を読んで新しい時刻で結果を出す | 元にした仕訳帳の時刻を書き、古ければ黄色 | 作り替えと並行 | エラーチェック.gs:77 |
| 法令の値の期間が重なる・終了日の空欄 | 黙って壊れる 規則によって採る行が違う。空欄は永久に有効。確認日は見ていない | 重なりは条件エラー。確認日が古ければ黄色 | 作り替えの前に塞ぐ | エラーチェック.gs:649, 818, 588-589 |
| 法令の値が空欄・全角 | 黙って壊れる 一部の規則が黙って判定しない | 数として読めなければ条件エラー | 作り替えの前に塞ぐ | エラーチェック.gs:1405-1412, 1123, 1243, 985 |
| 大分類の名前を変える | 黙って壊れる 残高の向きを「先頭が1か」で決めていて逆になる | 向きは帳票と同じ1か所から引く | 作り替えと並行 | エラーチェック.gs:1018, 1047 |
| 確認済の控えが大きくなる | 黙って壊れる 1件9KBの上限を超えて失敗、確認済が外れない | バイトで分ける保存にそろえる | 作り替えと並行 | エラーチェック.gs:336, 348 |
| マスタ外の整理で直す→並べ替え→戻す | 黙って壊れる 番地で戻すので別の行を戻す | 通し番号とシートIDで行を決める | 作り替えと並行 | エラーチェック.gs:1519-1527 |
| 起きること | どう壊れるか | 対策 | 時期 | 根拠 |
|---|---|---|---|---|
| 「重複」と判定した行 | 黙って壊れる 仕訳帳・帳票・出力にそのまま入り二重計上。出す規則も無い | 見せる:規則「重複と判定したのに仕訳が残っている」 | 作り替えの前に塞ぐ | 仕訳出力.gs・帳票.gs に読む所0件 |
| 金額・日付が文字 | 黙って壊れる 金額0・日付なしで候補から外れる | 読めずに外した行を出す | 作り替えと並行 | 重複.gs:232-238 |
| 同じシートに二重に貼る | 黙って壊れる 別シートどうししか比べない | 同じシート内も完全一致は候補にする | 作り替えと並行 | 重複.gs:133 |
| 並べ替え・行の挿入の後 | 黙って壊れる 「重複の相手」が行番号のリンクで別の行を指す | 通し番号で結ぶ | 作り替えと並行 | 重複.gs:266-267 |
| 全部更新の最中に他の人が判定を入れる | 黙って壊れる 読んだ時点の値で書き戻し、入れた判定が消える | 書く直前に読み直す | 作り替えと並行 | 重複.gs:255, 259-261 |
| 設定タブに列を足す | 黙って壊れる 日数・許容差をA・B列の位置で読み、既定に戻る | 見出しで読む形にそろえる | 作り替えと並行 | 重複.gs:40 |
| 起きること | どう壊れるか | 対策 | 時期 | 根拠 |
|---|---|---|---|---|
| 転記が途中で止まる | 黙って壊れる 台帳に書いた後で「転記済」を付けるので、次に押すと二重に入る | 台帳に同じ取引の結び付きがあれば写さない | 作り替えの前に塞ぐ | 固定資産.gs:192-198 |
| いちばん下の資産を消してから転記 | 黙って壊れる 同じ資産コードをもう一度使う | 使った最大番号を控える | 作り替えと並行 | 固定資産.gs:168 |
| コードの無い手入力の行が下にある | 黙って壊れる その行を上書きする | 空の行を探して書く | 作り替えと並行 | 固定資産.gs:189 |
| 耐用年数が文字・期首帳簿価額が空欄 | 黙って壊れる 率が引けず、入っていた改定取得価額を消す | 触らず名指しで出す | 作り替えと並行 | 固定資産.gs:80-89 |
| 達人のCSVの列 | 実物と照合していない | 達人の実物のCSVで照合する(サンプル待ち) | 作り替えと並行 | 固定資産.gs:204-207 |
| 起きること | どう壊れるか | 対策 | 時期 | 根拠 |
|---|---|---|---|---|
| 並べ替え・行の挿入/削除・URLの書き換え | 黙って壊れる 行番号→資料の一覧を最初に1回だけ取るので、別の行の画像を出す | 位置を聞くときにその行のURLも返し、違えば取り直す | 作り替えの前に塞ぐ | ビューア.html:446-458, 486 |
| 2人が同時に使う | 黙って壊れる 別窓が他の人の選んだ行の資料を出す | 控えを人ごとに分ける | 作り替えと並行 | ビューア コード.gs:466-485 |
| 列を動かした後 | 黙って壊れる URLの列が2つある型で別の資料(未確認) | 列記号を使わず見出し名で探す | 作り替えと並行 | ビューア コード.gs:129-130 |
| 複数ページのPDF・1セルに複数のURL | 黙って壊れる 1ページ目・最初の1件だけ出る。件数も出ない | ページ数・件数を出す | 作り替えと並行 | ビューア コード.gs:176-179, 244 |
正本は同じフォルダの build.py の表です。index.html はそこから作っています。関連:設計 https://kaikei-sansho.pages.dev/ ・全体ルール⑧「作る物は、どう壊れるかから考える」。