20 Commits

Author SHA1 Message Date
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