Asanaカスタマーサポートより回答頂きましたので、転記しときます。
以下回答です。
「こちらでログを確認した範囲では、ルールは正しく機能しておりました。
手元で検証を行なった結果、今回の問題は、Asanaサーバーとスマホとの間のデータ同期のタイミングにより発生しておりました。
同期のタイミングは以下のようになります。
• コンピューター版では、カスタムフィールドの変更はリアルタイムで反映されます(プッシュ型)
• スマホ版では、カスタムフィールドの変更はデータを取得した際に反映されます(プル型)
スマホ版で変更を行なった場合、変更内容をAsanaサーバーに伝えると同時に、その時点でのAsanaデータの取得も行なっているようです。
そのため、一つ前のルール実行時のデータが取得されます。
添付の例ですと、以下の挙動をします。
- スマホで CF: 3, CF2: C のタスクを開く
- スマホで CF: 1 を選択すると同時にサーバーから CF2: C を取得する
- サーバーでルールにより CF2: C → A が実行される (が、この変更はスマホに送られない)
- スマホで CF: 2 を選択すると同時にサーバーから CF2: A を取得する
- サーバーでルールにより CF2: A → B が実行される (が、この変更はスマホに送られない)
- スマホで CF: 3 を選択すると同時にサーバーから CF2: B を取得する
- サーバーでルールにより CF2: B → C が実行される (が、この変更はスマホに送られない)
上記のように、一つずつ遅れた結果がサーバーから返ってきます。
ここで、8. スマホ画面を下に引くことでサーバーからのデータを取得すると、CF: 3, CF2: C と結果が揃うことになります。
上記のような挙動のため、スマホで変更を行なったあとルールが実行される場合には、タスクの同期を手動で行なっていただきますようにお願いいたします。」