Skip to content

solution: wire SolutionServer into agents.Serve() so the contract is servable #290

Description

@antoinetoussaint-byte

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).

  • Add Solution solutionv0.SolutionServer to PluginRegistration.
  • Register it in Serve() (if reg.Solution != nil { solutionv0.RegisterSolutionServer(s, reg.Solution) }).
  • Cover it with an agents registration test.

Blocks the end-to-end tracer bullet (obin-ai/lodestar#17) — a solution binary cannot serve its contract until this lands.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions