投稿IDの割り当て方法について(および/posts.jsonに関するその他の質問)

https://mentionme.app で作業中ですが、公開されている Discourse フォーラムから最新のコンテンツを収集したいと考えています。そのため、/posts.json API エンドポイントを選択しました。

このエンドポイントは、一見ランダムな数の要素を返すことに気づきました。ドキュメントでは最新の 50 件の投稿を返すと記載されていますが、より詳しく確認すると(例:https://meta.discourse.org/posts.json)、最新の 50 件の投稿ではなく、ID が max-50 から max の範囲にある投稿が表示され、一部が欠落していることがわかります。

このエンドポイントに 50 件の投稿がないという事実は、API の不備だと推測していますが、正しいでしょうか?
投稿 ID は、他の要素(ユーザー ID など)を含むより大きな ID プールから割り当てられているため、気にする必要はないと考えています。
私の懸念を解消していただけないでしょうか?

特に、ある値に対してリストが空になる場合があります。例:https://meta.discourse.org/posts.json?before=1234。“before” パラメータがない(“posts.json”)場合に空のリストが返され、開始に必要な最大投稿 ID を取得できない場合は、どのように対処すればよいでしょうか?

一部の投稿は閲覧できない保護されたカテゴリに含まれており、他の投稿は個人メッセージに含まれており、表示可能なトピックの最新投稿をリストするエンドポイントには含まれていません。

例えば、現在この投稿の ID は 621820 で、次の投稿は @gerhard による 621818 です。欠落している 621819 は個人メッセージであるため、表示されないのです。

ご説明いただき、ありがとうございます。これでわかりました。現在、複数の Discourse フォーラムをスキャンしていますが、本番環境でこの問題に遭遇したのは一度だけです(“before” パラメータなしで posts.json を取得すると空のリストが返される)。致命的な問題ではありませんが、認識しておくべき点です。