efa9db7330Merge pull request 'chore(tools): delete the cliloc converter the Asset Bridge replaced (Asset Bridge cutover, 2 of 5)' (#202) from edge into main
main
Colby Whitlock2026-09-15 10:20:24 +00:00
655fbf3f69Merge pull request 'feat(events): the Event System — core (Phase 16b cutover, 2 of 6)' (#199) from edge into mainColby Whitlock2026-09-10 00:43:29 +00:00
baa4f7d5baMerge pull request 'fix(events): midnight in an announcement is 12:00 am on the Node we ship' (#200) from fix/events-announce-midnight-hourcycle into edgeColby Whitlock2026-09-10 00:27:58 +00:00
7d7840eb6bfix(events): midnight in an announcement is 12:00 am on the Node we shipwtclaude2026-09-09 19:20:31 -05:00
b92b85c3a9Merge pull request 'fix(events): the public calendar, a stranded revert, and three dropped facts (Phase 16a)' (#198) from fix/events-p16a-walk into edgeColby Whitlock2026-09-09 13:47:24 +00:00
6dd4e5e3ebfix(events): the public calendar, a stranded revert, and three dropped facts (Phase 16a)wtclaude2026-09-09 08:28:17 -05:00
af9f4e191cMerge pull request 'fix(events): carry a module's own account of a successful step' (#197) from fix/events-module-detail into edgeColby Whitlock2026-09-09 00:22:36 +00:00
e46842a28cfix(events): carry a module's own account of a successful stepwtclaude2026-09-08 18:48:57 -05:00
2e9ed50e21Merge pull request 'feat(events): the public calendar, event pages and participation history (Phase 14a)' (#196) from feature/events-p14a-public-surface into edgeColby Whitlock2026-09-08 17:04:49 +00:00
eb167558e3fix(events): staff could not reach their own participation historywtclaude2026-09-08 11:59:03 -05:00
1667e636bdfeat(events): the public calendar, event pages and participation history (Phase 14a)wtclaude2026-09-08 06:18:38 -05:00
6e6c24065cMerge pull request 'feat(events): the authoring UI proper (Phase 13)' (#195) from feature/events-p13-authoring-ui into edgeColby Whitlock2026-09-07 22:12:44 +00:00
8453762e3bfeat(events): the authoring UI proper (Phase 13)wtclaude2026-09-07 16:34:03 -05:00
db8e01e868Merge pull request 'feat(events): targeted leases, value sets and searchable sources (Phase 12b)' (#194) from feature/events-p12b-borrowed-and-oneshots into edgeColby Whitlock2026-09-07 16:22:43 +00:00
37f4623068feat(events): targeted leases, value sets and searchable sources (Phase 12b)wtclaude2026-09-07 08:06:37 -05:00
d0178c6419Merge pull request 'fix(events): give a lease's ledger row a reconcile path (Phase 11b)' (#193) from feature/events-p11b-leases-participation into edgeColby Whitlock2026-09-05 04:10:49 +00:00
809426ad73fix(events): give a lease's ledger row a reconcile path (Phase 11b)wtclaude2026-09-04 19:31:44 -05:00
aba8d1e43aMerge pull request 'feat(events): the integrations — lifecycle triggers, participants, results (Phase 10)' (#192) from feature/events-phase-10 into edgeColby Whitlock2026-09-04 18:24:44 +00:00
d4516739b4Merge pull request 'fix(engagement): the trigger manifest was stale, and its check was crying wolf' (#191) from fix/engagement-manifest-crlf into edgeColby Whitlock2026-09-04 08:37:10 +00:00
82a50e5e04fix(engagement): the trigger manifest was stale, and its check was crying wolfwtclaude2026-09-04 02:43:53 -05:00
4a91d74085Merge pull request 'feat(events): the resource ledger, leases and cleanup (Phase 8)' (#190) from feature/events-phase-8 into edgeColby Whitlock2026-09-04 05:12:19 +00:00
fdc118166cfeat(events): the resource ledger, leases and cleanup (Phase 8)wtclaude2026-09-03 21:19:27 -05:00
57d183e921Merge pull request 'feat(events): open the event contract to modules (Phase 7)' (#189) from feature/events-phase-7 into edgeColby Whitlock2026-09-03 19:37:33 +00:00
fd9fb50351feat(events): open the event contract to modules (Phase 7)wtclaude2026-09-03 14:15:04 -05:00
429e657239Merge pull request 'feat(events): enablement, per-run caps and mayInvoke (Phase 6)' (#188) from feature/events-phase-6 into edgeColby Whitlock2026-09-03 14:36:42 +00:00
4077c4e79efeat(events): enablement, per-run caps and mayInvoke (Phase 6)wtclaude2026-09-03 05:50:58 -05:00
4ac917c3a3Merge pull request 'feat(events): conditions, phase advancement and the diagnosis panel (Phase 5)' (#187) from feature/events-phase-5 into edgeColby Whitlock2026-09-03 03:26:39 +00:00
9bc0bf5a3dfeat(events): conditions, phase advancement and the diagnosis panel (Phase 5)wtclaude2026-09-02 22:11:20 -05:00
9c23c5fd0eMerge pull request 'feat(events): schedule, recurrence and the calendar (Phase 4)' (#186) from feature/events-phase-4 into edgeColby Whitlock2026-09-03 01:58:06 +00:00
6e73660b52feat(events): schedule, recurrence and the calendar (Phase 4)wtclaude2026-09-02 16:10:16 -05:00
a481248bc0Merge pull request 'feat(events): the minimal admin surface (Phase 3)' (#185) from feat/events-phase-3 into edgeColby Whitlock2026-09-02 15:47:31 +00:00
7b570c8ea1feat(events): the minimal admin surface (Phase 3)wtclaude2026-09-02 08:39:35 -05:00
2ba397eff7Merge pull request 'feat(events): the runner (Phase 2)' (#184) from feat/events-phase-2 into edgeColby Whitlock2026-09-02 11:35:22 +00:00
2e964cfeeefeat(events): the runner (Phase 2)wtclaude2026-09-02 06:32:24 -05:00
d88906e43cMerge pull request 'feat(events): schema, CRUD and the core action registry (Phase 1)' (#183) from feat/events-phase-1 into edgeColby Whitlock2026-09-02 04:38:54 +00:00
8e03497eb3feat(events): schema, CRUD and the core action registry (Phase 1)wtclaude2026-09-01 23:29:07 -05:00
6331b36c45Merge pull request 'feat(engagement): retention — three sweeps and one recorded refusal (Phase 14)' (#182) from feature/engagement-retention into mainColby Whitlock2026-09-01 20:57:06 +00:00
5779d15150feat(engagement): retention — three sweeps and one recorded refusalwtclaude2026-09-01 15:40:53 -05:00
e59a68c152Merge pull request 'fix(engagement): claim the seed guard atomically, and let a rule name a digest body' (#181) from fix/engagement-seed-claim-and-digest into mainColby Whitlock2026-09-01 19:39:58 +00:00
eec7dbf785fix(engagement): claim the seed guard atomically, and let a rule name a digest bodywtclaude2026-09-01 14:29:21 -05:00
66bb3b9a3fMerge pull request 'feat(engagement): the engagement system — cutover 3 of 7 (edge → main)' (#180) from edge into mainColby Whitlock2026-09-01 13:56:53 +00:00
52eac24d17Merge pull request 'fix(engagement): two defects the Phase 11b live walk found in core' (#179) from fix/engagement-live-walk-core into edgeColby Whitlock2026-09-01 12:32:29 +00:00
c8d45733b6fix(engagement): two defects the Phase 11b live walk found in coreClaude2026-09-01 07:12:09 -05:00
c3783f56f1Merge pull request 'feat(engagement): let a module ship its own templates and rules (Phase 11b)' (#178) from feature/engagement-module-seeds into edgeColby Whitlock2026-09-01 06:35:20 +00:00
40ab1ce8d2fix(modules): bump the CLIENT half of MODULE_API_VERSION to 1.9.0wtclaude2026-09-01 01:22:00 -05:00
0a9149a04ffix(engagement): a trigger-bound template may reference the unsubscribe linkwtclaude2026-09-01 01:07:16 -05:00
cfd1cb3c3cfeat(engagement): let a module ship its own templates and rules (Phase 11b)wtclaude2026-09-01 00:46:15 -05:00
81e0338a69Merge pull request 'feat(engagement): the admin ceiling and core's news.post emitter (Phase 11a)' (#177) from feature/engagement-uo-triggers into edgeColby Whitlock2026-09-01 05:05:56 +00:00
49a61fdafaMerge pull request 'feat(engagement): deliverability — suppression, bounces and the verification gate (Phase 9)' (#176) from feature/engagement-deliverability into edgeColby Whitlock2026-08-31 15:52:47 +00:00
c208543044feat(engagement): deliverability — suppression, bounces and the verification gatewtclaude2026-08-31 10:47:34 -05:00
87c4e71025Merge pull request 'feat(engagement): the in-app channel, core and web (engagement Phase 7)' (#175) from feature/engagement-inapp-channel into edgeColby Whitlock2026-08-31 07:22:24 +00:00
24a3cd85b3feat(engagement): the in-app channel, core and web (engagement Phase 7)wtclaude2026-08-31 02:07:10 -05:00
5168446c53Merge pull request 'feat(engagement): the email channel on the engine, and the Teams migration (engagement Phase 6)' (#174) from feature/engagement-email-channel into edgeColby Whitlock2026-08-31 06:07:14 +00:00
065bec7ad8feat(engagement): the email channel on the engine, and the Teams migration (engagement Phase 6)wtclaude2026-08-29 20:11:54 -05:00
e2dad3104fMerge pull request 'feat(engagement): the template editor, the trigger catalog and the send log (engagement Phase 5b)' (#173) from feature/engagement-template-editor into edgeColby Whitlock2026-08-29 23:37:39 +00:00
3f90070566feat(engagement): the template editor, the trigger catalog and the send log (engagement Phase 5b)wtclaude2026-08-29 18:13:57 -05:00
42b40fdec2Merge pull request 'feat(engagement): templates — the email block family, renderer and seeded set (engagement Phase 5a)' (#172) from feature/engagement-templates into edgeColby Whitlock2026-08-29 18:14:45 +00:00
12ff201ed5feat(engagement): templates — the email block family, renderer and seeded set (engagement Phase 5a)wtclaude2026-08-29 13:07:39 -05:00
1d7961e7a2Merge pull request 'feat(engagement): Admin → Engagement → Rules and Audiences (engagement Phase 4b)' (#171) from feature/engagement-rules-admin into edgeColby Whitlock2026-08-29 17:28:54 +00:00
3a7a08425cfix(engagement): the six defects the browser pass found (Phase 4b)wtclaude2026-08-29 12:26:29 -05:00
c2e4df5b3dMerge pull request 'refactor(api): collapse /admin/account and /player/account onto /auth/me/account' (#166) from refactor/collapse-account-surfaces into edgeColby Whitlock2026-08-29 05:54:26 +00:00
6e61146678refactor(api): collapse /admin/account and /player/account onto /auth/me/accountwtclaude2026-08-29 00:49:25 -05:00
f5aa32e0edMerge pull request 'feat(email): engagement Phase 1 — remove Gmail OAuth2, SMTP behind a transport registry' (#165) from feat/engagement-phase-1-smtp into edgeColby Whitlock2026-08-29 02:09:44 +00:00
b77e817fb1Merge pull request 'fix(swagger): hoist the one inline predicate that makes the generator run away' (#164) from fix/swagger-generator-runaway into edgeColby Whitlock2026-08-29 02:09:28 +00:00
c4ab8b9b9ddocs(email): SMTP setup, the three postures, and the upgrade noteClaude2026-08-28 20:54:04 -05:00
47c8b37d45feat(email): remove Gmail OAuth2, put SMTP behind a transport registryClaude2026-08-28 20:41:43 -05:00
e25e7ade80fix(swagger): hoist the one inline predicate that makes the generator run awayClaude2026-08-28 20:47:25 -05:00
3bca112502Merge pull request 'fix(env): the documented Compose deploy could not boot' (#163) from fix/env-example-secret-enc-key into mainColby Whitlock2026-08-24 16:31:12 +00:00
c43e092248fix(env): the documented Compose deploy could not bootwtclaude2026-08-24 11:19:49 -05:00
0f96a372cfMerge pull request 'fix(admin): style the Teams admin screen with the site's own classes' (#162) from fix/teams-admin-theming into mainColby Whitlock2026-08-19 19:35:00 +00:00
68f038f456fix(admin): style the Teams admin screen with the site's own classeswtclaude2026-08-19 14:03:01 -05:00
963d734dccMerge pull request 'feat(teams): Teams as a platform primitive — MODULE_API 1.6.0 (Teams cutover 4/6)' (#161) from edge into mainColby Whitlock2026-08-19 08:57:11 +00:00
48a3e33be4Merge pull request 'fix(modules): core offers a contribution, never a slot name' (#160) from feature/teams-slot-contributions into edgeColby Whitlock2026-08-19 06:19:38 +00:00
335d69d122fix(modules): core offers a contribution, never a slot namewtclaude2026-08-19 01:15:29 -05:00
9619fdf1e1Merge pull request 'feat(teams): phase 9 — one voice channel per Team, granted by a role' (#159) from feature/teams-phase9-voice-channels into edgeColby Whitlock2026-08-19 05:21:15 +00:00
f72c92ffbefix(teams): the two defects the phase 9 rig walk foundwtclaude2026-08-19 00:07:27 -05:00
61abb3ec89feat(teams): phase 9 — one voice channel per Team, granted by a rolewtclaude2026-08-18 23:49:28 -05:00
d1d56cf847Merge pull request 'feat(teams): phase 8 — the notifications bridge, and the gate §7.2 could not check' (#158) from feature/teams-phase8-notifications-bridge into edgeColby Whitlock2026-08-19 01:33:13 +00:00
11b4368b57feat(teams): phase 8 — the notifications bridge, and the gate §7.2 could not checkwtclaude2026-08-18 20:25:30 -05:00
46f43a5fd6Merge pull request 'feat(teams): phase 7 — the slash-command seam, and the bot's first tests' (#157) from feature/teams-phase7-slash-commands into edgeColby Whitlock2026-08-19 00:16:29 +00:00
aca4d23179fix(teams): a private answer has to be private, and the deferral decides thatClaude2026-08-18 19:08:12 -05:00
cecd72915ffeat(teams): the slash-command seam, and the first command through itClaude2026-08-18 18:53:34 -05:00
b1d3b87cd6Merge pull request 'feat(teams): phase 6 — notifications, and the email sink the web never had' (#156) from feature/teams-phase6-notifications into edgeColby Whitlock2026-08-18 23:10:20 +00:00
13312d7fc3fix(teams): make "replace the whole set" actually replace itwtclaude2026-08-18 18:01:59 -05:00
5fa88baa0atest(teams): the refusals, which is most of what a notification feature iswtclaude2026-08-18 14:35:23 -05:00
b458c1f46ffeat(teams): the web surface — a notifications screen that did not existwtclaude2026-08-18 14:35:08 -05:00