docs(email): record delivery adapter evidence
CI and Deploy / test (pull_request) Failing after 1m32s
CI and Deploy / deploy (pull_request) Has been skipped

This commit is contained in:
cesnimda
2026-08-09 23:48:59 +02:00
parent e9937accd8
commit d44c8ceb08
7 changed files with 40 additions and 19 deletions
+13 -4
View File
@@ -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.