P2: Add Mail continuation and save-to-Home workflow parity to CLI and tools #841

Open
opened 2026-10-02 13:23:15 +00:00 by kayg · 0 comments
Owner

Research follow-up under #484. Source snapshot: c4a61e8cf090170f35b1bed3350d9de20c83ecd5.

Named Mail commands cover reader operations and safe controls, but not the complete browsing and attachment-save workflows.

Evidence:

  • MailCommand::Folder, Inbox and Thread accept --limit but no continuation fields. crates/plugins/mail/src/routes.rs accepts paired message cursor fields. Raw registry actions expose them.
  • mail attachment saves to a new local file. The web lib/mail/attachments.ts downloads a provider part then uploads it to Files.
  • Legacy WebMCP has a save-attachment wrapper; remote MCP has no equivalent single save-to-Home intent in the registry.
  • Account add/edit/test/remove and sync/status are raw actions, not named Mail commands.

Acceptance:

  1. Expose server continuation without losing/duplicating messages; define one-page vs all-page output explicitly.
  2. Add a shared server intent for saving a Mail attachment into the User's Home, then generate all adapters. Keep provider IDs, server-only writes and collision handling.
  3. Provide discoverable Connected Account test/edit/sync/status actions without credentials in argv or logs.
  4. Test provider-backed reads and writes with controlled fixtures and cross-User denial.
  5. Sending/provider actions stay in #397; do not count unbuilt actions as a CLI-only defect.

Matrix M1–M4; #484. Existing raw route coverage is present; successful full provider workflows were not proved by this review.

Full evidence and decisions: docs/research/agent-surfaces.md on branch job/research-surfaces. No runtime change was made by the research job.

Research follow-up under #484. Source snapshot: `c4a61e8cf090170f35b1bed3350d9de20c83ecd5`. Named Mail commands cover reader operations and safe controls, but not the complete browsing and attachment-save workflows. Evidence: - `MailCommand::Folder`, `Inbox` and `Thread` accept `--limit` but no continuation fields. `crates/plugins/mail/src/routes.rs` accepts paired message cursor fields. Raw registry actions expose them. - `mail attachment` saves to a new local file. The web `lib/mail/attachments.ts` downloads a provider part then uploads it to Files. - Legacy WebMCP has a save-attachment wrapper; remote MCP has no equivalent single save-to-Home intent in the registry. - Account add/edit/test/remove and sync/status are raw actions, not named Mail commands. Acceptance: 1. Expose server continuation without losing/duplicating messages; define one-page vs all-page output explicitly. 2. Add a shared server intent for saving a Mail attachment into the User's Home, then generate all adapters. Keep provider IDs, server-only writes and collision handling. 3. Provide discoverable Connected Account test/edit/sync/status actions without credentials in argv or logs. 4. Test provider-backed reads and writes with controlled fixtures and cross-User denial. 5. Sending/provider actions stay in #397; do not count unbuilt actions as a CLI-only defect. Matrix M1–M4; #484. Existing raw route coverage is present; successful full provider workflows were not proved by this review. Full evidence and decisions: `docs/research/agent-surfaces.md` on branch `job/research-surfaces`. No runtime change was made by the research job.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/calternal#841
No description provided.