prowでPRのsquashしてもlgtmが外れないロジックの実装箇所

ここに書かれてる内容 に関して。
マージされたPRはkubernetes/community#5779

GitHubのPRの各種イベントが発生したときにLGTMプラグインがラベルを外すかどうかを判断する部分は、prow のこの辺り に実際のロジックがある様子。
opts.StoreTreeHash の説明はここ
一方、store_tree_hash がTrueになってるのは website くらいなので、通常であれば、ユーザが手動でSquashして、その結果コミットハッシュが変わると、その瞬間にLGTMラベルは外れる。
つまり、LGTMラベルの方で、tide/merge-method-squash などのラベルを判断してLGTMをそのまま保持するというロジックは特に存在しない。

では、冒頭の記述はなにか?
tide/merge-method-squash などのタグを打っておくと、Squashは手動ではなくて、Tideの方でマージのタイミングでやってくれるので、ProwのLGTMプラグインがラベルを外すという処理が走ることもないため、結果としてSquash操作によるLGTMラベルの削除は実行されない。
このことを、and will not result in removal of theLGTMlabel (if already applied) と言ってるようだ。

つまり、tide/merge-method-squash などのラベルを設定したPRに関して、ユーザによる手動のSquashは実施しなくてよい。Tideがやってくれるので。ただ、これ、追加のコミットをPRに追加したりした時はたとえ tide/merge-method-squash がついててもLGTMが外れるのではないだろうか。

というか表現的には、TideがSquashしてくれるのでユーザによる手動Squashをする必要がないよ。でも手動SquashするとLGTM外れるよ。の方が正しいのではないか。