feat(pipeline): Deepen Mailbox Pipeline, Seal Domain Seams, and Unify CLI Adapter (Closes #33) #37

Merged
jalmari merged 6 commits from develop into main 2026-08-30 16:03:31 +03:00
Owner

This PR merges the complete Deepen Mailbox Pipeline and Seal Domain Seams workstream (#33) into main. It establishes
MailboxPipeline as the single unified domain coordinator for both online and offline operations, collapses CLI subcommands
into thin presentation adapters, encapsulates safety classification within domain boundaries, and introduces a zero-dependency
Forgejo automation tool.

---

### Key Workstreams & Solved Tickets

1. **Encapsulate Safety Verification Seam on Classification Engine (Closes #34)**
   - Added public domain queries (`is_critical_subject`, `audit_item_safety`) on `ClassificationEngine`.
   - Refactored `SafetyAuditor` to evaluate safety findings strictly through public domain interfaces with zero private

attribute access.

2. **Unified Offline Operations on Mailbox Pipeline (Closes #35)**
   - Added `MailboxPipeline.offline(...)` factory to instantiate pipelines without IMAP credentials or network transport.
   - Unified domain entrypoints for offline planning, safety auditing, backup verification, and brand unsubscribe dashboard

aggregation.

3. **Collapse CLI Subcommands into Mailbox Pipeline Adapter (Closes #36)**
   - Refactored `cli.py` subcommands (`cmd_plan`, `cmd_audit`, `cmd_verify`, `cmd_unsubscribe`) into thin argument parsers

and display adapters.
- Added CleanupPlan.render_text() for clean domain-level plan formatting.
- Eliminated collaborator wiring, raw model imports (EmailHeader, ScanResult, MailboxGateway, CleanupReport), and
duplicate glue.

4. **Zero-Dependency Forgejo CLI Helper Tool**
   - Added `scripts/forgejo.py` to automate issue queries, label resolution, dependency graphs, comments, and PR management

across Windows and POSIX.

---

### Verification & Metrics

- **Unit Tests**: 137 zero-dependency tests passing with 100% clean assertions.
- **Language Standards**: Full ASD-STE100 active phrasing and Fowler smell standards compliance verified.
- **Architecture**: Single-context domain model synchronized in `README.md` and `docs/agents/issue-tracker.md`.
This PR merges the complete **Deepen Mailbox Pipeline and Seal Domain Seams** workstream (#33) into `main`. It establishes `MailboxPipeline` as the single unified domain coordinator for both online and offline operations, collapses CLI subcommands into thin presentation adapters, encapsulates safety classification within domain boundaries, and introduces a zero-dependency Forgejo automation tool. --- ### Key Workstreams & Solved Tickets 1. **Encapsulate Safety Verification Seam on Classification Engine (Closes #34)** - Added public domain queries (`is_critical_subject`, `audit_item_safety`) on `ClassificationEngine`. - Refactored `SafetyAuditor` to evaluate safety findings strictly through public domain interfaces with zero private attribute access. 2. **Unified Offline Operations on Mailbox Pipeline (Closes #35)** - Added `MailboxPipeline.offline(...)` factory to instantiate pipelines without IMAP credentials or network transport. - Unified domain entrypoints for offline planning, safety auditing, backup verification, and brand unsubscribe dashboard aggregation. 3. **Collapse CLI Subcommands into Mailbox Pipeline Adapter (Closes #36)** - Refactored `cli.py` subcommands (`cmd_plan`, `cmd_audit`, `cmd_verify`, `cmd_unsubscribe`) into thin argument parsers and display adapters. - Added `CleanupPlan.render_text()` for clean domain-level plan formatting. - Eliminated collaborator wiring, raw model imports (`EmailHeader`, `ScanResult`, `MailboxGateway`, `CleanupReport`), and duplicate glue. 4. **Zero-Dependency Forgejo CLI Helper Tool** - Added `scripts/forgejo.py` to automate issue queries, label resolution, dependency graphs, comments, and PR management across Windows and POSIX. --- ### Verification & Metrics - **Unit Tests**: 137 zero-dependency tests passing with 100% clean assertions. - **Language Standards**: Full ASD-STE100 active phrasing and Fowler smell standards compliance verified. - **Architecture**: Single-context domain model synchronized in `README.md` and `docs/agents/issue-tracker.md`.
Sign in to join this conversation.
No reviewers
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
Lavisys/mailsweep!37
No description provided.