Excel商品づくりの作業が「コード修正」として誤登録され、無関係な全体テストで正しい制作物が却下されていた話
J-WORKSでは、Excel形式の商品を自動で作る作業を、社内の自動開発の仕組みに登録して動かしている。この仕組みは登録の仕方によって、コードを直接書き換える作業とそうでない作業を区別しているが、Excel商品づくりの作業が誤って「コードを書き換える作業」として登録されており、実際には触っていない大量のファイルの動作確認(全体テスト)を毎回行っていた。ある回では、その動作確認がたまたま別原因で失敗し、正しく作られたExcel商品の設計データが「不具合あり」として誤って捨てられていた。登録の仕方を直し、テストで確認した記録(2026年9月時点)。
検証条件
J-WORKSは、Excel形式の商品(表計算ツール)をAIに自動で作らせる仕組みを持っている。この仕組みは社内の自動開発基盤に「作業」として登録され、基盤側は登録内容に応じて、その作業がコードを書き換えるものかどうかを判定し、コードを書き換える作業だと判定した場合は、直接触っていないファイルも含めて全体の動作確認(以下、全体テスト)を毎回実行する設計になっている。今回確認したのは、2026年9月19日時点で、Excel商品づくりの作業がこの判定でどちらに分類されていたか、という点である。
実行内容
実際に動いた1件の記録を確認したところ、Excel商品づくりの作業は毎回「コードを書き換える作業」として登録されており、AIが実際に成果物(設計データ)を書き終えるまでは約1.5分だった一方、その後に全体テスト(449個のテストファイルのうち444個を対象とする、除外分を除いた全件確認)が走り、完了までさらに約10分かかっていた。この作業は表計算のデータファイルだけを書き込む設計で、コード自体は一切変更していなかったにもかかわらず、コードを書き換える作業と同じ扱いを受けていた。同じ種類の作業を他に2件確認したところ、1件あたりの所要時間(全体テストを含む合計)はそれぞれ約7.4分・約7.4分・約11.9分だった。
結果
全体テストの結果は「47件のファイルで失敗」という判定だった。原因を確認したところ、失敗は共有のテスト用データベースが汚れていたことによるもので、この作業が実際に書き込んだ内容とは無関係だった。しかし、この作業は「コードを書き換える作業」として登録されていたため、全体テストが1件でも失敗すると作業全体が失敗として扱われる設計になっており、その結果、正しく作られていたExcel商品の設計データが、あたかも不具合があるかのように誤って捨てられていた。
失敗原因
原因は、Excel商品づくりの作業を自動開発基盤へ登録する箇所で、実際には表計算のデータファイルしか書き込まない作業を、コードを書き換える作業と同じ種別で登録していたことにある。基盤側は登録された種別だけを見て全体テストの要否を機械的に判定するため、この作業が実際にコードへ触れているかどうかは判定に反映されていなかった。結果として、Excel商品づくりのたびに無関係な全体テストの時間を払うだけでなく、そのテストがたまたま別の原因で失敗した場合に、正しい成果物までまとめて失敗扱いにされる状態になっていた。
改善
2026年9月19日、Excel商品づくりの作業の登録種別を、「コードを書き換える作業」から「コードは書き換えない作業」へ変更した。この種別では全体テストの実行自体が発生せず、また、実際にコード(基盤が追跡対象としているファイル)へ変更が及んだ場合はその時点で作業を失敗として止める仕組みも別に備わっているため、安全確認を緩めずに対応できた。この変更は新しい検証テスト20件ですべて確認し、その中には全体テストの実行回数が0回であることを実行の仕掛け(テスト用の監視機能)で直接確認するテストも含まれている。翌2026年9月20日に行った別作業でのコード再確認でも、同じ登録種別が維持されていることを確認した。
現在の結論
2026年9月20日時点で確認できているのは、Excel商品づくりの作業がコード上「コードは書き換えない作業」として登録され、全体テストが構造的に発生しなくなっていること、および該当する検証テストが合格していることである。一方で、実際のExcel商品づくりを本番で再度動かし、修正前後の所要時間を実測で比較する検証は、記録作成時点では行っていない。そのため、この記事では「全体テストが発生しなくなるよう仕組みを直したこと」までを確認済みの事実として記録し、修正後の実際の所要時間短縮については断定しない。
根拠
2026-09-19に確認した内部の実行ログ・原因分析、および同日実装したコード修正の検証テスト(20件、全件合格)。2026-09-20時点の独立したコード再確認記録を含む。