// Package missionmatch is the missionMATCH tool router: the workforce readiness rollups for the Command // Center plus the Candidates Intelligence View, over the SHARED scoring core. It mounts the command // center rollup (Mission Readiness, Labor Category Coverage, Win Impact, Clearance Intelligence, Revenue // at Risk), the candidate intelligence read, and the "who can support this mission today" read that // consumes the persisted screenMATCH evaluations. It is a thin namespace over the existing handlers, so // every number it shows equals what screenMATCH and slateMATCH show for the same candidate. The same // handlers also serve the flat alias paths, so the pre split URLs keep working while the canonical paths // move under /api/missionmatch. package missionmatch import ( "github.com/go-chi/chi/v5" "github.com/missionworkforce/missionmatch/internal/modules/commandcenter" "github.com/missionworkforce/missionmatch/internal/modules/matching" ) // Handler mounts the missionMATCH endpoints. It holds the shared matching handler (intelligence, // support, pickers) and the command center handler (the executive rollups), so the namespace reuses one // implementation and one engine. type Handler struct { core *matching.Handler cc *commandcenter.Handler } // NewHandler builds the missionMATCH router over the shared matching and command center handlers. func NewHandler(core *matching.Handler, cc *commandcenter.Handler) *Handler { return &Handler{core: core, cc: cc} } // Routes registers the missionMATCH namespace under the caller's mount point: the command center // rollups and adopt, the Candidates Intelligence View, the who can support read over the persisted // evaluations, and the shared candidate and requirement pickers. func (h *Handler) Routes(r chi.Router) { h.cc.Routes(r) h.core.IntelRoutes(r) h.core.MissionRoutes(r) h.core.ReadRoutes(r) }