feat(engagement): retention — three sweeps and one recorded refusal (Phase 14)
All checks were successful
PR Checks / client-build (pull_request) Successful in 34s
PR Checks / bot-tests (pull_request) Successful in 34s
PR Checks / server-tests (pull_request) Successful in 13m23s
#182 by wtclaude was merged 2026-09-01 20:57:09 +00:00 1 / 1 1 approval
fix(engagement): claim the seed guard atomically, and let a rule name a digest body
All checks were successful
PR Checks / client-build (pull_request) Successful in 35s
PR Checks / server-tests (pull_request) Successful in 5m29s
PR Checks / bot-tests (pull_request) Successful in 8m30s
#181 by wtclaude was merged 2026-09-01 19:40:00 +00:00 1 / 1 1 approval
feat(engagement): the engagement system — cutover 3 of 7 (edgemain)
All checks were successful
PR Checks / client-build (pull_request) Successful in 30s
PR Checks / bot-tests (pull_request) Successful in 31s
PR Checks / server-tests (pull_request) Successful in 5m29s
#180 by wtclaude was merged 2026-09-01 13:56:56 +00:00 1 / 1 1 approval
fix(engagement): two defects the Phase 11b live walk found in core
All checks were successful
PR Checks / bot-tests (pull_request) Successful in 37s
PR Checks / client-build (pull_request) Successful in 45s
PR Checks / server-tests (pull_request) Successful in 5m30s
#179 by wtclaude was merged 2026-09-01 12:32:31 +00:00
feat(engagement): let a module ship its own templates and rules (Phase 11b)
All checks were successful
PR Checks / client-build (pull_request) Successful in 26s
PR Checks / bot-tests (pull_request) Successful in 28s
PR Checks / server-tests (pull_request) Successful in 13m0s
#178 by wtclaude was merged 2026-09-01 06:35:36 +00:00
feat(engagement): the admin ceiling and core's news.post emitter (Phase 11a)
All checks were successful
PR Checks / client-build (pull_request) Successful in 26s
PR Checks / bot-tests (pull_request) Successful in 28s
PR Checks / server-tests (pull_request) Successful in 13m3s
#177 by wtclaude was merged 2026-09-01 05:05:58 +00:00 1 / 1
feat(engagement): deliverability — suppression, bounces and the verification gate (Phase 9)
All checks were successful
PR Checks / client-build (pull_request) Successful in 36s
PR Checks / bot-tests (pull_request) Successful in 36s
PR Checks / server-tests (pull_request) Successful in 5m12s
#176 by wtclaude was merged 2026-08-31 15:52:50 +00:00
feat(engagement): the in-app channel, core and web (engagement Phase 7)
All checks were successful
PR Checks / client-build (pull_request) Successful in 37s
PR Checks / server-tests (pull_request) Successful in 3m27s
PR Checks / bot-tests (pull_request) Successful in 8m36s
#175 by wtclaude was merged 2026-08-31 07:22:27 +00:00 1 / 1
feat(engagement): the email channel on the engine, and the Teams migration (engagement Phase 6)
All checks were successful
PR Checks / bot-tests (pull_request) Successful in 28s
PR Checks / client-build (pull_request) Successful in 29s
PR Checks / server-tests (pull_request) Successful in 11m9s
#174 by wtclaude was merged 2026-08-31 06:07:17 +00:00
feat(engagement): the template editor, the trigger catalog and the send log (engagement Phase 5b)
All checks were successful
PR Checks / bot-tests (pull_request) Successful in 27s
PR Checks / client-build (pull_request) Successful in 31s
PR Checks / server-tests (pull_request) Successful in 2m38s
#173 by wtclaude was merged 2026-08-29 23:37:41 +00:00 1 / 1
feat(engagement): templates — the email block family, renderer and seeded set (engagement Phase 5a)
All checks were successful
PR Checks / bot-tests (pull_request) Successful in 29s
PR Checks / client-build (pull_request) Successful in 31s
PR Checks / server-tests (pull_request) Successful in 2m38s
#172 by wtclaude was merged 2026-08-29 18:14:47 +00:00 1 / 1
feat(engagement): Admin → Engagement → Rules and Audiences (engagement Phase 4b)
All checks were successful
PR Checks / client-build (pull_request) Successful in 30s
PR Checks / server-tests (pull_request) Successful in 2m35s
PR Checks / bot-tests (pull_request) Successful in 8m34s
#171 by wtclaude was merged 2026-08-29 17:28:56 +00:00 1 / 1
feat(engagement): the rules engine, cooldowns and outbox (engagement Phase 4a)
All checks were successful
PR Checks / bot-tests (pull_request) Successful in 27s
PR Checks / client-build (pull_request) Successful in 30s
PR Checks / server-tests (pull_request) Successful in 2m37s
#170 by wtclaude was merged 2026-08-29 13:24:16 +00:00 1 / 1
feat(notifications): per-channel preferences and the delivery-channel registry (engagement Phase 3)
All checks were successful
PR Checks / client-build (pull_request) Successful in 27s
PR Checks / bot-tests (pull_request) Successful in 25s
PR Checks / server-tests (pull_request) Successful in 10m29s
#169 by wtclaude was merged 2026-08-29 12:12:03 +00:00 1 / 1
feat(modules): event triggers, audiences and the ceiling lattice (engagement Phase 2)
All checks were successful
PR Checks / bot-tests (pull_request) Successful in 25s
PR Checks / client-build (pull_request) Successful in 26s
PR Checks / server-tests (pull_request) Successful in 10m29s
#168 by wtclaude was merged 2026-08-29 11:48:25 +00:00 1 / 1
feat(auth): unique, changeable, verifiable email addresses (engagement Phase 1b)
All checks were successful
PR Checks / bot-tests (pull_request) Successful in 29s
PR Checks / client-build (pull_request) Successful in 31s
PR Checks / server-tests (pull_request) Successful in 10m34s
#167 by wtclaude was merged 2026-08-29 07:08:46 +00:00
refactor(api): collapse /admin/account and /player/account onto /auth/me/account
All checks were successful
PR Checks / bot-tests (pull_request) Successful in 26s
PR Checks / client-build (pull_request) Successful in 27s
PR Checks / server-tests (pull_request) Successful in 10m32s
#166 by wtclaude was merged 2026-08-29 05:54:28 +00:00 1 approval
feat(email): engagement Phase 1 — remove Gmail OAuth2, SMTP behind a transport registry
All checks were successful
PR Checks / bot-tests (pull_request) Successful in 26s
PR Checks / client-build (pull_request) Successful in 29s
PR Checks / server-tests (pull_request) Successful in 2m32s
#165 by wtclaude was merged 2026-08-29 02:09:46 +00:00 6 / 6
fix(swagger): hoist the one inline predicate that makes the generator run away
All checks were successful
PR Checks / bot-tests (pull_request) Successful in 26s
PR Checks / client-build (pull_request) Successful in 26s
PR Checks / server-tests (pull_request) Successful in 10m42s
#164 by wtclaude was merged 2026-08-29 02:09:29 +00:00 6 / 6
fix(env): the documented Compose deploy could not boot
All checks were successful
PR Checks / client-build (pull_request) Successful in 30s
PR Checks / bot-tests (pull_request) Successful in 31s
PR Checks / server-tests (pull_request) Successful in 2m32s
#163 by wtclaude was merged 2026-08-24 16:31:14 +00:00 1 approval