[refactor] Collapse CLI Subcommands into Mailbox Pipeline Adapter #36

Closed
opened 2026-08-30 12:36:40 +03:00 by jalmari · 0 comments
Owner

Parent

Part of #33

What to build

Refactor cli.py subcommands (cmd_plan, cmd_audit, cmd_verify, cmd_unsubscribe) to delegate all domain orchestration exclusively to MailboxPipeline, removing direct collaborator wiring and redundant glue from the CLI module.

Acceptance criteria

  • cmd_plan invokes MailboxPipeline.offline(...).plan(...) without null gateway workarounds
  • cmd_audit delegates directly to MailboxPipeline.offline(...).audit(...)
  • cmd_verify delegates directly to MailboxPipeline for both online and offline verification
  • cmd_unsubscribe delegates directly to MailboxPipeline.offline(...).unsubscribe(...)
  • cli.py reduces in line count and functions as a thin parsing and formatting adapter
  • All CLI commands verified and test suite passes with zero regressions

Blocked by

## Parent Part of #33 ## What to build Refactor `cli.py` subcommands (`cmd_plan`, `cmd_audit`, `cmd_verify`, `cmd_unsubscribe`) to delegate all domain orchestration exclusively to `MailboxPipeline`, removing direct collaborator wiring and redundant glue from the CLI module. ## Acceptance criteria - [ ] `cmd_plan` invokes `MailboxPipeline.offline(...).plan(...)` without null gateway workarounds - [ ] `cmd_audit` delegates directly to `MailboxPipeline.offline(...).audit(...)` - [ ] `cmd_verify` delegates directly to `MailboxPipeline` for both online and offline verification - [ ] `cmd_unsubscribe` delegates directly to `MailboxPipeline.offline(...).unsubscribe(...)` - [ ] `cli.py` reduces in line count and functions as a thin parsing and formatting adapter - [ ] All CLI commands verified and test suite passes with zero regressions ## Blocked by - #35
Sign in to join this conversation.
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.

Reference
Lavisys/mailsweep#36
No description provided.