docs(email): record send ledger evidence
This commit is contained in:
@@ -2,17 +2,17 @@
|
||||
|
||||
Updated: 2026-08-09
|
||||
|
||||
- **Exact current task:** MAIL-001 — design the explicit provider-send/re-consent/idempotency/uncertain-delivery ledger without sending real email, then implement the smallest fake-tested contract slice.
|
||||
- **Last completed step:** plain-text live message detail, owner-scoped saved fallback, malformed-metadata tolerance and stale-request protection were committed/pushed as `a20775c`; neutral API/status is `536d403`, canonical routing `6008b4a`.
|
||||
- **Exact current task:** MAIL-001 — implement fake-transport Gmail/Graph delivery adapters and re-consent capability without external calls, then connect an explicit confirmed API to the durable ledger.
|
||||
- **Last completed step:** inert tenant-owned send states/idempotency and additive provider migration were committed/pushed as `653f011`; no route/provider send capability is enabled.
|
||||
- **Files currently modified:** MAIL-001 verification/log/master tracking documents only. Application code/tests are committed and pushed.
|
||||
- **Commands already run:** Phase 9/provider architecture and complete legacy send trace; provider/correspondence and hub-detail focused tests; full backend/frontend; production build; diff/secret review; three implementation commits/pushes. See V-126–V-131.
|
||||
- **Test results:** MAIL-001 provider/correspondence 5/5; hub detail 5/5; backend 605/605; frontend 49/49 suites and 188/188 tests; production build/TypeScript and patch check pass. Latest full Jest required force exit and took 81.434s.
|
||||
- **Commands already run:** complete provider/send trace; read/detail/ledger focused and full tests; TypeScript build; EF model parity; SQLite/MariaDB up/down SQL; disposable SQLite migration insert/rollback and safe temp cleanup; four implementation commits/pushes. See V-126–V-132.
|
||||
- **Test results:** MAIL-001 ledger 3/3, provider/correspondence 5/5, hub detail 5/5; backend 608/608; frontend 49/49 suites and 188/188 tests; migration model/up/down/SQLite rehearsal and production build 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 `a20775c` for message detail, `536d403` for neutral API/status and `6008b4a` for hub routing; no schema/config/dependency/data migration. CAREER rollback records remain current. Production is unchanged.
|
||||
- **Rollback status:** downgrade `20260809195014_AddEmailSendAttempts` then revert `653f011`; revert `a20775c`, `536d403`, `6008b4a` for prior MAIL increments. No production migration/deploy occurred. Production is unchanged.
|
||||
- **Uncommitted changes:** MAIL-001 evidence/tracking documents only; commit/push before the next application increment.
|
||||
- **Known failures:** full thread navigation, provider state actions and explicit idempotent send remain; Gmail is the only mature review UI; Gmail/Graph OAuth scopes and the IMAP contract are read-only; legacy follow-up uses application SMTP without explicit confirmation/idempotency and must not be called provider send. Real provider/SMTP/MariaDB/production unavailable; Jest open handles; SEC-006 needs internet/package-index permission; parser isolation remains SEC-007.
|
||||
- **Exact next action:** commit/push this evidence, then define the minimum provider-send contract and durable send-attempt states (confirmed, pending, sent, failed-before-delivery, uncertain) including OAuth scope/re-consent and duplicate-request behavior; implement only a fake-tested repository slice that cannot send real email.
|
||||
- **Known failures:** provider delivery/re-consent, explicit-send API/UI, export coverage, full thread actions and non-Gmail review remain; OAuth scopes and IMAP are read-only; legacy follow-up SMTP remains unsafe/mislabeled for this purpose. Real provider/SMTP/MariaDB/production unavailable; Jest open handles; SEC-006 needs internet/package-index permission; parser isolation remains SEC-007.
|
||||
- **Exact next action:** commit/push this evidence, then extend Gmail/Graph services and neutral capabilities behind fake HTTP transports with explicit send scopes and deterministic rejected-versus-uncertain error classification. Do not expose a send route until those tests and ledger integration exist.
|
||||
- **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