Stacked on !231.
v1.10.0 already named four payloads and fixed the data["number"].(float64)
assertion #126 cites. What was left is the part that still drifts: httpd
declared its own copy of what a command emits, so a field added to the
command is silently absent on the page.
buildView, jobView and profileView were those copies — now
control.BuildOut, JobOut, ProfileOut, ProfileRepo,
ProfileMember. dashboard's payload was an anonymous struct and the
admin page hand-copied the two blocks it reads; both are DashboardOut.
runControlJSON had no callers, and all three callers of dispatchJSON
discarded its map[string]any. That map is gone.
Deliberately not done: the other 82 map[string]any emits are single-key
acknowledgements ({"removed": "x"}) that no surface decodes. Naming a
type each is churn; the shapes another surface reads were the point.
Closes #126
retargeted from settings-json-set to main: !231 merged
2026-09-04 15:58 UTC