Commit Graph

44 Commits

Author SHA1 Message Date
dd9592a192 Refactor campaign delivery decision paths 2026-07-29 17:06:15 +02:00
5240749ae1 feat: add governed postbox delivery and report hardening 2026-07-29 14:16:28 +02:00
89ae14c032 Integrate campaign delivery with hierarchical mail profiles 2026-07-28 19:33:12 +02:00
4774a8025c fix(campaign): roll back rejected immediate queues 2026-07-22 20:30:00 +02:00
689dc1fd6b fix(campaign): honor acceptance temp selection 2026-07-22 20:20:31 +02:00
90677348ff docs(campaign): define broker redelivery evidence 2026-07-22 20:19:51 +02:00
06786e86ef test(campaign): prove Celery broker redelivery 2026-07-22 20:19:29 +02:00
2fa91bb943 test(campaign): complete delivery fault drills 2026-07-22 18:26:28 +02:00
e3cc476508 fix(campaign): initialize delivery worker runtime 2026-07-22 18:26:11 +02:00
d567257311 test(campaign): prove GreenMail delivery journey 2026-07-22 16:49:57 +02:00
3075ef7f5b docs(campaign): document aggregate report baseline 2026-07-22 15:20:04 +02:00
1ab4e91ffd test(campaign): add simple announcement acceptance fixture 2026-07-22 15:18:52 +02:00
f095a3e2c7 fix(campaign): sanitize synchronous send results 2026-07-22 09:21:44 +02:00
1225802c5d fix(campaign): suppress overlapping aggregate cells 2026-07-22 09:17:00 +02:00
b0282ebff2 test(campaign): cover bounded delivery modes 2026-07-22 09:00:35 +02:00
8ee87b7558 feat(campaign): surface aggregate reports 2026-07-22 08:49:38 +02:00
7229fb8e3d fix(campaign): mark excluded delivery as skipped 2026-07-22 08:48:46 +02:00
3487ec7048 test(campaign): enforce aggregate report permissions 2026-07-22 08:46:28 +02:00
22d72f82f5 test(campaign): require export authority for report email 2026-07-22 08:45:00 +02:00
06125cc0e8 feat(campaign): add privacy-safe aggregate reports 2026-07-22 08:44:12 +02:00
21f3014ac5 feat(campaign): add durable operator queue controls 2026-07-22 08:39:44 +02:00
62a68792a4 feat(campaign): persist delivery execution mode 2026-07-22 08:37:58 +02:00
aa4ec66b7b fix(campaign): query reports before pagination 2026-07-22 08:31:43 +02:00
7e1660344d feat(campaign): bound synchronous delivery 2026-07-22 08:21:42 +02:00
bfbb86564c fix(campaign): align adaptive handbook with shipped UI 2026-07-21 19:15:52 +02:00
c05bb8e474 docs: surface permission-gated Campaign tasks 2026-07-21 18:53:07 +02:00
99ef25b08f docs: add adaptive Campaign composition guide 2026-07-21 18:46:22 +02:00
0ac903c82d security: make Campaign mutation audits atomic 2026-07-21 17:56:59 +02:00
60776803c5 security: authorize every Campaign effect version 2026-07-21 17:56:47 +02:00
9a709b1264 security: separate Campaign reader and operator data 2026-07-21 17:55:54 +02:00
af833ca38c security: bound Campaign editor metadata 2026-07-21 17:55:30 +02:00
50c509d161 security: seal Campaign delivery inputs 2026-07-21 17:54:34 +02:00
9f4eab07f6 docs: expand adaptive Campaign guidance 2026-07-21 17:29:08 +02:00
09c63de813 security: harden Campaign delivery effects and reconciliation 2026-07-21 17:14:33 +02:00
641bead0d8 Deduplicate campaign template rendering 2026-07-21 13:14:32 +02:00
3c305753d6 Refactor campaign job queue selection 2026-07-21 12:54:11 +02:00
ef513816f8 Refactor mock campaign send reporting 2026-07-21 12:54:08 +02:00
ce92499333 fix(api): hide campaign operational internals 2026-07-21 12:03:56 +02:00
35b3cc151d Clean Campaign audit and test resources 2026-07-21 03:17:11 +02:00
1d291377c0 Block local file paths at Campaign server boundaries 2026-07-21 03:17:11 +02:00
ad34365f6c feat(campaign): enforce attachment delivery policies 2026-07-20 20:07:12 +02:00
2e593b7fa4 intermittent commit 2026-07-14 13:22:10 +02:00
54c9881a25 Add campaign resource access explanations 2026-07-11 00:39:40 +02:00
52e6ed49c5 chore: sync GovOPlaN module split state 2026-07-10 12:51:18 +02:00