Weaveがチェックする内容
Weaveは、プロジェクトにすでに保存されている設定と、過去30日間のワークフローの実行記録を読み取り、見つけた内容を報告します。たとえば、配賦する対象がない配賦ステップ、保存された構造に同じステップが2回含まれているワークフロー、最終実行が失敗したワークフロー、出力の行数が普段よりはるかに少ないステップなどです。Weaveが行うのは読み取りだけです。報告内容によってステップが変更されることはなく、ワークフローが実行されることもありません。
AIモデルは使用しません。すべてのチェックは固定のルールであり、すべての文は事前に書かれているため、レポートを何度依頼しても費用はかかりません。
2つではなく3つの答え
Section titled “2つではなく3つの答え”PlaidCloudのチェックの多くは、設定に問題がないか、拒否されるかの2つの答えのどちらかです。Weaveにはもうひとつ、3つ目の答えがあり、これを理解しておくことが重要です。
| 答え | 意味 |
|---|---|
| Weaveは…を検出しました | Weaveがこれをチェックし、問題を見つけました。 |
| (何も表示されません) | Weaveがこれをチェックし、問題は見つかりませんでした。 |
| Weaveは…をチェックしていません | Weaveはこれをまったく判定できませんでした。 |
3つ目の答えが必要なのは、沈黙には2通りの意味があるためです。配賦ステップを作成するとき、PlaidCloudでは列マッピングを入力する前でも保存できます。作成の途中であり、保存を拒否すると作業の妨げになるためです。同じ空のマッピングを読み取る監視機能が、そのステップを正常と報告してしまうことは十分にあり得ます。しかし、そのステップは正常なのではなく、未完成であり、誰もチェックしていません。
そこでWeaveは、そのことをそのまま伝えます。判定できなかったステップは、理由とともに未チェックとして報告され、チェックに合格したものとして数えられたり、並べ替えられたり、色分けされたりすることはありません。
Weaveが伝えることには、もうひとつあります。これはステップについての答えではありません。Weaveには…のルールがありませんというメッセージです。これは、Weaveにはその種類のものに対するチェックがなく、判定したことがない、という意味です。「チェックしていません」とは異なり、ステップに何を行っても判定は得られないため、この2つは区別しておく価値があります。未チェックのステップは、完成させればWeaveが判定します。一方、Weaveにルールがないステップは、どれだけ変更しても判定されないままです。
レポートの見え方
Section titled “レポートの見え方”レポートは、対象範囲の大きさがわかるように、分母を明示したサマリーから始まります。
Weave fully checked 3 of the 417 steps and workflows in "Cost Model", and found 1problem in the parts it could judge. 1 more it hasn't fully checked.Weave has no rule for 412 steps and 1 workflow it looked at, so they have not beenjudged either way.
Weave noticed the step "Spread Overheads": No driver split value column found. Onedriver column must have the role "Split Value".Weave hasn't checked the step "Regional Split" — its column mapping is empty.スケジュールに従って書き込まれるテーブルや、鮮度のしきい値が設定されたテーブルがあるプロジェクトでは、1行目でそれらを別に数えます。Weaveは「Finance」内の36件のステップとワークフローのうち31件、および最新の状態に保たれる想定のテーブル4件のうち3件を完全にチェックし、判定できた範囲で2件の問題を見つけました。
1行目の分数は意図的なものです。3件のステップをチェックして問題がなかったことは、プロジェクト全体に問題がないことと同じではありません。そのため、冒頭の行は規模を併記し、規模なしでは引用できないようにしています。「判定できた範囲で」という表現も同じ理由によるものです。一部しか判定できなかった場合、見つかった問題を、直前に「チェック済み」とした各ステップのものとして特定することはできません。2行目では、Weaveにルールがまったくないものを挙げ、それらは「チェックの必要がなかった」のではなく、どちらとも判定されていないことをはっきり伝えます。
Weaveが把握する方法
Section titled “Weaveが把握する方法”すべての検出事項の下にはWeaveが把握する方法リンクがあり、クリックすると、Weaveがその結論に至った経緯を示すパネルが開きます。
- 確認内容: ルールが何をテストするかを平易な言葉で説明します。件数を何回分の過去の実行と比較するかなど、使用する制限値も含まれます。
- 根拠: チェックで使用した値です。行数が変化した場合は、最新の件数、過去の実行の平均、実行ごとに件数が通常どの程度変動するか、そしてWeaveが報告する範囲の外側にあたる境界が示されます。
- 情報源: 根拠の読み取り元となった実行、実行履歴、ステップの保存済み設定、スケジュール済みイベント、またはテーブルです。リンクとして表示されるものは、ワークフローやテーブルエクスプローラーなど、実際に確認する場所を開きます。
- Weaveが確認しなかったこと: ルールの対象外の項目です。ここが空になることはありません。たとえば、テーブルが期限どおりに書き込まれたかどうかのチェックでは、書き込まれた内容は見ません。
Weaveがチェックできなかった検出事項では、パネルにチェックの内容と実行できなかった理由が表示され、根拠は表示されません。
パネルに名前が表示されるのは、あなたが見られるものだけです。ロールによって非表示になっているステップ、ワークフロー、テーブルは、名前ではなく「開けないもの」として一覧に表示されます。ワークフローの最終実行が、開けないステップで失敗した場合、根拠ではそれらのステップを名前で示さず、件数で示します。パネルの作成にAIは使用されません。
このパネルは、Weaveタブとレビューに表示されます。レビューのAIが作成したサマリーにもパネルがあり、AIが作成したこと、何件の検出事項に基づくか、表示前にWeaveが何をチェックしたかが示されます。AIアシスタントがPlaidCloud MCP経由で実行したレビューには、このパネルは含まれません。
現在Weaveがチェックする内容
Section titled “現在Weaveがチェックする内容”配賦の列マッピング。 Allocation with DimensionステップまたはAllocation Splitステップについて、配賦する数値列があること、配賦に使う数値のドライバー値があること、必要な場合は階層があること、そして分割の場合は、分子と、ソーステーブルに実在する列を指す分母があることをチェックします。これらはステップを保存するときに実行されるチェックと同じで、すでに保存された内容を読み取って行います。保存時には、割り当てディメンション自体のチェック(存在すること、ドライバープロパティがちょうど1つあること)も行われますが、Weaveはこれを行いません。そのため、この理由で保存が拒否されるステップについては、Weaveの検出事項は出力されません。
ステップの式。 式を持つすべてのステップについて、ターゲット列、Subset句、Secondary Filter句に書いた式がすべてコンパイルできることをチェックします。検出事項には、どれを開けばよいかがわかるように列または句の名前が示され、Syntax error at line 1, position 280のようなエラーも表示されます。式そのものはWeaveが把握する方法に表示されるため、長い式でもエラーが埋もれることはありません。これらはステップを保存するときに実行されるチェックと同じです。
Weaveが判定せず、未チェックとして報告するケースが2つあります。
- 変数を読み取る式。 ステップは複数のワークフローに属することがあり、各ワークフローが変数に異なる値を設定したり、設定しなかったりする場合があります。保存時のチェックは、どのワークフローから保存しているかを把握していますが、スキャンでは把握できません。Weaveは、どれかひとつを選んで、正常に動作する式を誤って壊れていると判定するリスクを冒すことはしません。そのため、変数がすべてのワークフローで設定されていない場合、または設定された値が一致しない場合は、そのステップを未チェックとして報告します。ロールによって表示されないワークフローも同様に扱われます。Weaveはそのワークフローの変数も読み取れないため、ステップが一致しているとは主張しません。すべてのワークフローで一致している場合は、通常どおり判定します。
- このチェックが読み取らないフィルターと列リスト。 ステップの種類によっては、フィルターや2つ目の列リストを、式のチェックがこれまで読み取ったことのないフォームの部分に保持しています。2テーブル結合とLookup、配賦の分割、Generate Batch、SAP Post Journal Entryがこれに該当します。これらのステップの保存では、従来からそれらのフィールドがスキップされています。そのため、Weaveは読み取れる半分だけでステップを合格とはせず、未チェックとして報告します。複数テーブル結合ステップとDeleteステップも、その設定がこのチェックでコンパイルできる形式ではないため、同様に報告されます。
ワークフロー内で2回リストされているもの。 同じワークフロー内に、複数回現れるステップやネストされたワークフローがないこと、また親を共有する2つのフォルダーが同じ識別子を持たないことをチェックします。
読み取るテーブルが書き込まれる前に実行される可能性があるステップ。 高度なワークフローで、テーブルを読み取るすべてのステップが、キャンバス上のコネクターを通じて、同じワークフロー内でそのテーブルを書き込むステップの後に実行されることをチェックします。Weaveは、ワークフローが一度でも実行されたかどうかにかかわらず、このチェックを行います。検出事項には、そのようなステップのひとつと、その後に実行されるべきステップが示され、影響を受けるステップの数も表示されます。テーブルはWeaveが把握する方法に一覧表示されます。キャンバス上ですでに早すぎるタイミングで実行されているステップは、別に報告されます。あるステップが別のワークフローを実行する場合や、Weaveが追跡できないテーブルを使う場合、Weaveはそのワークフローを未チェックとして報告します。また、複数のステップまたは別のワークフローも書き込むテーブルは判定しません。不足しているコネクターを確認して追加するには、キャンバスで依存関係の同期を使用します。ステップが前回の実行の出力を読み取る設計になっている場合は、検出事項を想定内としてマークします。
ワークフローの実行状況。 Weaveは、過去30日間の各ワークフローの実行(各ワークフローにつき直近の最大20回)を読み取り、最新の実行をそれ以前の実行と比較して判定します。後述の月末と曜日の比較では、過去180日間のもう少し古い実行も読み取ります。すべての比較は、そのワークフロー自身の履歴に対して行われ、ほかのワークフローの履歴とは比較しません。
-
最終実行は失敗しました。 直近の実行が失敗したワークフローが報告されます。失敗した日付と、その前の実行も失敗していた場合は、連続して何回失敗しているか、いつからかが示されます。
-
通常より遅い実行。 実行は完了したものの、各ステップの合計時間が、そのワークフローの以前の完了済みの実行から見込まれる時間を超えた場合です。具体的には、平均より標準偏差の2倍を超えて大きく、かつ平均を5%以上上回った場合に報告されます(高速なワークフローが数ミリ秒の差で報告されないよう、差は1秒未満の場合は対象外です)。時間は各ステップの時間を合計したものであるため、ステップを並列実行するワークフローでは、実際の経過時間より長くなります。通常より速く完了した実行は報告されません。
-
通常より遅いステップ。 最新の完了済みの実行で、そのワークフロー内の以前の完了済みの実行より長い時間がかかったステップです。遅い実行と同じ基準で判定します。これは、遅い実行の原因となったステップをWeaveが特定する方法です。複数のワークフローに含まれるステップは、それぞれのワークフローで個別に判定されます。時間はステップの開始から終了までで、ステップ自体の処理と、ビジーなウェアハウスの待ち時間などを区別しません。
-
実行が遅くなり続けています。 遅延が持続している場合です。遅い実行が、比較対象となる過去の実行の大半を占めるようになると、遅い実行は異常に見えなくなります。そのため、このチェックでは前半と後半を比較します。Weaveは、過去30日間のそのワークフローの直近20回の実行のうち完了したものを取り出し、開始時刻に基づいて古い半分と新しい半分に分けます。新しい半分の中央値が古い半分より25%以上かつ30秒以上長く、さらに、新しい実行と古い実行のあらゆる組み合わせのうち85%以上で新しい実行のほうが長い場合に、そのワークフローを報告します。時間は遅い実行の場合と同様に、各ステップの合計です。Weaveには、14日以上にわたる完了済みの実行が12回以上必要です。そのため、2週間に約20回を超えて実行されるワークフローはチェックされません。失敗した実行と停止した実行は数えませんが、失敗したステップを越えて続行した実行は数えます。検出事項には、開けるステップのうち中央値が最も増えたものが最大3件まで示されます。遅延が続く間は文面が変わらないため、実行のたびに繰り返し通知されることはありません。
-
ターゲットの行数が以前の実行と異なります。 最後の実行後の出力テーブルの行数が、そのワークフロー内の以前の実行後より、同じ基準でかなり多い、またはかなり少ないステップです(差は1行以上)。件数はテーブルに保持されている行数であるため、追加を行うステップは増え続ける合計で判定されます。複数のワークフローに含まれるステップは、それぞれのワークフローで個別に判定されます。
-
結合が通常より多くの行を複製しました。 内部結合、左結合、右結合のいずれかで、メインテーブルの1行あたりに書き込まれた行数が、そのワークフロー内の以前の実行後より多かった場合です。以前の実行の平均より標準偏差の2倍を超えて大きく、かつ平均を5%以上上回ったときに報告されます。メインテーブルは、内部結合と左結合ではテーブルA、右結合ではテーブルBです。メインテーブルの1行あたりに複数の行が書き込まれた場合は、結合キーの一部がもう一方のテーブルの複数の行に現れていて、そのキーを持つ行が複数回書き込まれたことを意味します。Weaveが報告するのは、1.00を超える値で、かつ結合の通常の水準を上回る場合のみです。そのため、設計上1行に対して複数の行を書き込む結合は、その数値が上昇した場合にのみ報告されます。内部結合では、テーブルBで重複するキーだけが検出されます。メインテーブルの行数を記録した以前の実行が4回未満の結合は、未チェックとして報告されます。
集計を行う結合、重複排除やスライス(Limit)、Secondary Filterを使う結合は、いずれも行数自体が変わるため、未チェックとして報告されます。ビューのように、メインテーブルの行数が記録されていない結合も同様です。メインテーブルの行数は、最後に書き込まれたときに記録された値で、ステップのフィルターを適用する前のものです。実行のたびに保持する行の割合が変わるフィルターも数値を動かすため、報告される場合があります。ほかの方法で、または同時に実行されているステップによってメインテーブルに加えられた変更は検出されません。完全外部結合、クロス結合、複数テーブル結合はチェックされません。また、Lookupが同じ行を複数回書き込むことはありません。
-
空の値が以前の実行と異なります。 ステップの出力テーブルの列で、空になった行の割合が、そのステップの以前の実行後よりはるかに大きい、またははるかに小さい場合です。通常の割合から標準偏差の2倍を超えて離れ、かつ5パーセントポイント以上離れているときに報告されます。ステップが書き込む各テーブルは、それぞれの行に対して判定されます。
-
インポートでファイルが見つかりませんでした。 直近の完了済みの実行で、読み取り元のパスにファイルが見つからなかったインポートステップです。ステップは失敗ではなく警告で終了し、ターゲットテーブルを空で作成するか、何も読み込まないため、後続のステップが読み取るものがありません。検出事項にはワークフローとパスが示されます。以前の実行は不要で、実行でファイルが見つかれば解消されます。複数のワークフローに含まれるステップは、それぞれのワークフローで個別に判定されます。開けないワークフローでは、パスは表示されません。Weaveは、意図的に空にしているフォルダーと、ファイルが見つからない状況を区別できません。空のフォルダーが通常の状態である場合は、プロジェクトのアーキテクトが検出事項を想定内としてマークすると、そのワークフロー内のそのステップについて、パスにかかわらずWeaveは報告しなくなります。このチェックが追加される前に記録された実行には警告の文言が残っていないため、そのステップは再度実行されるまで未チェックとして報告されます。
月末と曜日。 1日に1回以下の頻度で実行されるワークフローまたはステップについて、これらのチェックで報告対象となる実行が、過去180日間の同じ種類の日の4回以上の過去の実行と一致し、そのばらつきが、規模に対して、ほかの日の過去の実行より大きくない場合は、報告から除外されます。日の種類は、月の最終日、月の初日、それ以外は同じ曜日です。そのため、常に負荷が大きい月末のロードや、月曜日には常に軽い負荷で動くロードは、それらの実行がほかの日よりも規模に対して安定している場合は報告されません。カレンダーによって除外されるのは実行のみで、これらのチェックで合格となる実行が報告されることはありません。日はUTCで数えられ、祝日や稼働日カレンダーは考慮されません。1日に複数回実行されるワークフローまたはステップは、失敗した実行とその再実行も含めて、従来どおり以前の実行と比較されます。
基準にするには、過去の実行が4回以上必要です。それより少ない場合、ワークフローは実行時間について、そのステップは行数と空の値について未チェックとして報告され、少なすぎるデータで判定する代わりに、完了済みの実行が何回あったかが示されます。テーブルに書き込むものの、記録された実行に空の値の件数がないステップも、それについて未チェックとして報告されます。メールを送信するステップやファイルをエクスポートするステップなど、テーブルに書き込まないステップは、行数や空の値についてチェックされません。過去30日間に実行されていないワークフローは未チェックとして報告されます。実行履歴を読み取れなかったワークフローも同様で、いずれも正常と報告されることはありません。行アクセスが宣言されているプロジェクトでは、行数、結合、空の値、値のばらつきのチェックは、読み取りがフィルターされているユーザーには適用されません。各チェックはテーブル全体に対して測定されるため、検出事項から権限の範囲外の行の情報が伝わってしまうためです。行数とテーブルサイズを参照してください。
ステップの最終実行で変わったもの。 ステップの最終実行が書き込んだ各テーブルについて、Weaveは、実行後のテーブルと、実行開始前のテーブルを比較します。そのため、以前の実行の履歴は必要ありません。
- 最終実行の前後で値のばらつきが変わりました。 実行後の値の範囲にわたるばらつきが、実行前と大きく異なる列です。検出事項にはシフトスコアが示されます。0はばらつきが変わっていないことを意味し、0.25以上は大きな変化で、このときWeaveが報告します。比較されるのは、小数を保持する列のみです。整数列は通常、勘定科目番号や月などのコード、期間、フラグであり、新しい期間が読み込まれるたびにばらつきが変わります。空の値はばらつきには含まれません。空の値は上記の空の値のチェックが対象とします。
「実行前」とは、行を保持していたテーブルの最後のバージョンです。実行の途中で失敗して空になったバージョンはスキップされるため、失敗後の最初の正常な実行は、最後の正常なデータと比較されます。
ステップが書き込んだテーブルが次のいずれかに該当する場合、そのステップの実行は理由とともに未チェックとして報告されます。
- 列に行アクセスが宣言されている。
- 実行の前または後に5,000,000行を超える行を保持していた。
- 比較に10秒を超える時間がかかった。
- 実行前のバージョンが保持されなくなっている。Lakehouseによっては、テーブルの以前のバージョンを7日間保持するため、週に1回未満の頻度で書き換えられるテーブルには比較対象がありません。
- その実行で初めてデータが書き込まれた。
バージョン履歴を保持しないLakehouseのプロジェクトは、このチェックでは一切判定されません。
型変換で空になった値。 Extractステップが書き込む各列には、テキスト、整数、日付などの型があり、ステップはすべての値をその型に変換します。StarRocks Lakehouseでは、整数列に入るN/Aのように変換できない値は空として保存され、実行はエラーなしで完了します。StarRocksでExtractステップが実行された後、Weaveは、変換で値が失われる可能性がある各列について、入力時にすでに空ではなかった値の数と、そのうち空になった値の数を数え、1件でも空になった列をそれぞれ報告します。検出事項には、件数と列の型が示されます。各ワークフローでのステップの最新の完了済みの実行を判定するため、以前の実行は不要です。
- 入力時にすでに空だった値は数えません。空白のテキストは、数値列や日付列では空として保存されるため、数えます。
- 整数が小数列に入る場合のように、変換で値が失われない列は数えません。実行後に空の値がない列も数えません。
- 件数の集計に30秒を超える時間がかかった場合、またはWeaveが数える行数がステップの書き込んだ行数と一致しない場合、その実行は未チェックとして報告され、次にステップが実行されるときに再度集計されます。
- チェックされるのは、StarRocks上のExtractステップのみです。Secondary Filterを使用するステップや、式でグループ化するステップは未チェックとして報告されます。列で値が失われる可能性がある場合に重複排除やスライス(Limit)を使用するステップも同様です。変換なしでは行を再度数えられないためです。
- ステップがそれらの値を空にする設計になっている場合は、プロジェクトのアーキテクトが検出事項を想定内としてマークできます。
- 行数や空の値のチェックと同様に、行アクセスで読み取りがフィルターされているユーザーには適用されません。
スケジュール済みイベント。 スケジュール済みイベントがあるワークフローについて、Weaveは各イベントを、それが開始した実行、およびそれを起動するクラスター内のジョブと比較します。時刻はイベント自身のタイムゾーンで扱われ、ジョブが開始するまでの時間を考慮して、実行予定時刻の15分後に判定されます。
- スケジュール済みイベントのタイムテーブルが無効です。 スケジュールを読み取れない有効なイベントです。
- スケジュール済みの実行が開始しませんでした。 実行を開始しないまま実行予定時刻が過ぎた有効なイベントです。最後に実行を開始してから、まだ一度も開始していない場合は保存してからの期間が対象です。クラスターから判断できる場合、Weaveは、クラスターがイベントを一度も起動しなかったのか、起動したジョブが失敗したのかを追記します。検出事項には、イベントが最後に開始した実行、または保存した時刻が示されるため、イベントが同じ状態で壊れている間は、ひとつの検出事項のままです。実行予定時刻より後に保存されたイベントは、その実行予定については判定されません。
- スケジュール済みイベントの実行予定がワークフローの実行中に到来しました。 ワークフローがまだ実行中に実行予定時刻が来たため、その時点で実行が開始されなかったイベントです。スケジュール済みイベントが、すでに実行中のワークフローの2回目の実行を開始することはありません。ワークフローの実行時間よりスケジュールの間隔が短い場合に、実行予定が気付かれないまま失われないよう、これは1回報告されます。
- スケジュール済みイベントがクラスターと一致していません。 イベントとクラスター内のそのジョブが一致しない状態です。有効なイベントにジョブがない、またはジョブが一時停止されている場合、無効なイベントのジョブが一時停止されていない場合、あるいはジョブのスケジュールまたはタイムゾーンがイベントに表示されているものと異なる場合です。クラスターを読み取れない場合、そのワークフローはスケジュール済みイベントについて未チェックとして報告されます。
実行を開始しなくなったイベントには、通知の元となる実行の終了がないため、メッセージではなくWeaveタブに表示されます。
スケジュールに従って書き込まれるテーブル。 有効なスケジュール済みイベントを持つワークフローが書き込むテーブルについて、Weaveは、スケジュールが最後に実行予定時刻を迎えてからテーブルが書き込まれたかどうかをチェックします。テーブルを書き込むステップが完了した時点で、そのテーブルは書き込まれたものとみなされます。Weaveはテーブルのデータは見ないため、プロジェクトのステップ以外で行われたロードは認識しません。スケジュール済みイベントのチェックと同様に、各スケジュールはイベントのタイムゾーンで読み取られ、実行予定時刻の15分後に判定されます。Weaveがチェックするのは、ロールで表示が許可されているテーブルのみです。analyze.table.readロールがない場合はテーブルを一切チェックせず、1行目はステップとワークフローのみを数えます。
- テーブルがスケジュールどおりに書き込まれていません。 それを書き込むワークフローがスケジュールに従って実行予定時刻を迎えて以降、どのステップも書き込んでいないテーブルです。別のワークフローのステップによる書き込みや、自分で開始した実行による書き込みも含め、どのステップによる書き込みでも対象になります。検出事項には、どのくらい前かではなく、最後に書き込まれた時刻が示されます。失敗した実行は書き込まれていないものとして扱われるため、スケジュール実行が失敗しているワークフローのテーブルは、最終実行は失敗しましたに加えて、ここでも報告されます。
次の場合、Weaveはテーブルを、書き込まれていないものとしてではなく、理由付きの未チェックとして報告します。
- それを書き込むワークフローが実行中、キュー待ち、または完了直後で結果がまだ記録されていない。
- それを書き込むステップが、スケジュールの実行予定時刻以降の実行でスキップされた。自身の条件によるもののほか、ファイルが変更されていないインポートのように、実行する対象が見つからなかったことによる場合も含まれます。
- それを書き込むステップが、スキップの記録なしにスキップされ得る。条件によって別のステップへ移動する標準ワークフロー内にある場合、失敗時に別のステップへ移動するステップがある標準シリアルワークフロー内にある場合、または条件付きのコンテナーや、0回実行される可能性のあるループの中にある場合です。
- 実行予定時刻以降にワークフローの実行が完了したが、その実行で書き込んだステップの記録がない。
- プロジェクト内のいずれかのステップが、Weaveが値を判断できない変数で書き込み先のテーブルを選択しており、このテーブルに書き込む可能性がある。
- スケジュールの実行間隔が180日より長い。これはWeaveの実行履歴がさかのぼれる範囲です。
- ワークフローのスケジュールが無効、または実行履歴を読み取れない。
次の場合、テーブルはまったくチェックされません。
- 鮮度のしきい値(後述)がなく、有効なスケジュール済みイベントを持つワークフローが書き込んでいない。別のワークフローがワークフロー: 実行ステップまたはマクロステップで実行するワークフロー、または内部に配置されたワークフローは、それ自身のスケジュールを通じてのみ対象になります。
- それを書き込むステップが、無効化されている、無効化されたコンテナーに含まれている、またはブレークポイントの位置かその後にあるものだけである。
- ビューである。
2つ目の条件は、実行されるループ内では適用されません。ループは、無効化されているステップ、無効化されたコンテナー内のステップ、ブレークポイントの位置かその後のステップも含め、内部のすべてのステップを実行します。
最後に実行予定時刻を迎えた後に保存されたスケジュール済みイベントは、次に実行予定時刻を迎えるまで判定されません。
実行時間がスケジュールの間隔より長いワークフローは、実行中に到来した実行予定をスキップします。そのため、実行と実行の間でそのテーブルが書き込まれていないと報告されることがあります。その原因は、スケジュール済みイベントの実行予定がワークフローの実行中に到来しましたで報告されます。
テーブルを最後に書き込んだステップにアクセス権がない場合、検出事項には「アクセス権のないステップ」と表示され、書き込みの時刻は引き続き示されます。検出事項内の「180日」は、Weaveの実行履歴がさかのぼれる範囲であり、テーブルについての事実ではありません。
鮮度のしきい値があるテーブル。 鮮度のしきい値は、テーブルの書き込みの間隔として許容される最大の時間数で、1から4,320(180日)の範囲で指定します。しきい値があるテーブルは、書き込むワークフローのスケジュールではなく、そのしきい値に基づいて判定されます。これにより、スケジュールで決まる範囲より緩い、または厳しい基準を設定できるほか、スケジュール済みのワークフローが書き込まないテーブルもチェックできます。スケジュールの場合と同様に、テーブルを書き込むステップが完了した時点で、そのテーブルは書き込まれたものとみなされます。
- テーブルが設定時間内に書き込まれていません。 しきい値を超える期間、どのステップもテーブルを書き込んでいません。検出事項には、最後に書き込まれた時刻としきい値が示されます。
次の場合、Weaveはしきい値があるテーブルを、書き込まれていないものとしてではなく、理由付きの未チェックとして報告します。
- それを書き込むワークフローが実行中、キュー待ち、または完了直後で結果がまだ記録されていない。
- それを書き込むワークフローが、しきい値を過ぎた後に実行を開始して完了したが、その実行で書き込んだステップの記録がない。
- プロジェクト内のいずれかのステップが、Weaveが値を判断できない変数で書き込み先のテーブルを選択しており、このテーブルに書き込む可能性がある。
- 手動でロードするテーブルのように、プロジェクト内にそれを書き込むステップがなく、Weaveが起点とする書き込みがない。
- 実行履歴を読み取れない。
スキップされたステップがあっても、しきい値があるテーブルは未チェックにはなりません。しきい値を超えて書き込まれていないという事実に変わりはないためです。ビューにはしきい値を設定できず、テーブルをビューにするとしきい値はクリアされます。テーブルのコピーや、スナップショットから作成したテーブルには、しきい値は引き継がれません。
しきい値を設定するには、プロジェクトのテーブルリストでテーブルを選択し、テーブルの詳細を表示/編集を選択します。鮮度でWarn if this table isn’t written for more thanを選択し、時間数を入力してUpdateをクリックします。チェックボックスをオフにすると、しきい値が削除されます。しきい値が設定されていない間は、このボックスに、テーブルがスケジュールに基づいて判定されるスケジュール済みワークフローの名前が表示されるか、開けるワークフローの中にスケジュールで書き込むものがないことが表示されます。鮮度は、ビューや作成中のテーブルでは表示されません。analyze.workflow.readロールがない場合も表示されず、変更にはanalyze.table.writeが必要です。
PlaidCloud MCP経由で接続したAIアシスタントに、テーブルの鮮度のしきい値を設定するよう依頼することもできます(ツールはtable_upsertで、freshness_max_age_hoursを使用します)。または、プラットフォームAPIを呼び出します。
PUT /rest/v1/analyze/weave/freshness{"project_id": "<project>", "table_id": "<table>", "freshness_max_age_hours": 24}数値の代わりにnullを送信するとしきい値がクリアされ、テーブルは再び、書き込むワークフローのスケジュールに基づいて判定されます。GET /rest/v1/analyze/weave/freshness?project_id=<project>&table_id=<table>
は、しきい値とscheduled_writersを返します。後者は、しきい値がない場合にテーブルが判定される基準となるスケジュールを持つ、スケジュール済みワークフローを指します。しきい値の読み取りにはanalyze.table.readロールとanalyze.workflow.readロールが必要で、設定にはanalyze.table.writeロールとanalyze.workflow.readロールが必要です。しきい値を設定できるのは、ロールで表示が許可されているテーブルのみで、プロジェクトがロックされている間は設定できません。
ワークフローが読み取ったテーブルのその後の書き込み。 別のワークフローが書き込むテーブルを読み取るワークフローについて、Weaveは、ワークフローが最後にそのテーブルを読み取って以降、ほかのワークフローがそのテーブルに書き込んでいないかをチェックします。テーブルを入力または出力として指定し、実行で完了したステップによって、そのテーブルは読み取られた、または書き込まれたものとみなされます。Weaveが読み取るのは実行履歴の記録であり、テーブルのデータではありません。
- 最後の読み取り後に書き込まれたテーブルを読み取っています。 あるワークフローが実行中にテーブルを最後に読み取り、その後に別のワークフローがそのテーブルに書き込んだため、結果が古くなっている可能性がある状態です。検出事項には、テーブルを最後に読み取った実行と、書き込んだワークフローが示されます。有効なスケジュール済みイベントを持つワークフロー、またはそれを持つ別のワークフローから実行されるワークフローは、その書き込み以降にそれを実行するスケジュールの実行予定時刻が来た場合にのみ報告されます。スケジュールで実行されるものがないワークフローは、すぐに報告されます。
次のものは、その後に書き込まれたものとして数えられません。
- ワークフロー自身による書き込み。ワークフロー: 実行、ワークフロー: ループ、ワークフロー: 条件付き実行の各ステップで実行するワークフローが、その実行中に行った書き込みも含まれます。
- 実行内でそのテーブルを読み取るステップより前に、ワークフローが書き込むテーブル(ステージングテーブルなど)。ただし、テーブル: 追加ステップまたはテーブル: アップサートステップによる書き込み、あるいはフィルター付きのテーブル: インプレース削除ステップによる書き込みは除きます。これらはテーブルのほかの行を保持するためです。
- 書き込んだステップが最後に保存される前に行われた書き込み。そのときは、ステップが別のテーブルに書き込んでいた可能性があるためです。
次の場合、Weaveはワークフローを、遅れているものとしてではなく、理由付きの未チェックとして報告します。
- 実行中、または完了直後で結果がまだ記録されていない。
- そのテーブルを読み取るステップが、書き込み以降の実行でスキップされた。
- ワークフローを実行するスケジュールが無効である。
- 最近の実行のどれもテーブルの読み取りを完了しておらず、別のワークフローが書き込んだ、または書き込んだ可能性がある。
- そのテーブルを読み取るステップが、最後に成功した実行の開始後に保存されたため、その実行が読み取ったかどうかをWeaveが判断できない。ステップが読み取るものを何も変更しない保存であっても、保存はすべて対象になります。
- ステップのいずれかが、設定からWeaveが判断できないテーブルを読み取る。AI: LLMステップ、Reportステップ、実行: リモートPythonステップ、テーブル: 和集合(重複なし)ステップやテーブル: 和集合(すべて)ステップのように、複数のテーブルを読み取り、そのうちのひとつを検索で見つけるステップ、変数でテーブルを選択するもの、複数のテーブルが持つ名前でテーブルを指定するもの、ビューを読み取るもの、別のプロジェクトのテーブルを読み取るものが該当します。
- 読み取るテーブルが、Weaveが実行を確認できないマクロによっても書き込まれている。または、その後に実行された別のワークフローのステップが、変数で書き込み先のテーブルを選択している、複数のテーブルが持つ名前で指定している、あるいはWeaveが判断できないテーブルを書き込んでいる。
- 実行履歴を読み取れない。
過去30日間に実行がないワークフローは、この方法ではチェックされません。
このチェックで確認できないものは次のとおりです。
- Weaveが読み取る実行履歴より古い読み取りと書き込み。実行履歴は過去30日間で、ワークフローごとに直近20回の実行です。
- テーブルを確認するステップの条件。読み取りとは数えられません。
- 同じ実行内でワークフローが行を追加してから読み取るテーブルへの、別のワークフローによる書き込み。ただし、テーブル: 追加ステップまたはテーブル: アップサートステップで追加する場合を除きます。
- ワークフローの別のステップが、同じテーブルをより最近に読み取っている場合の、あるステップによる以前の読み取り。
- 変数でテーブルを選択する、またはWeaveが判断できないテーブルを書き込むステップによる、マクロ内での書き込み。
- 書き込んだステップが最後に保存される前に行われた書き込み。保存で書き込み内容が何も変わっていない場合でも、ワークフローが再度実行されるまで対象外です。
analyze.table.readロールがない場合、この方法でチェックされるワークフローはありません。書き込んだ、または読み取られたワークフローやテーブルにアクセス権がない場合、検出事項には、件数は示さずに「アクセス権のないワークフロー」または「アクセス権のないテーブル」と表示されます。
Weaveにルールがない種類のステップは、問題なしではなく、対象外として報告されます。
失敗した実行に依存するテーブル。 ワークフローの最終実行が、テーブルを書き込むステップの完了前に失敗した場合、そのテーブルには以前のデータが残っているか、新しいデータの一部だけが含まれています。Weaveは、そのテーブルを読み取るステップと、それらが書き込むテーブルをたどり、プロジェクトのワークフロー全体にわたって、それに依存しているものを報告します。
- 失敗した実行が完了しなかったテーブルを読み取っています。 ワークフローが、そのテーブル、またはそこから何ステップ先であってもそれを基に作られたテーブルを読み取っています。検出事項には、読み取っているテーブル、失敗した実行が完了しなかったテーブル、失敗したワークフロー、およびその実行を開始した時刻が示されます。
- 失敗した実行が完了しなかったテーブルを表示しています。 ダッシュボードのグラフが、そのテーブル、またはそこから作られた、公開済みテーブルを使用しているか、そのようなテーブルを読み取るSQLデータセットを使用しています。WeaveはSQLデータセットのテンプレートロジックをタグを取り除いた状態で読み取るため、実際には通らない分岐にあるテーブルも対象になることがあります。検出事項はダッシュボードに関するもので、そのグラフが表示するテーブルを持つ各プロジェクトのWeaveタブに一覧表示されます。
Weaveはダッシュボード「Board Pack」について検出しました。このダッシュボードはテーブル「Margin」を表示しており、これはテーブル「Sales」から作られています。ワークフロー「Import Sales」が最終実行(10月27日 09:15 UTC)でこのテーブルの書き込みを完了できなかったため、グラフに古いデータまたは不完全なデータが表示されている可能性があります
失敗したワークフローごとに別々の検出事項となり、そのワークフローの最終実行が失敗しなくなると解消されます。失敗したワークフロー自体は、ここでは自身の実行について通知されません。それは最終実行は失敗しましたの検出事項が対象とします。
次のものは、失敗した実行が完了しなかったテーブルとしては数えられません。
- ステップが意図的にスキップされたテーブル。条件が満たされなかったステップ、無効化されたステップ、すでに読み込んだファイルをスキップしたインポートなどです。
- 実行が飛ばす可能性があるステップのテーブル。高度ではないワークフローでは、条件のgotoや、シリアルワークフローで失敗したステップのgotoがすべてのステップに及びます。高度なワークフローでは、条件をチェックする実行コンテナー内やその後のステップ、およびループ内のステップに及びます。
- 失敗した実行の開始後に、別のワークフローが行を追加するのではなく全体を置き換えたテーブル。
- ワークフローについては、それを読み取った最終実行で、読み取る前にワークフロー自身が置き換えたテーブル。
実行中のワークフローは、実行が終了するまで判定されません。実行履歴を読み取れない場合、Weaveはこれらを問題なしではなく、未チェックとして報告します。
このチェックで確認できないものは次のとおりです。
- サーバーが停止した場合など、どのステップも失敗を記録しないまま終了した実行、および誰かが停止した実行。
- ステップが変数で選択する、複数のテーブルが持つ名前で指定する、ビュー経由で読み取る、または別のプロジェクトから読み取るテーブル。
- 保存済みクエリに基づくダッシュボードのグラフ、およびテンプレートロジックを取り除くとWeaveがSQLを読み取れないSQLデータセットに基づくダッシュボードのグラフ。
- テンプレートによって名前が組み立てられるテーブル。
- SQLデータセットがスキーマなしで指定しているテーブル。ただし、データセット自体のスキーマがプロジェクトのレポートスキーマである場合を除きます。
- SnowflakeまたはDatabricksウェアハウス上のプロジェクトにあるすべてのSQLデータセット。
- 公開されていないテーブル、およびPanelアプリ。
- Weaveが読み取る実行履歴より古い実行。実行履歴は過去30日間で、ワークフローごとに直近20回の実行です。
ダッシュボードの検出事項が表示されるのは、開けるダッシュボードのみです。analyze.table.readロールがない場合、どちらのチェックも実行されません。
メトリックの合計値の異常。 Weaveは毎日、プロジェクトのメトリックを読み取り、最後に完了した期間が通常から大きく外れたものを報告します。変化の背後にある、顧客や工場などの項目も示されます。メトリックの合計値の異常を参照してください。
ひとつのワークフローのレビュー
Section titled “ひとつのワークフローのレビュー”レビューは、ワークフローを信頼する前に、ひとつのワークフローをチェックします。ワークフローとそのステップ(実行するワークフローのステップも含む)に対してWeaveのチェックを実行し、さらに、Weaveタブを開くたびに読み取るには負荷が大きいため、レビューでのみ実行する3つのチェックも行います。
- 自身の入力にフィードバックする配賦。 ワークフローが実行する各配賦ステップについて、その書き込み内容が、任意のステップや任意のワークフローを経由して、配賦対象のテーブルまたはドライバーテーブルに戻ってくるかどうかをチェックします。戻ってくる場合、ステップが配賦する量や配分の仕方は、以前の実行で配賦した内容に左右されます。Weaveはループが通過するステップを挙げ、そのループが意図したものかどうかの確認を求めます。追加先のテーブルを読み取る増分ロードのように、配賦ステップを通過しないループは報告されません。
- 配賦のドライバーテーブルと列。 配賦ステップが使用するドライバーテーブルが存在し、ステップがそこから読み取るすべての列があるかどうかをチェックします。ステップが定数や式で埋めるドライバー列は、探索の対象外です。ほかの場所で作られたドライバーテーブルは、現時点の状態でチェックされます。このワークフロー内のステップがそれを作る場合、そのステップが実行されるまで列が確定しないため、Weaveは配賦を、合格としてではなく未チェックとして報告します。ステップが変数やフォルダーパスでドライバーテーブルを選択する場合、ワークフローがマクロである場合、およびロールでそのテーブルを見られない場合も、配賦は未チェックとして報告されます。
- 名前を変更した列の行レベルセキュリティ。 ワークフローが書き込む各テーブルについて、行レベルセキュリティの属性が使用するディメンションでタグ付けされているものの、その属性の名前が付けられていない列があるかどうかをチェックします。行レベルセキュリティは、属性にちなんだ名前の列に対してのみフィルターを行うため、この列ではフィルターされません。このチェックにはプロジェクトのアーキテクトロールが必要で、それ以外のユーザーには、チェックされなかったとレビューに表示されます。変数やフォルダーパスで指定されたテーブルも同様です。
レビューは、見つかった内容と、ワークフローのどれだけの範囲に対するものかを述べて始まり、問題なしで終わることはありません。
Weave found 2 problems in the workflow "Q3 Close". It couldn't finish checking 1of its 8 steps (listed below), so it may have missed problems in those. See belowfor what these checks don't cover.
Weave noticed the step "Allocate rent": it uses the column "sq_ft" from its drivertable "Floor space", which doesn't have that column. Pick a column the table has,or add "sq_ft" to it.Weave noticed the step "Allocate IT cost": its output flows back into its drivertable "IT driver" through "Build IT driver", so how it spreads what it allocatesdepends on what it allocated on an earlier run. Check whether that loop isintended.Weave hasn't checked the step "Allocate IT cost" — whether its driver table"IT driver" has the columns it uses: the step "Build IT driver" builds thattable, so its columns aren't known until that step runs.ロールで見られないステップも合計に含まれ、レビューにはそれらをチェックしていないことが示されます。
レビューには、チェックしないものも一覧表示されます。テーブルに対するWeaveのチェック、つまりスケジュールに従って書き込まれるテーブルが遅れていないか、およびワークフローが読み取るテーブルがその後に書き込まれていないかは実行しません。これらはプロジェクト全体を読み取り、Weaveタブで実行されるためです。配賦ステップがあるワークフローでは、配賦するすべての金額に対応するドライバー行やディメンションメンバーが見つかるか、ソーステーブルとドライバーテーブルが同じ粒度の数値を保持しているか、SQL内や変数でテーブルを指定するステップを経由するループ、といった点もチェックしません。
ワークフローをレビューするには、キャンバスまたはステップグリッドでワークフローを開き、チェックを選択します。このボタンは、ワークフローを編集でき、プロジェクトのテーブルを読み取れるユーザーに表示されます。Weaveチェックウィンドウには、次の内容が順に表示されます。
- レビューの冒頭の行。
- サマリー(AIが作成)(レビューにサマリーがある場合)。
- レビューの問題。続いてチェックできませんでしたの項目。サマリーが指している問題にはサマリー内と表示され、ステップの検出事項の横にある移動は、チェックを選択した場所でそのステップを選択します。
- このチェックの対象外の項目。常に最後に表示されます。
チェックを再度選択すると、同じウィンドウで新しいレビューが実行されます。
PlaidCloud MCP経由で接続したAIアシスタントにワークフローのレビューを依頼する(ツールはworkflow_review)か、プラットフォームAPIを呼び出すこともできます。レビューには、プロジェクトのステップ、ワークフロー、テーブルへの読み取りアクセスが必要です。上記の3つのチェックはWeaveタブには表示されず、Weaveはレビューでのみ実行します。
問題が見つかった場合、WeaveチェックウィンドウとプラットフォームAPIでは、レビューに、PlaidCloud内蔵のAIが作成した1〜2文のサマリーと、最初に確認すべき問題が最大3件含まれます。AIに渡されるのは、レビューの問題のみです。サマリーが返される前に、指している問題がそのレビュー自身のものであること、引用する名前や書かれた数字がそれらの問題に含まれていること、そして「ほかに問題はありません」のような表現を使っていないことが確認されます。この条件を満たさないサマリーは破棄され、レビューはサマリーなしで返されます。問題がないレビューにはサマリーがありません。AIアシスタント経由の場合、レビューにはサマリーがなく、アシスタントが検出事項を自分で読み取ります。
実行終了時の通知
Section titled “実行終了時の通知”ワークフローの実行が終了すると、Weaveはそのワークフローを確認し、各問題の担当者(検出事項に担当者を割り当てるを参照)に、そのワークフローとその実行、およびステップの保存済み設定に対する問題のうち、プロジェクトのWeaveタブでまだ読んでいないものについて、アプリ内メッセージで通知します。担当者がいない問題や、担当者がもうその問題を見られない場合は、その実行の所有者、つまり実行を開始した人、スケジュール実行の場合はスケジュールを最後に保存した人に通知されます。各問題は1回だけ通知されます。Weaveタブで読むまでは、以降の実行で再び通知されることはないため、多くのワークフローを実行するWorkflow Loopによって画面が繰り返しの通知で埋まることはありません。Weaveボタンのカウントは、読むまで保持されます。
メッセージは30秒間表示され、Weaveを開くリンクがあります。このリンクは、プロジェクトのWeaveタブで、実行されたワークフローに関する検出事項を開きます。メッセージの上でそれ以外の場所をクリックすると、閉じます。
プロジェクトに関するWeaveのメッセージが表示されている間に、同じプロジェクトに関する新しいメッセージが届くと、その下に表示される代わりに既存のメッセージにまとめられます。メッセージには最新の文が表示され、その後に*このプロジェクトでほかに2件あります。*のような行が続き、最新のメッセージから30秒間表示されます。メッセージが異なるワークフローに関するものである場合、Weaveを開くはWeaveタブ全体を開きます。そのため、短い間隔で続けて失敗したワークフローについては、それぞれにメッセージが出るのではなく、ひとつのメッセージにまとまります。準備状況のリマインダーは、常に単独で表示されます。
問題を読んだ後は、その内容が変わったときにのみ再び通知されます。実行に関する検出事項は、その元となった実行(日付、時間、件数)を説明するため、毎晩失敗するワークフローは、前回の失敗を読んだ後、次の失敗で再び通知されます。設定に関する問題は実行のたびに同じ内容になるため、一度読めば、実行ごとに繰り返し通知されることはありません。
停止した実行は、誰が停止したかにかかわらず、何も送信しません。Macro RunステップまたはMacro Concurrentステップによって実行されるワークフローは、それ自体は何も送信せず、その呼び出しは実行回数に数えられません。ワークフローの実行ステップまたはWorkflow Loopステップによって開始されるワークフローは、ほかと同じようにそのワークフローの実行として扱われます。Weaveがチェックできなかったものは、この方法では送信されません。スケジュールに従って書き込まれるテーブルや、ワークフローが読み取った後に書き込まれたテーブルに関する検出事項も同様で、これらはWeaveが実行の合間に通知します。実行の合間の通知を参照してください。
通知を受けたことは、読んだことと同じではありません。アラートによって、Weaveタブで検出事項が既読になることはなく、そのWeaveを開くリンクをたどっても既読にはなりません。
メッセージで通知される各問題は、ヘッダーのWeaveボタンのカウントに加算されます。ヘッダーのWeaveボタンを参照してください。
実行の合間の通知
Section titled “実行の合間の通知”何も実行されていない状態で現れる問題があります。スケジュールまたは鮮度のしきい値の範囲内に書き込まれていないテーブル、開始されなかったスケジュール済みの実行、あるいはワークフローがまだ実行中に実行予定時刻が来たスケジュール済みの実行、別のワークフローが読み取り後に書き込んだテーブルがあるワークフロー、そして、失敗した実行が完了しなかったテーブルに依存しているワークフローまたはダッシュボードです。これらについては、実行の終了が通知のきっかけになりません。そのため、Weaveは1時間に1回、各プロジェクトをチェックし、各問題の担当者にアプリ内メッセージで通知します。詳細は検出事項に担当者を割り当てるを参照してください。
1時間ごとのチェックでは、何回のチェックで見つかったとしても、これらの問題を1回だけ通知します。また、プロジェクトの最初のチェックでは、どれだけ前から存在していたかにかかわらず、すでにある問題を通知します。再び通知されるのは、問題が解消してから再発した場合、または、問題を読んだ後に内容が変わった場合のみです。たとえば、その後のスケジュール済みの実行も開始されなかった場合などです。スケジュールの問題はワークフロー自身のチェックにも含まれますが、1時間ごとのチェックで通知された後は、読むまで、ワークフローの次の実行終了時のメッセージでは繰り返されません。詳細は実行終了時の通知を参照してください。ひとつのプロジェクトで複数の問題が見つかった場合は、それらを数えて最初のものを引用する、ひとつのメッセージで届きます。
Weaveはプロジェクト「Finance Close」で3件の問題を検出しました。最初の問題は、テーブル「Sales Daily」です。ステップ「Load Sales」が最後にこのテーブルを書き込んだのは10月14日 06:00 UTCで、ワークフロー「Nightly Load」はそれ以降、スケジュールに従って実行される予定になっています
複数のワークフローが書き込むテーブルは、誰かが担当者を割り当てるまで担当者がいません。スケジュールどおりに書き込まれていない場合、Weaveは、書き込む予定だったのに書き込まなかった各ワークフローの担当者に通知します。担当者がいないそのほかの問題は送信されず、プロジェクトのWeaveタブに一覧表示されます。
チェックは各担当者として実行されるため、メッセージにはロールで見られるものの名前しか表示されません。通知を受けるのは、ステップとワークフローを見られるロールを持つ、プロジェクトのアクティブなメンバーとしてのみで、テーブルについては、テーブルを読み取れる場合にのみ通知されます。
メッセージは30秒間表示され、Weaveを開くリンクがあります。このリンクは、プロジェクトのWeaveタブを開きます。メッセージ内のすべての問題が同じワークフローに関するものである場合は、そのワークフローを開きます。メッセージが表示されるのは、サインインしている間のみですが、通知される各問題はヘッダーのWeaveボタンのカウントに加算されるため、見逃した問題もそこで数えられます。通知を受けても、検出事項は既読になりません。
検出事項を既読にする
Section titled “検出事項を既読にする”各検出事項にはIDがあり、既読にすることで新規として表示されなくなります。プロジェクトのWeaveタブで、カード上の既読にするをクリックします(検出事項を既読にするを参照)。IDは検出事項自体から導出されるため、却下した検出事項でも、根本的な問題が変わると新規として再び表示されます。たとえば、ひとつの列を修正した後に既読にしたステップは、後で別の列に問題が発生すると再び表示されます。
既読の状態はあなた個人のものです。検出事項を既読にしても、プロジェクトのほかのユーザーにとっては既読になりません。
遅れているテーブルを書き込むワークフローが実行中の間、Weaveはそのテーブルを未チェックとして報告します。その間に検出事項を既読にして、実行がテーブルを書き込まないまま終了した場合、その検出事項は新規として戻ってきます。
同じワークフロー内で2回リストされている別々の2つのステップは、2つの検出事項になるため、一方を既読にしても、もう一方は未読のままです。名前のないワークフローは「unnamed workflow」と表示され、実行できなかったチェックは、「最終実行は失敗しました」のように、タイトルで名前が付けられます。
ダイジェスト
Section titled “ダイジェスト”ダイジェストは、同じレポートから、まだ読んでいないものに絞り込んだもので、語り口は同じです。いつでも依頼でき、アプリ内通知として配信することもできます。通知には、プロジェクトのWeaveタブへのWeaveを開くリンクが含まれます。
Weaveがチェックできなかった検出事項も、ほかと同じようにダイジェストに含まれます。それらを黙って省くダイジェストは、まさに3つ目の答えが防ごうとしている、安心させるだけの沈黙になってしまいます。