mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-10-03 22:19:42 +02:00
The Ralph settings modal sent maxTodos/todoExpirationMinutes but RalphConfigSchema (zod) stripped them and the ralph-config route never applied them, so the inputs were silent no-ops. Fix: add both as optional positive-int fields to RalphConfigSchema; destructure and apply them in the ralph-config route (matching the maxIterations pattern). RalphTracker had no setters (the values were module constants) — added per-instance _maxTodos/_todoExpiryMs (defaulting to the same constants, behavior unchanged), switched the eviction + expiry sites to read them, and added setMaxTodos/setTodoExpirationMinutes (minutes→ms) + getters. Test: route test POSTs the two fields and asserts the route applies them to the tracker. Verified RED (setters not called — fields stripped) → GREEN. 34/34 ralph-routes tests pass; tsc + eslint(src) + prettier + build clean. Frontend already sent the fields (no change).