This was generated by AI during triage.
From architecture review candidate #5 (recommendation: Speculative — low-stakes, partly taste). Captured for triage.
Problem
Three top-level lib/ domains where the facade (fns/schemas/hooks/index) costs more than the concept it wraps. Each fails the deletion test in the "concentrates complexity sensibly" direction:
feedback/ (~71 loc) — 90% middleware glue around one Resend email call. Inline it, or fold into a future lib/email/ that unifies feedback + notification + digest mail.
admin/ (~77 loc) — an 11-line index exporting a single function. Demote to a plain module until 3+ admin operations justify a facade.
arcade/ (~89 loc) — high-score get/save is a detail of a game, not a peer domain. Reparent under games/arcade/.
Why speculative
These are low-stakes and partly a matter of taste; the leverage in the architecture review was in candidates #1–#3, not here. Filed for completeness. Triage may reasonably split this into three, defer, or wontfix.
Relationships
From architecture review candidate #5 (recommendation: Speculative — low-stakes, partly taste). Captured for triage.
Problem
Three top-level
lib/domains where the facade (fns/schemas/hooks/index) costs more than the concept it wraps. Each fails the deletion test in the "concentrates complexity sensibly" direction:feedback/(~71 loc) — 90% middleware glue around one Resend email call. Inline it, or fold into a futurelib/email/that unifies feedback + notification + digest mail.admin/(~77 loc) — an 11-line index exporting a single function. Demote to a plain module until 3+ admin operations justify a facade.arcade/(~89 loc) — high-score get/save is a detail of a game, not a peer domain. Reparent undergames/arcade/.Why speculative
These are low-stakes and partly a matter of taste; the leverage in the architecture review was in candidates #1–#3, not here. Filed for completeness. Triage may reasonably split this into three, defer, or
wontfix.Relationships