docs(email): record recovery evidence
This commit is contained in:
@@ -2,17 +2,17 @@
|
||||
|
||||
Updated: 2026-08-10
|
||||
|
||||
- **Exact current task:** MAIL-001 — reconcile crash-abandoned sending attempts without redelivery, then retire or route the legacy follow-up SMTP boundary through the safe provider-send path.
|
||||
- **Last completed step:** the provider-bound editable reply composer and app-owned confirmation flow were committed as `449faeb`; cancellation preserves the draft, one UUID is used per attempt, and uncertain results cannot retry.
|
||||
- **Exact current task:** MAIL-001 — retire or route the legacy follow-up SMTP boundary through the safe provider-send path without breaking draft generation or reminders.
|
||||
- **Last completed step:** five-minute post-readiness recovery was committed as `ee5ef7e`; attempts older than 15 minutes become failed-before-delivery or uncertain, each owner receives one content-free notification, and no provider retry occurs.
|
||||
- **Files currently modified:** MAIL-001 verification/log/master tracking documents only. Application code/tests are committed.
|
||||
- **Commands already run:** complete provider/send trace; read/detail/ledger/delivery/send/composer focused tests; full backend/frontend; TypeScript build; EF provider migration rehearsal; seven implementation commits. See V-126–V-135.
|
||||
- **Test results:** MAIL-001 composer 7/7, send/read/store 12/12, delivery/capability 18/18, provider/correspondence 5/5, hub detail 5/5; backend 619/619; frontend 49/49 suites and 190/190 tests; migration/model/build gates pass.
|
||||
- **Commands already run:** complete provider/send trace; read/detail/ledger/delivery/send/composer/recovery focused tests; full backend/frontend; TypeScript build; EF provider migration rehearsal; eight implementation commits. See V-126–V-136.
|
||||
- **Test results:** MAIL-001 recovery/send 10/10, composer 7/7, delivery/capability 18/18, provider/correspondence 5/5, hub detail 5/5; backend 620/620; frontend 49/49 suites and 190/190 tests; migration/model/build gates pass.
|
||||
- **Services currently running:** none started intentionally. Exact task-owned hung Jest/build Node processes were stopped; Codex browser runtimes were not touched. Pre-existing Docker services were not changed.
|
||||
- **Temporary files or processes:** none. No provider account, private email, external model, paid service or production service was accessed.
|
||||
- **Production changes currently active:** none. No deployment, migration, provider connection/sync/send or production payload occurred.
|
||||
- **Rollback status:** revert `449faeb` to remove the composer, keep admission disabled, then revert `123fc55` and `e9937ac`; downgrade `20260809195014_AddEmailSendAttempts` before reverting `653f011`. No production migration/deploy/provider grant occurred.
|
||||
- **Rollback status:** revert `ee5ef7e` to stop recovery, then `449faeb` to remove the composer; keep admission disabled before reverting `123fc55`/`e9937ac` and downgrade the ledger before reverting `653f011`. No production migration/deploy/provider grant occurred.
|
||||
- **Uncommitted changes:** MAIL-001 evidence/tracking documents only; commit/push before the next application increment.
|
||||
- **Known failures:** abandoned `sending` reconciliation, durable/new-message drafts, export coverage, full thread/category actions and non-Gmail review remain; existing accounts need re-consent and IMAP stays read-only. Legacy follow-up SMTP bypasses the new boundary. Browser/provider/MariaDB/production unavailable or unverified; Jest open handles; SEC-006 needs internet/package-index permission; parser isolation remains SEC-007.
|
||||
- **Exact next action:** commit/push this evidence, then add a bounded stale-attempt reconciliation path that marks old `sending` attempts uncertain without provider I/O or retry, with restart/tenant tests and operator-visible status.
|
||||
- **Known failures:** durable/new-message drafts, export coverage, full thread/category actions and non-Gmail review remain; existing accounts need re-consent and IMAP stays read-only. Legacy follow-up SMTP bypasses the new boundary. Browser/provider/MariaDB/production unavailable or unverified; recovery scan performance is unmeasured at large ledger scale; Jest open handles; SEC-006 needs internet/package-index permission; parser isolation remains SEC-007.
|
||||
- **Exact next action:** commit/push this evidence, then trace every `SendFollowUp` caller and split draft generation/reminder behavior from delivery; disable or route any user-facing SMTP delivery through the explicit-confirmed provider boundary without changing scheduled notification email.
|
||||
- **Work that can continue independently:** remaining MAIL-001 repository work and later UX packages. SEC-006/007 await package-index permission; PROD-001/003/004 await production access.
|
||||
- **Decisions still required from the user:** none for synthetic/code-inspected repository work. Any provider connection or send test, internet/package upgrades, private data, external/paid providers and production actions retain explicit approval/safety gates; SEC-009 retention/legal policy remains unresolved.
|
||||
|
||||
Reference in New Issue
Block a user