案件と引き継ぎ

案件を開始し、担当を決め、成果を記録して引き継ぎます。


案件を開始して読む

ワークスペースで作成する場合は、保存済みの既定ワークスペースを使う場合も、--private、--team-ids "$TEAM_ID"(カンマ区切りまたは JSON 配列)、設定全体を渡す --access のいずれか1つを選びます。--request JSON では private、teamIds、access を使い、併用しません。個人スペースでは共有指定を省略できます。チーム経由で編集できる作成者には、重複する直接共有を追加しません。

epismo case start --version-id "$VERSION_ID" --input '{"customer":"Acme"}' --private
epismo case start --title "Review contract exception" --private
epismo case get <case-id-or-code>
epismo case list --status open
epismo case list --assigned-to <user-id>
epismo case list --sharing-scope anyone

案件の詳細とアクセス設定の取得は UUID または PANDA-317 のような不変の案件コードを受け付けます。ほかの操作には UUID を使います。案件の詳細取得には最新10件の記録を含みます。続きは CLI の records_next_cursor と records_scope(self)、API/MCP の recordsNextCursor と recordsScope で取得します。

公開案件では現在のタイトル、入力、タスク、記録、閲覧可能な引き継ぎを読めます。後から追加した内容も公開対象です。作成者・担当者の公開プロフィールへの参照は含みますが、非公開の共有先、リンク元資料、AI の評価レポート・要約、内部設定は含みません。公開設定では閲覧だけを許可します。明示的に共有された閲覧者は非公開案件とリンク元資料も読めますが、更新には編集権限が必要です。

公開案件の読み取りは Web・CLI・API・MCP でログインなしでも 0 クレジット です。API / CLI / MCP の仕事の詳細取得は補助取得を 案件の取得1回分の1クレジット にまとめ、通常の Web 閲覧は無料です。

使った手順を後から確認できるようにするには、プレイブックのバージョンを指定して案件を始めます。プレイブックがない仕事は、タイトルだけで案件を作れます。どちらの場合も、タスクは自動作成されません。

担当者を指定する

epismo case access get <case-id>
epismo case access set <case-id> --access '{"visibility":"restricted","grants":{"<user-or-team-uuid>":"editor"}}' --lock-version <n>
epismo case assign <case-id> --assigned-to <user-id> --lock-version <n>
epismo case task create <case-id> --kind work --title "Verify totals" \
  --instructions "Use the latest invoice" --assigned-to <user-id>
epismo case task create <case-id> --kind approval --title "Approve recommendation" \
  --subject-record-id <record-id> --assigned-to <user-id>
epismo task list --status open

担当者を指定する前に、その人を案件の編集者として共有先に追加します。案件全体の責任には案件、一つの明示的な仕事または承認にはタスクを割り当てます。承認タスクは対象記録を正確に指定してください。最上位の task list は現在のユーザーに割り当てられたタスクを既定で表示します。別の担当者を見るときだけ --assigned-to を指定します。

案件の引き継ぎ(handoff)

epismo case handoff create <from-case-id> --to-case-id <to-case-id>
epismo case handoff create <to-case-id> --from-case-id <from-case-id>
epismo case handoff remove <case-id> <handoff-id>
epismo case handoff graph get <case-id> --scope connected
epismo case handoff candidates list <case-id> --direction outgoing

連続する案件や依存関係にある案件を有向エッジ(fromCaseId -> toCaseId)で接続します。引き継ぎの作成・削除には元案件の閲覧権限と先案件の編集権限が必要です。公開案件は、編集できる案件へ続けられますが、閲覧だけでは公開案件へ仕事を接続できません。ループや循環は拒否されます。epismo case handoff graph get で案件周辺の DAG を確認できます。

記録を追記・更新して読む

epismo case record append <case-id> --kind output --origin agent --content "..."
epismo case record append <case-id> --kind note --origin agent --content "..."
epismo case record append <case-id> --task-id <task-id> --request @evidence.json
epismo case record update <record-id> --content "..."
epismo case record delete <record-id>
epismo case record list <case-id> --scope ancestors --order asc

案件とタスクの更新には最新の expectedLockVersion(取得時は lockVersion)が必要です。競合したら現在の状態を読み直し、変更を再検討してください。案件の編集者は担当変更、タイトル変更、終了・再開、全共有設定の変更、アーカイブ・復元ができます。担当変更は権限を付与しないため、選ぶ相手には既存の編集権限が必要です。共有解除によって担当者は変更されません。開始者、作成者、完了済み承認は履歴として保持します。

クライアントが書ける記録の kind は note・output・agreement です。activity はサーバーが記録します。AI による案件の評価では、判定記録とは別にレポートを保存します。作成者は、進行中の親案件への編集権限を保持している間、自分の非システム記録を編集・削除できます。--scope(self・ancestors・descendants・neighbors・connected)で引き継ぎ先のタイムラインも取得できます。フィルターは許可された結果を絞り込み、カーソルで続きを取得します。

記録の種別は note・output・システム専用の activity・agreement です。新規作成と種別変更には note・output・agreement を指定します。人やエージェントの評価はノートに保存でき、AI レビューは別のレポートに保存されます。

内容を更新し、案件やタスクを終了する

epismo task update <task-id> --title "Verify totals and tax" \
  --instructions "Use the signed invoice" --assigned-to <user-id> --lock-version <n>
epismo task set status <task-id> --status approved --lock-version <n>
epismo task set status <task-id> --status open --lock-version <n>
epismo case update <case-id> --title "Updated title" --lock-version <n>
epismo case update <case-id> --input '{"customer":"Acme"}' --lock-version <n>
epismo case update <case-id> --version-id <version-id> \
  --input '{"customer":"Acme"}' --lock-version <n>
epismo report case get <case-id>
epismo report case generate <case-id>
epismo report case act <case-id> --report-id <report-id> --proposal-id <proposal-id> \
  --action create
epismo report case act <case-id> --report-id <report-id> --proposal-id <proposal-id> --action dismiss
epismo case close <case-id> --status completed --lock-version <n>
epismo case reopen <case-id> --lock-version <n>

作業タスクには completed または cancelled、承認タスクには approved、rejected または cancelled を指定します。案件が進行中であれば、終了したタスクを open で再開できます。結果の詳細や理由は記録に残します。

進行中(open)案件では、--version-id で閲覧可能かつアーカイブされていないプレイブックのバージョンを追加・差し替えできます。省略すると現在の選択を維持します。解除するには epismo case update CASE_ID --request '{"version_id":null,"expected_lock_version":3}' を使います。--input を省略すれば現在の入力を使い、同時に渡せば入力全体を置き換えます。プレイブックが設定されている場合は選択したバージョンの入力スキーマを検証し、失敗時は変更を保存しません。プレイブックの変更はシステムの履歴に残り、既存のタスク・記録・レポートは維持します。タスクは元のステップへの参照を保持します。

案件やタスクを終了するときに、--request または対応するオプションで records 配列を渡すと、最終成果をまとめて記録できます。案件を完了するには、すべてのタスクが終了している必要があります。案件を中止すると、進行中のタスクも cancelled になります。案件を再開しても、終了したタスクは再開されません。

案件の編集者は epismo report case generate <case-id>(エイリアス: epismo case report generate、POST /v1/cases/{caseId}/report)で、案件の共有証拠と記録全体に対する AI レビューによる評価を依頼できます。評価はバックグラウンドで進みます。受付時に、処理状況を確認するための情報が返ります。評価には組み込みの指示を使います。所有元のカスタム評価指示やリクエストごとのプロンプト指定には対応していません。ワークスペースのポリシーで許可されている場合は評価時のウェブ検索も利用されます。

処理完了後、epismo report case get <case-id>(GET /v1/cases/{caseId}/report)でレポートと次の行動の提案を確認できます。レスポンスにはレポート状態、整理された所見、次に必要な作業の提案が含まれます。編集者は epismo report case act <case-id> --report-id <report-id> --proposal-id <proposal-id> --action <create|dismiss>(POST /v1/cases/{caseId}/report/actions)で、提案からタスクや改善提案を作成したり、対応不要にしたりできます。保存済みの提案内容をすべて確認し、reportId・proposalId・action(create または dismiss)を指定します。対応不要とする場合は任意の feedback も指定できます。採用すると保存済みの内容を変更せず、タスク、引き継ぎリンク付きの案件、改善提案、または初版を含むプレイブックを作成します。title・content・定義の上書き・idempotencyKey は送信しません。再試行には提案の識別子を使います。判断は提案ごとに保存され、処理済みの提案を再送しても作業を重複作成せず、現在の保存済みレポートを返します。

新しい案件とプレイブックは、操作するユーザーの現在の請求元に作成され、作成者だけに編集権限を付与します。元の案件の共有設定や外部ソースはコピーしません。案件を作成すると元の案件からの引き継ぎリンクが追加されますが、元の案件は終了しません。プレイブックの作成は、繰り返しの実績と今後の利用見込みを証拠で確認できる場合に限って提案します。採用または対応不要とした作成提案は、同じ案件で再提案しません。証拠の変更による再評価の案内は参考情報であり、操作をブロックしません。操作時の権限確認と各機能の検証は引き続き適用されます。

外部ソース

epismo case source link <case-id> --url "https://acme.slack.com/archives/C123/p1234567890123456"
epismo case source link "$CASE_ID" --url "https://docs.google.com/document/d/FILE_ID/edit"
epismo case get <case-id>
epismo case source refresh <case-id> <source-id>
epismo case source get <case-id> <source-id>
epismo case source unlink <case-id> <source-id>

現在のスペースに接続した本人のアカウントで、Slack スレッド、Discord メッセージ・スレッド、Google Docs・Sheets・Slides のファイルを紐づけます。Slack と Discord はワークスペース専用で、Google Drive は個人スペースとワークスペースの両方に対応します。Google Drive は先に Web で接続し、Google Picker でファイルを選択してください。URL だけではアクセス権は付与されません。Google Drive のプロバイダーキーは gdrive です。紐づけ・解除は各2クレジットで、初回の取得は紐づけ料金に含まれます。手動・自動の再取得は完了時に、そのソースを持つ案件の課金アカウントへ1クレジットを計上します。終了済み案件では明示的な再取得依頼だけを処理します。依頼の受付、失敗、ページ分割、再試行は無料です。複数の依頼を1回の取得にまとめた場合、その案件への課金は1回だけです。case get の sources は案件の作業共有先だけに返されます。閲覧は保存済みの内容を使うため、取得状態と日時を確認してください。内容が省略された場合は、ソース ID で最新の保存内容全体を取得します。過去の内容は保持しません。外部ソースは記録とは別で、公開閲覧者には返しません。共有範囲・自動更新・取得内容の削除については Slack・Discord・Google Drive を参照してください。

作成時の明示的な共有設定と共有設定の更新は access: { visibility, grants } を使います。公開範囲は restricted/public、共有先はユーザー・チームの UUID または登録済みユーザーのメールアドレスをキーに viewer/editor を指定します。メールアドレスは保存前にユーザーの UUID に解決し、応答は UUID を返します。未登録のメールアドレスや、同じユーザーに解決される共有先の権限が競合する場合は、更新全体を拒否します。更新は設定全体を置き換えるため、無関係な共有先を保持し、自分への直接共有を残す場合も含めてください。所有者は共有設定とは独立して管理権限を持ち、担当者や管理者には自動で権限を付与しません。編集者は共有設定の取得・変更、少なくとも1件の明示的な編集者を保持した共有設定の変更、アーカイブ・復元ができます。通常の取得結果には非公開の共有先一覧が含まれないため、編集者は共有設定の取得操作で設定全体を確認します。アクセスと権限も参照してください。

所有・責任・ライフサイクル

プレイブックと案件には所有元のユーザーまたはワークスペースのアカウント(ownerId)があり、請求先も兼ねます。個人所有者は全権限を持ち、ワークスペース所有の場合は現在のオーナー・管理者が所有権限を行使します。それ以外のメンバーには、ユーザー・チームへの明示的な共有、または公開コンテンツへの公開設定が必要です。所属だけでリソースへの権限は得られません。退会時には、そのワークスペースが所有するアイテムへの直接共有も、完了・アーカイブ済みを含めて解除されます。解除によって編集者がゼロになるアイテムがあれば、完了・アーカイブ済みも含め、先に別のユーザーまたはチームを編集者に追加してください。個人所有や別ワークスペースのアイテムへの共有は維持されます。チーム経由の権限と管理権限は現在の所属に従います。必須 SSO は所属メンバーに適用し、非メンバーへの直接共有は通常の Epismo 認証で利用できます。ワークスペース間のチーム共有では、参加元ワークスペースの SSO を確認します。一覧は明示的な共有と対応する公開設定で決まり、所有権限だけでは表示されません。

作成・コピー時の ownerId を省略すると、選択中のワークスペース、未選択なら個人アカウントを所有元にします。明示指定にも権限確認が適用されます。保存済みの接続先を含め、ワークスペースを選択している場合、作成時は private: true、空でない teamIds、access のいずれか1つを明示します。個人スペースでは共有指定を省略できます。選択したチームの編集権限で作成者も編集できるため、重複する直接共有は追加しません。明示した作成者への共有は保持します。管理者や担当者の指定は共有設定の代わりにはなりません。

アーカイブは終了とは別の操作です。編集者と所有者は Web・CLI・API・MCP から実行できます。アーカイブ済み案件は通常の一覧・件数・引き継ぎグラフから外れ、開けなくなりますが、作業内容は保持します。archived=true(CLI は case list --archived)で UUID と最新のロックバージョンを取得し、状態・担当・共有設定を変えずに復元できます。完全削除は所有者だけが行え、アーカイブ済み案件の最新の expectedLockVersion が必要です。タスク・記録・資料キャプチャ・引き継ぎリンクを削除しますが、他の案件や外部サービスの原本は変更しません。

epismo case list --archived
epismo case archive <case-id> --lock-version <n>
epismo case restore <case-id> --lock-version <n>
epismo case delete <case-id> --lock-version <n>

案件の所有元移管には epismo_case_owner_transfer、case owner transfer <case-id> --owner-id <account-id> --lock-version <n>、または PATCH /v1/cases/{caseId}/owner(ownerId・expectedLockVersion・idempotencyKey)を使います。現在の所有権限が必要です。個人所有の案件は接続中のワークスペースへ移せますが、公開案件には移管先の管理権限も必要です。ワークスペース所有の案件は、作成者またはそのワークスペースのオーナーへ移せます。個人間・ワークスペース間の移管はできません。担当と共有設定を維持し、請求先を変更して、派生した案件の評価レポートを消去します。担当変更だけではこれらの所有元に関する変更は行いません。

epismo case owner transfer <case-id> --owner-id <account-id> --lock-version <n>

公開案件は epismo case list --sharing-scope anyone で探索できます。公開一覧はログイン不要で、記録のない案件も更新日時順に返します。元プレイブックは --playbook-id で指定します。ログイン中は --sharing-scope を省略すると閲覧可能な全分類を含み、only_me・shared・anyone で絞り込めます。フィルターはアクセス権を追加しません。アクセスと権限も参照してください。

保存済みの評価を読む

案件の詳細には閲覧可能な最新レポートと生成ジョブを含み、履歴の取得や AI の実行は行いません。report case list(エイリアス: case report list)は新しい順の要約一覧を返し、--page-size と --cursor でページ分割できます。report case get --report-id で選択した評価の全体を読みます。

履歴の閲覧には現在の案件の作業権限が必要で、現在の共有範囲と一致する評価だけが返ります。公開閲覧者にはレポートも要約も返しません。新しい評価に置き換わったレポートは historical: true の読み取り専用となり、未処理の提案を採用・対応不要にすると HTTP 409 を返します。最新のレポートを読み、提案内容を確認し直してから操作してください。証拠が変わっただけの場合は、引き続き再評価を勧める通知にとどまります。

epismo report case list CASE_ID --page-size 20
epismo report case list CASE_ID --cursor NEXT_CURSOR
epismo report case get CASE_ID --report-id REPORT_ID

個人・チームレポート

個人レポートは現在の請求元の範囲で生成した本人だけが読めます。チームレポートと提案への対応結果は、現在のワークスペースを通じたチームの参加者で共有します。 対象の選び方、作業の健全性、履歴、共有の扱いは AI レビューを参照してください。

epismo report personal generate --idempotency-key UUID
epismo report personal get --job-id JOB_ID
epismo report personal list --page-size 20
epismo report personal get --report-id REPORT_ID
epismo report personal act REPORT_ID --proposal-id PROPOSAL_ID --action create

epismo -w acme report team generate TEAM_ID --idempotency-key UUID
epismo -w acme report team get TEAM_ID --job-id JOB_ID
epismo -w acme report team list TEAM_ID --page-size 20
epismo -w acme report team get TEAM_ID --report-id REPORT_ID
epismo -w acme report team act REPORT_ID --proposal-id PROPOSAL_ID --action dismiss

生成はジョブを返します。--job-id で完了を確認するか、--report-id で保存済みレポートを選び、両方を同時には指定しません。履歴は --page-size・--cursor でページ分割します。生成の再試行では同じ --idempotency-key UUID を使います。act の前に保存済みの提案をすべて確認してください。対応の再試行は提案の識別子を使うため、--idempotency-key は指定しません。出力は subject_type・evaluated_at などの snake_case と共通の health フィールドを使います。