wulf-pulse/.planning
lorentz efbc437e2e feat(17-01): build mimecast-blast-radius.ts fan-out orchestration
- Add getBlastRadius(): never-throwing orchestration that fans out to
  searchDeliveredMessages + getHeldMessages + getThreatEvents (D-01,
  unconditional fan-out) and merges into normalized matched/delivered/
  held/rejected/clicked counts + perRecipient status array
- Config gate (BLAST-02): returns status:'unavailable' reason:'not_configured'
  synchronously when Mimecast is unconfigured, never constructs the client
- Redis-backed 5-min cache (D-04) via redis-client.ts, short-circuits before
  any MimecastClient call on hit
- clicked derived best-effort from getThreatEvents() analysis[] (D-02);
  documents the /api/ttp/url/get-logs limitation in code
- Documents D-05 known limitation: single global getMimecastClient() only,
  not per-company mimecast_tenants
- Unrecognized delivered-message status strings treated conservatively as
  non-rejected (A3 unconfirmed enum), raw values logged at debug level
- Add lib/services/mimecast-blast-radius.test.ts covering config gate,
  cache-hit short-circuit, fan-out merge, never-throw-on-error, and
  unknown-recipient classification
- Log pre-existing unrelated itglue-search.test.ts failures to
  deferred-items.md (out of scope for this plan)
2026-07-15 14:30:00 -04:00
..
codebase fix(04-01): restore phase 2/3 work lost by worktree soft-reset 2026-05-03 18:01:14 -04:00
phases feat(17-01): build mimecast-blast-radius.ts fan-out orchestration 2026-07-15 14:30:00 -04:00
quick docs(260712-ash): add execution summary 2026-07-12 07:52:55 -04:00
research docs: capture exploration — PAX8 integration scope 2026-07-10 11:45:11 -04:00
seeds docs: capture exploration — PAX8 integration scope 2026-07-10 11:45:11 -04:00
config.json docs(planning): sync STATE/ROADMAP + capture untracked phase plans before master merge 2026-05-14 07:30:51 -04:00
deferred-items.md docs(10-03): log pre-existing tsc errors as deferred (unrelated to plan) 2026-07-10 17:45:00 -04:00
PROJECT.md docs(phase-15): evolve PROJECT.md after phase completion 2026-07-15 08:23:10 -04:00
REQUIREMENTS.md docs(phase-15): complete phase execution 2026-07-15 08:22:05 -04:00
ROADMAP.md docs(17): create phase plan (1 plan, 1 wave) 2026-07-15 13:44:14 -04:00
STATE.md docs(state): record phase 17 planning session 2026-07-15 13:48:04 -04:00
v2.0-MILESTONE-AUDIT.md docs(milestone-v2.0): add milestone audit report 2026-07-11 07:56:22 -04:00