docs(email): record delivery adapter evidence
This commit is contained in:
@@ -46,12 +46,21 @@ Status: `IN PROGRESS`. Canonical hub routing and provider-neutral read capabilit
|
||||
- Deleting the owning job cascades the ledger row. The global owner filter protects direct attempt IDs.
|
||||
- The additive migration has provider-specific SQLite/MariaDB types and reversible up/down SQL. No send route, OAuth scope or provider call was enabled.
|
||||
|
||||
## Implemented provider-delivery adapter increment
|
||||
|
||||
- Gmail and Microsoft Graph authorization URLs now request explicit send consent in addition to read access. Existing read-only connections remain read-only until the user reconnects.
|
||||
- Provider status derives send capability from the stored granted scope. IMAP remains read-only because it has no configured outgoing transport.
|
||||
- Gmail builds an RFC MIME plain-text message, supports the existing Gmail thread ID, and uses the documented send endpoint. Graph sends plain-text JSON through `sendMail`.
|
||||
- HTTP rejection is a known failed-before-delivery category; 401/403 requires reauthorization. Network interruption/cancellation is marked uncertain because acceptance cannot be disproved.
|
||||
- Provider response bodies and transport exception details are not returned to callers. Recipient/body fixtures and HTTP transport are synthetic/mocked; no provider was contacted.
|
||||
- No application send route exists yet. Consent and adapters cannot be triggered by a JobTracker send button until ledger integration lands.
|
||||
|
||||
## Verification
|
||||
|
||||
- Focused send ledger: 3/3; provider/correspondence controllers: 5/5; hub detail: 5/5.
|
||||
- Full backend: 608/608; full frontend: 49/49 suites, 188/188 tests.
|
||||
- Focused delivery/provider/capability: 18/18; send ledger: 3/3; provider/correspondence controllers: 5/5; hub detail: 5/5.
|
||||
- Full backend: 613/613; full frontend: 49/49 suites, 188/188 tests.
|
||||
- Production build/TypeScript and `git diff --check`: pass.
|
||||
- Implementation commits: `6008b4a`, `536d403`, `a20775c`, `653f011`.
|
||||
- Implementation commits: `6008b4a`, `536d403`, `a20775c`, `653f011`, `e9937ac`.
|
||||
|
||||
## Remaining MAIL-001 work
|
||||
|
||||
@@ -69,4 +78,4 @@ The first focused Jest invocation exhibited the repository's open-handle delay.
|
||||
|
||||
## Rollback
|
||||
|
||||
Revert `653f011` (after downgrading the additive migration) for the send ledger, `a20775c` for message detail, `536d403` for neutral reads, then `6008b4a` for routing. Provider scopes remain unchanged.
|
||||
Revert `e9937ac` to remove send consent/adapters, then `653f011` (after migration downgrade) for the ledger, followed by the earlier read/routing commits. Existing provider grants are not revoked by a code rollback; disconnect/reconnect is an explicit user action.
|
||||
|
||||
Reference in New Issue
Block a user