Follow-up from #287 (see PR #288 review, finding D4).
The Solution gRPC contract exists and is generated, but a solution plugin has no way to expose it through the standard agent startup path: agents/agents.go's PluginRegistration has no Solution solutionv0.SolutionServer field and Serve() does not register one (compare the Provider providerv0.ProviderServer field + providerv0.RegisterProviderServer call).
Blocks the end-to-end tracer bullet (obin-ai/lodestar#17) — a solution binary cannot serve its contract until this lands.
Follow-up from #287 (see PR #288 review, finding D4).
The
SolutiongRPC contract exists and is generated, but a solution plugin has no way to expose it through the standard agent startup path:agents/agents.go'sPluginRegistrationhas noSolution solutionv0.SolutionServerfield andServe()does not register one (compare theProvider providerv0.ProviderServerfield +providerv0.RegisterProviderServercall).Solution solutionv0.SolutionServertoPluginRegistration.Serve()(if reg.Solution != nil { solutionv0.RegisterSolutionServer(s, reg.Solution) }).Blocks the end-to-end tracer bullet (obin-ai/lodestar#17) — a solution binary cannot serve its contract until this lands.