# 救えるログ、取り戻す"思い出" 〓 ALLTXT2ADIF をリリースしました
あるとき、こんな相談を受けたことがあります。
「PCがクラッシュして、ログが全部消えた。ALL.TXTだけ残ってる。何かできないか」
FT8をやっている人なら、ALL.TXTの存在はご存じだと思います。WSJT-XやJTDXが静かに書き続けるデコード履歴のファイル。
**ALL.TXTはログではない。しかし、ログを失ったとき最後に残る"証拠"になる。**
このツールは、その"証拠"から交信の形を推定し、ADIFとして復元するためのものです。
すべてを失った夜に、それだけが残っていた。そういうケースは、実は珍しくないんです。
---
## ツールを作ろうと思ったとき、最初にやったこと
コードを書き始める前に、まず「作らないこと」を決めました。
ALL.TXTをそのままADIFに変換するツールは、原理的には簡単に作れます。でもそれをやると、必ず問題が起きる。
ALL.TXTは「受信した信号の記録」であって、「交信の記録」ではないからです。第三者デコードが混ざる。同じ周波数に複数のQSOが重なる。RR73が再送されることなんて日常茶飯事。pileupのさなかでは、「誰に向けて送った73なのか」が判然としないことさえある。
FT8の現場を知っている人ほど、「雑に復元すると危ない」ことが分かります。
だからこのツールの根本にある設計思想は、最初からひとつだけでした。
**「なぜそれをQSOとみなしたのか、説明できること」**
---
## コードより先に、方針を議論した夜
今回の開発で、いちばん印象的だったのは技術的な難しさではありませんでした。
ある夜、私はAIたちにこう言いました。
**「今は何も作らなくていい。方針について話し合ってほしい」**
strict と lenient の境界をどこに引くか。RR73をどの条件で「完了」とみなすか。high / medium / lowの定義を何に置くか。sanitizeオプションはどこまで許容するか。
これらは「コードの問題」ではなく、「運用の哲学の問題」でした。
ここで私がやったのは、少し変わったことです。
ChatGPTに提案を出してもらい、それをコピペしてCopilotに見せる。Copilotが「その境界値は危ない、こういうエッジケースが抜ける」と返してくる。それをまたChatGPTに持ち帰る。ChatGPTが修正案を出す。またCopilotへ。
�セコメントをする