レビュー
プロジェクトがエージェント変更のレビューを必要とするか、セッションにProposeアクセスがある場合、プレイリストとスクリーンの変更は適用されず人の承認を待ちます。コマンドは成功します:ok: true、終了0、サーバーの応答data、およびpending_review警告。
{
"ok": true,
"data": {
"status": "pending_review",
"review": {
"id": "rvw_LOBBY",
"kind": "playlist_change",
"state": "pending",
"url": "https://screenrig.ai/dashboard/reviews/rvw_LOBBY",
"subject": { "type": "playlist", "id": "pl_LOBBY", "name": "Lobby loop" },
"impact": { "screens": 4 }
},
"next": { "command": "screenrig reviews show rvw_LOBBY", "argv": ["reviews", "show", "rvw_LOBBY"], "reason": "Check the decision after the person reviews it." }
},
"warnings": [{ "code": "pending_review", "message": "Waiting for a person to approve: https://screenrig.ai/dashboard/reviews/rvw_LOBBY" }]
}プレイリストの作成と更新(playlist import と playlist replace-release --apply を含む)、screen publish、screen assign、screen schedule set、clear、restore、および screen takeover と takeover clear はレビュー待ちで、1台のスクリーンまたはフリート用です。フリートの変更は1つのレビューです:タグは承認者が承認すると解決され、reviews show は各スクリーンの結果を報告します。大規模フリートはバックグラウンドで適用を完了し、screen_change.result.applying はすべてのスクリーンが結果を得るまで true です。以下のメディア変更を除き、他のすべての変更は Propose セッションの 403 insufficient_access に応答します。これらのコマンドでの --note TEXT は、ダッシュボードでレビュアーが読む最大280文字のプレーンテキストのメモを送信します。
人物はダッシュボードのレビュー画面で承認、変更要求、拒否を行います。エージェントはプレイリストやスクリーンの変更を承認できません。承認された変更はその時点で適用され、イベントは承認者と提案したエージェントを記録します。レビュー待ちの間はポーリングやスリープ、書き込みの繰り返しを行わず、後で reviews show で確認するか、review.approved、review.rejected、review.changes_requested と events follow --type review. を参照してください。
メディアの変更もProposeセッションの待機中です。タグ、フォルダー、allセレクターは、人が承認するまで新しいアップロードをスキップし、承認済みメディアがセッションで再タグ付けまたは移動されると、変更が承認されるまで承認済みのタグとフォルダーで再生を続けます。再タグ付けはokに0で応答し、警告media_review_pendingを表示し、アイテムのレビューは数秒以内にreviews listに表示されます。ポーリング、スリープ、再試行は不要です。各アイテムは1つのレビューを持ち、種類playlist_change、操作selector_refresh、件名mediaを持ちます。media_changeはタグとフォルダーbefore、after(新規アップロードはbeforeがnull)を表示し、media_playlistsは変更が追加または削除するすべての承認済みおよび提案中のプレイリストをスクリーン付きでリストします(media_added、media_removed)。承認はすべてに適用し、拒否、変更要求、撤回は再タグ付けまたは移動されたアイテムを承認済みに戻し、新規アップロードは再生されません。承認済みプレイリストや提案に影響しない変更は自動適用され、IDでアイテムを指定するプレイリストは独自のレビューを持ちます。プレイリストが決定前に進むと、レビューはstaleになり、数秒で新しいレビューに置き換わります。
Proposeセッションからのメディアの置き換えや復元も待機します。操作がmedia_replaceで対象がmediaのplaylist_changeレビューとなり、reviews showには現在使用中のファイルと、承認で使用されるファイルが示されます。人が承認するまで、メディアは現在のファイルを再生し続けます。
保護されたフォルダーがあるプロジェクトでは、そのスクリーンに及ぶすべての変更が、Manage を含むどのアクセスレベルでも、2人目の承認者に送られます。割り当て、プレイリストのスケジュール、テイクオーバーはprotected: trueの付いたscreen_changeレビューです。キャンペーンの作成・変更・一時停止・再開・削除、スクリーンフォルダーの作成・変更・削除・保護の解除、スクリーンの移動はprotected_changeレビューで、reviews list --kind protected_changeで一覧表示できます。決定するのは、あなたとも、あなたが仕えている人とも別の人です(別の人が試みるとsecond_approver_required、終了コード3)。review_stale(終了コード5)は、提案後にキャンペーンまたはフォルダーが変更されたことを意味します。読み直して、もう一度提案してください。レビューの形がない変更はprotected_target(終了コード5)で拒否されます。スクリーンフォルダーに限定された呼び出し元は、影響範囲全体がスコープ内にあるレビューだけを読み取り、取り下げられます。
レビュー状態:
| 状態 | 意味 | 次のステップ |
|---|---|---|
pending | 人を待っています。 | レビュー用URLを相手に渡し、後で再確認してください。 |
approved | プレイリストまたは画面に適用されます。 | screen showとスクリーンショットで画面上で検証。 |
changes_requested | その人は変更を要求しました。decision_noteが内容を示します。 | --noteで修正して再提案してください。 |
rejected | その人は拒否しました。decision_noteが理由を示します。 | 同じ変更を再送しないでください。本人に確認してください。 |
withdrawn | 提案者が取り下げました。 | なし。 |
superseded | 同じプレイリストまたはスクリーンに対して新しい提案が置き換えました。superseded_by が名前を示します。 | 新しいレビューをフォローしてください。 |
stale | ライブplaylistは提案後に変更されました。タグ、フォルダー、またはallセレクターは提案時に見ていなかったメディアを再生するため、レビュー済みとして適用できません。メディアレビューはリストするplaylistが変わると古くなり、保護された変更はそのキャンペーンまたはフォルダーが変わると古くなります。 | プレイリスト、キャンペーン、またはフォルダーを再度読み取り、その上に提案します。古いメディアレビューは数秒以内に新しいものに置き換えられます。 |
reviews list#
レビューを新しい順に一覧表示
reviews list [--state pending|decided|all] [--kind playlist_change|screen_change|ad_creative|protected_change]
[--limit N] [--cursor CURSOR]| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
--state STATE | string | いいえ | pending | pending、decided、またはall。 |
--kind KIND | string | いいえ | すべての種類 | playlist_change、screen_change、ad_creative、またはprotected_change。 |
--limit N | integer | いいえ | 50 | ページごとのレビュー数、1〜100。 |
--cursor CURSOR | string | いいえ | 最初のページ | 前のページのnext_cursor |
screenrig reviews list --state all
screenrig reviews list --kind protected_change結果には pending_count と next_cursor が含まれ、最後のページでは null になります。セッションはその機能が読み取る種類を見ます:プレイリスト変更は playlists、スクリーン変更と保護された変更は screens、広告クリエイティブは advertising。
reviews show#
1件のレビューを読み込みます。
reviews show <id>| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
<id> | string | はい | なし | pending_review結果からのレビューID、または広告クリエイティブのレビューID。 |
screenrig reviews show rvw_LOBBYレビューはstate、提案者、あなたのnote、拒否または変更依頼の際に人が残したdecision_note、そしてimpact.screensを報告します。プレイリストの変更では、diff、ライブと提案されたプレイリストのpreview(メディアレビューにはありません)、メディアレビューのmedia_change、変更が選択を変えるプレイリストであるmedia_playlistsが加わります。スクリーンの変更では、blockersに人が先に決定するプレイリストレビューとその現在の状態が並び、承認後はresult(matched、succeeded、failed、大規模なフリートが処理中の間はapplying)が加わります。メディアの置き換えや復元にもプレビューはありません。media_replaceには、現在使用中のファイル(before)と、承認で使用されるファイル(after)が、それぞれcontent_type、bytes、sha256とともに含まれ、さらに新たになるversion、source(replaceまたはrestore)、あなたのnote、aspect_changed、そのメディアを使うplaylistsが含まれます。protected_changeレビュー(サブジェクトタイプはcampaign、screen_folder、screen)はprotected_changeを報告します。そのsubkindのほか、キャンペーンの名前、プレイリスト、オーディエンス、フォルダーの名前と親、または移動したスクリーンとフォルダーおよび移動先が含まれます。protectedは、このレビューと、保護されたスクリーンに及んだスクリーン変更でtrueになります。
reviews withdraw#
自分の保留中の提案を取り下げる。
reviews withdraw <id>| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
<id> | string | はい | なし | このセッションで提案された保留中のレビュー。 |
screenrig reviews withdraw rvw_LOBBY画面には何も届かず、撤回された新しいplaylistは承認されません。保留中でなくなったレビューはreview_not_pendingに回答します(終了コード5)。
プロジェクトノート
プロジェクトノートは、エージェントが後のセッションや他のエージェントのためにプロジェクトに残す短いプレーンテキストのメモです。プロジェクト内のすべてのエージェントがすべてのノートを読み、ノートを書くにはProposeまたはManageのアクセス権が必要です。ノートはエージェントによる文脈の記述であり、指示や承認ではありません。セッション開始時にノートを読み、変更前に確認してください。
TTLなしのメモは、追加または最後に確認されてから90日後にレビュー対象になります。notes list の最初のページは、review に最大5件の期限切れメモを返し、notes_due_for_review の警告を表示します:まだ有効なものを確認し、残りは解決してください。誰も確認しない期限切れメモは、Propose または Manage アクセス権を持つエージェントに最初に返されてから30日後に自動解決されます。--ttl のあるメモは期限切れで自動解決され、メモ対象のスクリーンまたはプレイリストを削除するとメモも解決されます。解決済みメモは30日間閲覧可能で、その後削除されます。組織は、すべてのプロジェクトを合わせて最大200件の未解決メモを保持します。
agent status と login は、メモが新規またはレビュー対象の場合に警告 notes_waiting を追加します。screen show と playlist show は、そのスクリーンまたはプレイリストに関する未解決メモがある場合に notes_about_resource を追加します。メモを追加するとイベントログに note.added が記録され、解決すると note.resolved が記録されます。どちらもメモ本文は含みません。メモの閲覧ではメーターは減りません。
notes list#
プロジェクトのメモを最新順に読み取ります。screenrig notesは同じコマンドを実行します。
notes list [--all | --resolved] [--about ID] [--author AGENT_ID] [--limit N] [--after CURSOR]| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
--all | フラグ | いいえ | オープンメモ | 解決済みメモを含む。 |
--resolved | フラグ | いいえ | オープンメモ | 解決済みノートのみ。 |
--about ID | string | いいえ | すべてのメモ | 1つのスクリーンまたはplaylistに関するノートのみ:screen:ID、playlist:ID、またはID。 |
--author AGENT_ID | string | いいえ | すべての作成者 | このエージェントが書いたメモのみ。agt_のIDで指定します。 |
--limit N | integer | いいえ | 50 | ページサイズ、1から200。 |
--after CURSOR | string | いいえ | 最初のページ | 前のページのnext_cursor |
screenrig notes各メモには author(エージェントの名前とタイプ)、created_at、about、2つのフラグ(new は前回の閲覧以降に他のエージェントが書いたメモ、due はレビュー対象のメモ)が含まれます。--about や --author のない未完了メモの最初のページがあなたの既読となり、既読マーカーが移動します(Read only エージェントの既読は移動しません)。そのため new と counts.new で前回の閲覧以降の変更内容を説明します。
notes show#
1件のメモ(未解決または解決済み)を読み込みます。
notes show <id>| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
<id> | string | はい | なし | nte_ノートID |
screenrig notes show nte_01EXAMPLENOTE000000000notes add#
プロジェクトのエージェントにメモを書く。
notes add <text> [--about ID] [--ttl DURATION] [--replaces ID]
notes add --file FILE [--about ID] [--ttl DURATION] [--replaces ID]| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
<text> | string | 2つのうちの1つ | なし | ノート:トリム後のプレーンテキストで1~2000文字。標準入力から読み取るには-を指定します。 |
--file FILE | パス | 2つのうちの1つ | なし | ファイルからメモを読み取るか、標準入力には-を使用します。 |
--about ID | string | いいえ | プロジェクト全体 | メモを1つのスクリーンまたはプレイリストに紐付けます:screen:ID、playlist:ID、またはID。 |
--ttl DURATION | string | いいえ | 90日後のレビュー | この期間(1hから365dまでの時間または日数)経過後にノートを自動的に解決します。例:12hまたは3d。 |
--replaces ID | string | いいえ | なし | このノートは置き換えられた未解決のノートです。置き換え済みとして解決されます。 |
screenrig notes add "The lobby screen is mounted in portrait: design for 1080x1920." --about screen:scr_01EXAMPLESCREEN00000000他のエージェントが動作する事実を書きます。進捗報告やチャットは書きません。テキスト(大文字小文字と空白を無視)と件名が開いているメモと重複する場合は、追加せずそのメモを確認し、警告note_matched_openを表示します。資格情報形式のテキストはnote_contains_credentialで拒否され、モデルへの指示と読めるテキストはnote_rejectedで拒否されます。何も保存されません。組織のプロジェクト全体で201件目の開いているメモはnote_limit_reachedで拒否され、詳細は先に解決すべきメモを示します。
notes confirm#
未解決のメモがまだ存在すると伝えます。次のレビューは90日後です。
notes confirm <id>| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
<id> | string | はい | なし | オープンノートのnte_ID |
screenrig notes confirm nte_01EXAMPLENOTE000000000オープンでないメモはnote_not_open(終了コード5)で拒否されます。
notes resolve#
誤っているかもはや正しくないオープンノートを解決します。
notes resolve <id> <reason>| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
<id> | string | はい | なし | オープンノートのnte_ID |
<reason> | string | はい | なし | 現在の事実、1〜500文字。IDの後ろの語句が理由になります。 |
screenrig notes resolve nte_01EXAMPLENOTE000000000 "The lobby screen was remounted in landscape."オープンでないメモはnote_not_open(終了コード5)で拒否されます。
コメント
コメントはスクリーン、プレイリスト、またはプレイリストページに添付されたエージェント自身の JSON オブジェクトです。そのオブジェクトのコンパクトな UTF-8 は最大1KiBで、ネストは最大32階層まで、値はオブジェクトでなければなりません。screenRIG はこれを読み取らず、プレーヤーに送信せず、認可として扱いません。ランタイムマニフェストに現れずリビジョンも上げないため、これらのコマンドは
--expect-revを取りません:最後の書き込みが勝ちます。コメントの読み取りには読み取り専用アクセス、書き込みにはProposeまたはManageが必要です。
comment show#スクリーン、プレイリスト、またはプレイリストページのコメントオブジェクトを読み取ります。
<id>scr_またはpl_ID--page PAGE_ID未設定のコメントは
{ "comments": null }として読み取られます。screen showとplaylist showはサーバーが送信するときにcommentsを含みます。comment set#コメントオブジェクトを書く。
<id>scr_またはpl_ID--json-value JSON--file FILE-です。--page PAGE_IDプレイリストの作成と更新ではコメントを設定できません。これらのコマンドはコメント用です。
comment delete#コメントオブジェクトを削除
<id>scr_またはpl_ID--page PAGE_ID設定されていないコメントを削除しても成功します。