税大講本の図をSVG化、所得税から相続税まで4科目を並行セッションで進めた1日

開発eurekapu-nuxt4

税大講本の図をSVG化、所得税から相続税まで4科目を並行セッションで進めた1日

朝いちばんに打ったのは「昨日のお続きやっていきましょう」だった。 前日に作った図ギャラリーを本番へ出す、それだけの積み残しのつもりが、終わってみれば所得税、法人税、消費税、相続税の4科目に手が届き、台帳のSVG化済みは200枚を超えていた。

この日いちばん頼ったのはエージェントの仕分け判定で、いちばん覆ったのも同じ判定だった。

本番はR2に上げないと図が見えない

まず前日の版比較機能16ファイルのコミットから。 学習ゲートに止められたが、区切りのコミットなのでスキップを指示した。

本番公開はすんなりいかなかった。 仕組みを調べさせると、本番では画像パスへのアクセスがR2へ302され、デプロイのたびにdistの画像ディレクトリごと削除される設計だった。 つまり作ったSVGは、R2に上げないかぎり本番では見えない。 原図348枚と採用版SVG57枚、それに旧版1枚をまとめて上げたら、3件だけ失敗した。 12並列のアップロードでwranglerの認証更新が競合し、「Not logged in」になっていた。 並列度を落として再送し、HTTPの全数検証で406件すべて200。 デプロイして、図ギャラリーが誰でも開ける状態になった。

所得税では「表へ回す」の多くがマッピング図だった

所得税の続きは、前のセッションが「表の構造化へ回す(SVGでは作らない)」と分類した残り22枚からだった。 ところが原図を全部確認させると、多くは矢印で対応関係を示すマッピング図で、むしろSVG向きだという報告が返ってきた。 判定が覆った1回目である。 左端が切れていた図は原本PDFから欠けた半分を復元させ、保留していた親族表は300dpiでレンダリングしてラベルを読み取らせた。 この日の新規は23枚。

ギャラリーを順に開いていくと、原図のブロック配置を捨てて7ステップの縦リストに要約された図があった。 作り直させたところで、2ページにまたがる連結図も同じ症状だと気づいた。 この2枚は1つの図がページの境界で割れているだけだ。 統合した幅1440の横長SVGにし、比較表示も左右ではなく上下(上がビフォア、下がアフター)の原寸横スクロールに変えさせた。 集大成になる重要な図なので、大きくなっても構わないと伝えている。

あわせて、既存の全71枚をもう一度原図と突き合わせるよう指示した。 設例が丸ごと落ちていた図、「面積=税額」の表現が消えていた図など、5枚が作り直しになった。 1枚の修正で終わらせず、恒久ルールとして記録させた。

法人税は仕分け4体と作図7体を親レビューで束ねた

法人税63枚は仕分けからエージェント任せにした。 4体並列で、SVGが40枚、表が23枚という内訳になった。 作図も計算式、タイムライン、フロー、概念図、チャートの担当で7体に分けて走らせた。 ただしエージェントの「確認済」報告では完了にせず、親セッションに1枚ずつ原図と突き合わせる全数レビューをさせている。 加算順が原図と違う図はここで拾って直させた。 検算をスクリプトに埋めさせてあったので、原本の丸めに由来する0.1兆円のズレ2件も図内の注記に落ちた。

判断待ちが2件残ったので、自分で裁いた。 1件目は歳出内訳の二重ドーナツ図で、原本側の構成比の表記が、金額から計算した比率と2箇所合わないという報告だった。 原本が間違ってるんですか、どこどこどこ、と聞き返しながら比較表を見て、訂正する判断をした。 2件目は財務省資料引用のため未作図だった図。 円チャートは大きさの比較がしづらいので、ウォーターフォールチャートで作図させた。 円グラフを新規に描かない原則は、そのまま作図スキルにも明文化させている。

消費税収の図は画像の切り抜きだと判断して引き直した

午後は消費税43枚。 仕分け3体で、SVGが35枚、表が1枚、除外が7枚。 除外判定(申告書様式の記入枠の断片)は、報告を鵜呑みにせず7枚とも原図と突き合わせて確認させた。 90度回転で掲載されていた大判の計算体系図は、正立の横長SVGとして幅720超の例外扱いで作らせた。 原図のPNGに写っていない(注)4も、原本PDFから復元されている。

権利判断待ちになっていた消費税収の使途の図は、おそらく財務省ページの画像を切り抜いて出典を付けているだけで、中身はただのチャートだ。 それなら引き直せばいいと判断して作図させた。 検算11本すべて一致。 大判図の(注)2にあった誤植疑いも、7.8/110への訂正で確定させ、訂正した旨の中立な注記を入れさせた。

テーブル試作と見比べたら法人税の判定が覆った

別のセッションで、法人税の「作りません 表の構造化へ回す」というステータスの意味を確かめた。 ついでに、1枚だけ実際にテーブル化パターンを試作させてみた。 原図と変換後テーブル2案を1枚のプレビューに並べて見比べると、この図は表よりSVGのほうが見やすい。 判定が覆った2回目である。

試作から固まったスタイルもある。 見出しを四角で囲まず下線1本にする、罫線はグレー、矢印は原図どおり。 このスタイルで、判定や対応関係の入る3枚を表経路からSVGに作り直させた。 途中、区分の箱2つが隙間ゼロで接して1つに見える座標ミスも出たので、直させている。

相続税は原図の意図を読み解いて形を変えた

相続税52枚は昼過ぎに別セッションへ切り出した。 仕分け3体は52枚全部をSVG判定。 作図は算式13、タイムライン6、帯図7、親族図11、フロー10、宅地図4の6体に分けた。 途中でエージェントが接続エラーで何体か落ち、セッション自体も利用上限に当たって止まった。 それでも落ちた分は再開させて、保留1枚を除く51枚を出し切った。

いちばん考えたのは相続財産と贈与財産の図だった。 修正後では贈与財産が独立した長方形で並んでいて、四角の意味がなくなっているのが気になった。 贈与財産は相続財産の一部のはずで、原図はそう描いていないが、意図はたぶん「相続財産から切り取られた」だ。 そう読んで、同じ外形からの切り欠き表現に直させた。

納税義務者の分類図では、修正後のラベルを上から順に読み上げてみると、並び順とY座標が引っかかった。 調整させ、条文の表記が箱からはみ出した版はもう一段作り直させた。 残った保留の1枚は、描き直す意味がなく権利の問題もないはずの図だったので、原図をそのまま採用にした。 「原図を採用」という新しいステータスごと実装させている。 切り欠き表現と、構成算式で「=結果」を明示するルールは、その場で作図スキルへ反映させた。

並行セッションの運用

4科目を1本のセッションで直列にやらず、科目ごとにセッションを分けて並行させた。 分けられた理由ははっきりしている。 冊ごとに図もファイルも台帳エントリも独立していて、共有物は台帳のJSONとビルドスクリプトの2つだけだったからだ。 その衝突回避を織り込んだ引き継ぎプロンプトを書かせて、次のセッションに貼った。 積み残しの棚卸しも「別のセッションがやっている作業と被らないように」と条件を付けて一覧にさせている。 その棚卸しで、図から本文へ流出したテキストの取りこぼしが127図、約1,788行あることも見えた。

作った図は科目ごとにR2へ上げ、配信のHTTPステータスまで確かめさせた。 区切りごとに各セッションでコミットとプッシュ。 学習ゲートは全部スキップを指示した。 改行コードのせいで差分ゼロなのに変更扱いになるファイルの掃除も、コミットのたびに入った。

学び

  • エージェントの仕分け判定は、迷った札と除外札を親が目で確かめる前提でなら任せられる。今日の2回の覆りは、どちらも実物(原図や試作)を目で見たときに起きた
  • 「原図に忠実」が原則でも、原本側が間違っていることがある。金額から構成比を検算する仕込みがなければ、誤植ごと写していた
  • 図の意図(切り取られた一部、面積が税額)は、原図の形の一段奥にある。形だけなぞると意味が落ちる
  • 冊単位でファイルと台帳が独立していれば、セッションは科目ごとに分けて並行できる。共有物を2つまで絞れていたのが効いた

法人税で「表の構造化へ回す」とした図は、まだ20枚ほど残っている。 仕分けの判定は今日だけで2回覆った。 残りが覆るのかどうかも、原図と並べてみるまでは分からない。