リポジトリのアーキテクチャと設計
このページは、ライブラリの構造、各コンポーネントの役割、およびモジュールとランタイムの整合性を損なうことなくフレームワークを拡張する方法を理解する必要があるコントリビューターを対象としています。
EV74 ディスパッチャーの所有権
Graph と Model のビルドは、ペイロードのプリフライトが無効な場合でも、起動処理が戻る前、ディスパッチャーの初期化中に EV74 RPMsg チャネルを予約します。各ワーカーは個別のエンドポイントを所有します。同一プロセス内の Graph はディスパッチャーを共有し、最後のクライアントが終了した時点でそのチャネルが解放されます。アイドル状態が続いても解放されることはありません。
容量が枯渇すると、ビルドは infra.dispatcher_unavailable で失敗します。障害状態のディスパッチャーは新しい Graph を受け付けないため、再ビルドの前にそのクライアントをすべて終了してください。実装とチャネルロックは Core ではなく Neat Internals に属します。
フレームワークと環境
「Neat」という言葉は、関連性はあるものの、それぞれ異なる2つの問題に対して使用されます。
- Neat Library: このリポジトリにある C++/Python ライブラリおよびランタイムです。モデルを読み込みます。 パッケージ化、パイプラインの構築、コントラクトの検証、Modalix ハードウェア上での実行、およびパブリック API の公開を行います。
- Neat SDK / 環境: フレームワークを中心としたコンテナ化された開発ワークフロー。 DevKit Sync、共有ワークスペース、およびエージェントツールなど。
このリポジトリを変更する際は、人間とエージェントの両方をサポートするフレームワークのプロパティを最適化してください。具体的には、明確な API、決定的な動作、構造化された診断、厳格な検証、および安定した公開インターフェースです。