John Smith and Claude
6f1c03aca1
feat(gateway): curated ambience presets with bounded LRU cache (loop 3, iteration 17)
...
Six D&D soundscape presets (tavern murmur, dungeon drips, forest night,
battle clash, thunderstorm, campfire) generated on demand via the SFX
capability. GET /media/ambience lists presets to any authenticated seat;
POST /media/ambience/{slug} is GM/admin-only like /media/sfx. In-process
LRU (12 entries, keyed by slug+model) absorbs repeat spends; concurrent
duplicates coalesce onto one upstream call; failures and over-cap
payloads are never cached and wake all waiters.
Gates: pytest 1190 passed / 31 skipped (baseline 1151, +39).
Co-Authored-By: Claude <[email protected] >
2026-08-26 04:56:18 -04:00
..
2026-08-23 00:27:49 -04:00
2026-08-24 21:14:10 -04:00
2026-08-25 05:17:38 -04:00
2026-08-26 04:56:18 -04:00
2026-08-24 20:48:36 -04:00
2026-08-24 03:03:33 -04:00
2026-08-24 19:26:51 -04:00
2026-08-25 23:11:52 -04:00
2026-08-24 21:14:10 -04:00
2026-08-24 01:08:27 -04:00
2026-08-23 10:53:40 -04:00
2026-08-25 22:32:19 -04:00
2026-08-25 22:32:19 -04:00
2026-08-25 11:03:17 -04:00
2026-08-25 00:24:15 -04:00
2026-08-25 00:24:15 -04:00
2026-08-25 17:59:48 -04:00
2026-08-25 01:13:50 -04:00
2026-08-24 01:20:54 -04:00
2026-08-24 21:14:10 -04:00
2026-08-24 21:14:10 -04:00
2026-08-24 15:32:44 -04:00
2026-08-22 19:27:54 -04:00
2026-08-24 08:25:37 -04:00
2026-08-26 03:59:14 -04:00
2026-08-25 21:52:46 -04:00
2026-08-24 22:49:50 -04:00
2026-08-24 01:42:18 -04:00
2026-08-25 10:26:24 -04:00
2026-08-24 14:32:40 -04:00
2026-08-25 10:26:24 -04:00
2026-08-26 00:50:08 -04:00
2026-08-24 06:24:12 -04:00
2026-08-24 01:37:06 -04:00
2026-08-24 20:48:36 -04:00
2026-08-24 06:27:49 -04:00
2026-08-25 05:17:38 -04:00
2026-08-25 20:26:41 -04:00
2026-08-25 05:17:38 -04:00
2026-08-24 19:26:51 -04:00
2026-08-25 19:10:45 -04:00
2026-08-24 01:08:47 -04:00
2026-08-26 02:30:44 -04:00
2026-08-26 02:48:50 -04:00
2026-08-26 04:56:18 -04:00
2026-08-24 20:48:36 -04:00
2026-08-24 03:03:33 -04:00
2026-08-24 05:50:02 -04:00
2026-08-24 03:52:00 -04:00
2026-08-24 23:05:44 -04:00
2026-08-22 19:12:08 -04:00
2026-08-22 19:49:55 -04:00
2026-08-24 13:59:24 -04:00
2026-08-24 21:14:10 -04:00
2026-08-25 04:26:07 -04:00
2026-08-25 15:31:49 -04:00
2026-08-24 07:58:16 -04:00
2026-08-25 10:37:36 -04:00
2026-08-25 11:20:53 -04:00
2026-08-24 18:46:58 -04:00
2026-08-25 23:55:28 -04:00
2026-08-24 21:14:10 -04:00
2026-08-24 08:25:37 -04:00
2026-08-25 02:07:34 -04:00
2026-08-23 00:27:49 -04:00
2026-08-25 10:26:24 -04:00
2026-08-25 14:02:19 -04:00
2026-08-25 14:02:19 -04:00
2026-08-24 20:48:36 -04:00
2026-08-24 20:48:36 -04:00