Skip to main content

max / goingson

Say the config route in the setting that writes it `config_route(key)` was one line wrapping `Action::post`, and the hole that replaces it is shorter and plainer than the call. Three sites, one fewer permanent entry in the shape census. The other three route builders stay. `field_route` carries a `.with` across six sites, and problems' `promote_action` and `triage_action` each wrap `filtered` with three arguments: inlining any of them is a nested hole longer than the call, which is the bar. The census is a measurement, not a target.
Co-Authored-By
Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session
https://claude.ai/code/session_01MptwXZ8k65v19rFmdGAyki
Author: Max Johnson <me@maxj.phd> · 2026-09-04 19:18 UTC
Signed with PGP, not checked
Commit: 29e1eb574b53695614faaf7c7786bd26c8ab1dbd
Parent: aa129c0
1 file changed, +3 insertions, -11 deletions
@@ -182,14 +182,6 @@
182 182 )
183 183 }
184 184
185 - /// The route that writes one config key.
186 - ///
187 - /// Named for the route rather than for the builder it feeds, so the setting it
188 - /// is written on reads as `writes config_route(key)`.
189 - fn config_route(key: &str) -> Action {
190 - Action::post(format!("/settings/config/{key}"))
191 - }
192 -
193 185 declare! {
194 186 /// A select over a fixed set of values, holding the one in force.
195 187 ///
@@ -209,7 +201,7 @@
209 201 field Select key label {
210 202 options choices;
211 203 value value_of(config, key);
212 - writes config_route(key);
204 + writes Action::post("/settings/config/{key}");
213 205 }
214 206 }
215 207
@@ -261,7 +253,7 @@
261 253 themes theme_choices(app);
262 254 following Choice::new(makeover::FOLLOW, "Follow System");
263 255 value value_of(config, "theme");
264 - writes config_route("theme");
256 + writes Action::post("/settings/config/theme");
265 257 }
266 258 }
267 259
@@ -393,7 +385,7 @@
393 385 value value_of(config, "event_lead_minutes");
394 386 hint "How far in advance the Events tab dot turns yellow. This is the \
395 387 indicator, not a notification.";
396 - writes config_route("event_lead_minutes");
388 + writes Action::post("/settings/config/event_lead_minutes");
397 389 }
398 390 }
399 391