@NewtonProtocol $NEWT #Newt
「オプショナル」がいつも本当に“任意”とは限らない:ニュートンのタスクフローにある小さな詳細
私は、APIにおける「optional(任意)」が本当のところ何を意味するのかを考えるのに、想定以上の時間を費やしてしまいました。紙の上では一見わかりやすいのですが、実際には文脈次第で変わることが多いのです。
ニュートンのタスク作成フローを見ているとき、私がその印象を得ました。基本スキーマではintent_signatureは任意(optional)と扱われていますが、それでも一部のポリシーや、アイデンティティに紐づくフローではそれに依存しています。たとえば、そのようなパスが有効なEIP-712署名を期待している場合、フィールドを空のままにすると、ポリシーが評価される前にリクエストが失敗する可能性があります。
最初は、それは矛盾だと思いました。調べるほど、その理由は、同じエンドポイントを介して異なる認可モデルをサポートしていることによる結果のように感じられました。柔軟性があるとインターフェースの再利用は容易になりますが、その分、統合側により多くの責任が移ることにもなります。
私が今も考えているのは、スキーマそのものではありません。開発者が、要件がエンドポイントから来ているのか、それとも呼び出しているポリシーから来ているのかを、一貫して理解できるのかどうかです。その区別は、ポリシーロジックそのものと同じくらい重要になるかもしれません。
#newt #NewtonProtocol
$LAB $VANRY
Newton API:'optional' な項目は本当に“任意”であるべきですか?
「オプショナル」がいつも本当に“任意”とは限らない:ニュートンのタスクフローにある小さな詳細
私は、APIにおける「optional(任意)」が本当のところ何を意味するのかを考えるのに、想定以上の時間を費やしてしまいました。紙の上では一見わかりやすいのですが、実際には文脈次第で変わることが多いのです。
ニュートンのタスク作成フローを見ているとき、私がその印象を得ました。基本スキーマではintent_signatureは任意(optional)と扱われていますが、それでも一部のポリシーや、アイデンティティに紐づくフローではそれに依存しています。たとえば、そのようなパスが有効なEIP-712署名を期待している場合、フィールドを空のままにすると、ポリシーが評価される前にリクエストが失敗する可能性があります。
最初は、それは矛盾だと思いました。調べるほど、その理由は、同じエンドポイントを介して異なる認可モデルをサポートしていることによる結果のように感じられました。柔軟性があるとインターフェースの再利用は容易になりますが、その分、統合側により多くの責任が移ることにもなります。
私が今も考えているのは、スキーマそのものではありません。開発者が、要件がエンドポイントから来ているのか、それとも呼び出しているポリシーから来ているのかを、一貫して理解できるのかどうかです。その区別は、ポリシーロジックそのものと同じくらい重要になるかもしれません。
#newt #NewtonProtocol
$LAB $VANRY
Newton API:'optional' な項目は本当に“任意”であるべきですか?
✅ Flexible
83%
❌ Required
17%
⚖️ Contextual
0%
6 投票 • 投票は終了しました
