Repository navigation
feat(agents): wake remote agents from scheduled workflows - #119
Conversation
Signed-off-by: Tee8z <tee8z@protonmail.com>
|
No actionable comments were generated in the recent review. Walkthrough
Merge Risk:
|
|
Agent review of Reviewed the change against the remote-agent vision and review-proven rules. Workflow delegation requires the configured relay's valid signature and canonical, explicit saved-mention proof. Current ownership, membership, sharing grants, and dispatch-time admission remain enforced. Budget receipts retain the signed requester without changing the journal format. The real local relay exercised scheduled wake with the owner disconnected, correct Sandbox channel/thread binding, and one harness reply. Existing cross-owner handoff and revocation also passed. Kubernetes is simulated and the ACP adapter is deterministic. Human staging acceptance remains pending. |
|
Sharing cross-tree measurement that lands on the schedule path (we authored upstream block#6090 and block#6578; the signer-idempotency matrix is on #110, the wake-listener seam on #114). #119 authorizes relay-signed workflow prompts through their verified workflow owner, and your budget layer ( Measured on yjc801/buzz (first-hand probe at c7b14c9, re-verified at a6568d6 on 2026-10-30; thread in their block#173 + block#175): a wake whose trigger mention is older than Your shape inverts that trade: instead of stale-but-wakes, the schedule path is bounded by the budget — saturation-shaped refusals rather than trigger-age staleness, as far as we can see in the #119 diff (no time constant on trigger age in Open question: for a saved workflow step that re-fires on a schedule against the same agent — does each fire present a fresh request event (fresh budget key, since |
Scheduled workflow messages currently reach the relay but fail remote-agent admission because the relay signs them. This change authorizes those messages through their verified workflow owner, so schedules can wake registered remote agents while desktop is closed.
The existing desktop Workflows → Schedule → Send message flow supplies the task. Save an explicit
@AgentNamemention in the step text. Schedules use UTC.flowchart LR S[Relay schedule] --> P[Signed workflow prompt] P --> M[Manager checks owner and current permissions] M --> A[Registered remote session] A --> R[Reply in the scheduled thread]An owner's workflow can use their private agent. Teammate workflows require the target agent's current sharing grant. Admission still checks channel membership, workspace membership, ownership, archive status, and task budgets. Only the active relay's signed proof for an explicit saved mention delegates authority. Event signatures and budget receipts retain the actual signer, including during handoffs and restart.
The manager and harness share the existing workflow-proof parser. The signed admission response supplies the workflow owner for root-task attribution; handoffs retain their sending agent. Budget storage and control-message formats remain unchanged.
Validation:
just cipassed Rust formatting, workspace Clippy, desktop checks, and Tauri formatting. It then stopped in unchanged legacy Tauri code because this host lacksglib-2.0.pc. Remaining full-repository gates require the CI environment.0e26e06with no actionable findings. Review result.Roll out matching manager and agent images with ordinary mention startup and the existing
shared_tasks: trueconfiguration. No mobile changes or capacity changes are included.Human acceptance is pending. Register a remote agent and create a short scheduled channel task with an explicit mention. Close desktop and confirm a remote reply beneath the scheduled message. Disable the workflow afterward.
Local integration uses a deterministic ACP adapter and simulated Kubernetes. Real Pod startup and external model execution require staging testing.