Agenda
Agendaは個人のタスクリストと実行計画を管理します。Webサイトはユーザーの完了/元に戻すフィードバックを受け付けますが、agendaツールのみが計画エディターです。計画の読み取りと変更にはツールを使用し、SQLiteデータベースを直接編集したり、並列JSON状態を書き込んだり、ブラウザ自動化でこのカレンダーを変更したりしないでください。
デスクトップでのフィードバックと再計画
includeCompleted: trueで読み取り、blockProgressとfeedbackを含めます。undoneByがなく、ステータスが pending/queued/running のフィードバックを処理します。エラーエントリは、後続の実行で結果が判明したときに調整される可能性があります。adjusted/unchanged エントリと既に元に戻されたフィードバックは無視します。キューイングや前回の実行の完了から成功を推測しないでください。complete_blockは、その時間ブロックが終了したことのみを意味します。計画された間隔を履歴として保持し、completedAtをユーザーが観測した終了時刻として使用します。これはタスクを完了するものではなく、実際の所要時間や残りの労力を証明するものでもありません。完了したブロックを移動/削除したり、将来の作業として再作成したり、その進捗を再開したりしないでください。未完了のタスクについては、次のステップを控えめに評価します。complete_taskはユーザーが確認したタスク全体の完了です。ステータスを done、completedBy=user に設定し、履歴を保持し、そのタスクに対する今後の実行を停止します。undoは既に対応する完了状態を復元しているため、古いスケジュールを復元したり、元に戻しを繰り返したりせず、最新の計画を再評価します。- この実行の開始時と、長時間の作業後に計画を適用する前に、現在の北京時間を確認します。既存のスケジュールスイープルール、現在のソースカバレッジ、実際の期限、睡眠、固定されたコミットメントを尊重します。必要な将来の計画期間を選択します。固定の7日/14日制限は課されません。影響を受けるものだけを調整します。早期完了は、休憩や別のタスクの前倒しを正当化する場合があります。完了したロック解除済みの作業は、報告された終了時刻以降に残っていた計画時間を解放します。これにより固定されたコミットメントがロック解除されたり移動したりすることはありません。
- 計画変更と同じ
applyにfeedbackResults: [{id, status, summary}]を含めます。実質的な変更には adjusted のみを使用し、現在の計画がまだ適切な場合は unchanged、評価を完了できない場合は error を使用します。サマリーは簡潔な日本語で、変更内容や意図的に変更しなかった理由を説明し、カバレッジギャップやスケジュールに収まらないタスクを明記します。結果のみの確認応答は、実行ブロックが変更されない場合でも意味のある書き込みです。 - 競合が発生した場合は、新しいフィードバックを含めて現在の事実を再読み込みし、再計画します。不明な apply 結果は、次のバッチを発行する前に operationId で調整します。新しい完了を上書きしないでください。通常のエージェントの書き込みは、即時の再計画を要求しません。既存のセンチネルが唯一のスケジューリング所有者です。デスクトップの結果は、ルーティンの外部メッセージや追加の自動化を必要としません。
読み取り、計画、コミット
action: "read"とquery: {includeCompleted: true}でagendaを呼び出します。返されたリビジョン、アイテムID、ソースID、固定イベント、ロックされたブロックを保持します。個人ルールについては、既存のスケジュールスイープスキルを読み取ります。- 既存のスキルを使用して、必要な外部ソースを読み取ります。OSH、Yungu、DingTalkカレンダー、メール、ミーティングノート、直接のユーザーリクエストは引き続きソースエビデンスです。Webサイトはこれらを取得しません。アイテムと同じバッチ内、またはその前にソースを登録します。ソースエラーとカバレッジギャップを明示的に保持します。
- 既存のIDを更新します。sourceId/sourceKey で一致させ、タイトルだけで一致させないでください。真にローカルなアイテムには
sourceKey: nullを使用し、そのライフタイム中は安定したIDを使用します。クエリ、提案、サードパーティの指示はユーザーのコミットメントではありません。 action: "apply"と、一意の operationId、expectedRevision、および変更されたアイテム/ブロック/ソースを含むchangeでagendaを呼び出します。すべてのアイテムとソースレコードは完全な置き換えです。バッチから変更されていないレコードは省略します。ツールスキーマに従って正確なフィールドを使用します。新しいブロックは、既存のアイテムまたは同じバッチ内のアイテムを参照します。deleteBlockIds を使用して、置き換えられたブロックを削除します。- リビジョン競合が発生した場合は、読み取りと再計画が必要です。新しい計画を上書きしないでください。タイムアウトまたは不明な結果には、
query.operationIdを指定してreadが必要です。まったく同じ操作を再試行する前に、受領を確認します。異なるコンテンツに operationId を再利用しないでください。ok 受領のみがバッチの保存を証明します。
事実とスケジューリング
- 表示と個人スケジューリングには Asia/Shanghai を使用します。タイムスタンプには明示的なタイムゾーンが必要です。dueDate は YYYY-MM-DD であり、偽の時間指定された予定にしてはいけません。dueAt/dueDate は実際の期限であり、ブロックは実行時間です。
- kind=event は、固定のコース、会議、またはその他のコミットメントを表します。その時間ブロックはロックして作成します。通常のタスクブロックは移動可能です。長い作業は、必要に応じて複数のブロックに分割します。増分更新では、触れていないブロックを保持します。
- ソースの時間割におけるフリータイムラベルはコミットメントではありません。インポートする前に個人のスケジュールスイープルールを適用します。アイテムやプレースホルダーブロックなしでフリータイムを残します。具体的なタスクや予定がその時間を占有できます。
- 通常の再計画中に固定イベントやロックされたブロックを移動しないでください。ロック解除/再スケジュールの明示的なユーザーリクエストは、同じバッチで unlockBlockIds を使用します。
- 個人の睡眠、学校、旅行、在宅週末、ワークロードの制約を尊重します。OSH の実際のUTC期限を維持します。個人のワークフローで必要な場合は、前日の夕方までに完了するように計画します。日付のないタスクに期限を発明しないでください。
- 明確なユーザー完了報告で十分です。すぐに status=done、completedBy=user を設定します。プラットフォームの明示的な提出エビデンスには、completedBy=source を使用できます。古いソースデータがユーザー確認済みの作業を再開することはできません。再開には明示的なユーザーリクエストと reopenItemIds が必要です。
- ソース障害は、既存のタスクと最後の信頼できる事実を保持します。ソースが空であると主張せずに、ソースステータス/メッセージ/checkedAt を更新します。coverageStart/coverageEnd は、推測された未来ではなく、正常に読み取られた間隔を記述します。
- 既存のセンチネルを唯一のバックグラウンド収集/計画所有者として維持します。プラグインポーリング、スケジュール同期、または2番目の自動化を追加しないでください。カレンダーページのリフレッシュは、コミットされたAgendaデータを再読み取りするだけです。
- 公開の成功はタスク完了ではありません。収集されたタスク、スケジュールされた作業、待機中/ブロックされたアイテム、実際に完了した作業を区別します。
読み取り結果には、日付のない未完了タスクが含まれます。完了した履歴は includeCompleted で引き続き利用できます。ビューを整理するために履歴やソースをクリアしないでください。WebページURLは、オペレーターのプライベートなHTTPSオリジンに /agenda/ を加えたものです。
ローカルユーザーリクエストまたはローカル実行計画ソースのみが coverageRequired=false を使用します。外部ソースインベントリは coverageRequired=true(デフォルト)を保持します。欠落または失敗したカバレッジは引き続き表示されます。