save()をオーバーライドする際のmodifyClass("model:composer")の推奨代替手段

ベストな方法は、Discourseのコアに新しいフックを追加して、サポートされている方法で必要なことを実現できるようにすることです。例えば、次のようなものはどうでしょう:

そうすることで、プラグインは以下のように動作します。

api.registerValueTransformer(
  "composer-minimum-post-length",
  ({ value, context: { composer } }) => {
    if (
      composer.siteSettings.discourse_optional_topic_body_enabled &&
      composer.topicFirstPost
    ) {
      return 0;
    }

    return value; // コアロジックを維持
  }
);

この方法があなたのユースケースで機能するかどうかを教えてもらえますか?もし問題なければ、PRをドラフトから解除して、レビュー/マージを進められます。