確かにそれは任意ですが、テスト中のdiscourseインスタンスがローカルインスタンスではない場合に、discourse_themeをdiscourseのローカルクローンから実行する必要があるのは少しばかげています。
とにかく、提案されたとおりに、新しいgithub codespaceと独自の開発環境の両方で実行しましたが、同じエラーが発生します。
すべてのログ(またはターミナル履歴に収まるすべてのログ)を読みましたが、エラーが発生しているすべてのディレクトリは /node_modules/.pnpm です。pnpmではなくyarnを使用するように更新されていない別のTCに対してdiscourse_themeをテストおよび実行したところ、エラーは発生しませんでした。そのため、問題は.pnpmを監視していることであるとほぼ100%確信しています。
Symlinked `node_modules` structure | pnpm によると、実際のコードはすべて /node_modules/.pnpm に移動され、/node_modules/ の残りのディレクトリは単なる.pnpmへのシンボリックリンクであるため、node_modulesの通常の構造が維持されているようです。したがって、.pnpmを無視すると、「ディレクトリはすでに監視されています!」というエラーが回避されます。
discourse_theme gemを少し操作し、watcher.rbにlistener.ignore /node_modules\\/\\.pnpm/を追加したところ、エラーメッセージなしで正常に機能するようです。新しいpnpmパッケージのインストールも検出しました。