Extract the handler in locals3/main.go as localbucket.Handler(root string) http.Handler. The root and the mutex move into the closure, so the package has no mutable package-level state. locals3 keeps its flags and calls localbucket.Handler; its build path and the site-test fixtures do not change. The existing locals3 handler tests move to localbucket.
↩ Max Rakhimov · 2026-09-28
Fixed on main by #commit:616b6ce2fb43: the handler lives in core/objstore/localbucket as Handler(root) with no package-level state, locals3 keeps its flags and listener, and the handler tests moved with it (94.4% covered, baseline ratchet updated). The review found the stale coverage baseline and two stale doc references, all fixed pre-merge. Serve: the command (#commit:4ebf89f67666@gitmsg/pm) is unblocked.