Skip to content

Agent CR configuration does not have custom timeouts #387

Description

@abraham2512

Description of issue:

lightspeed-agentic-operator would benefit from allowing custom timeouts w.r.t skill runtime (in our case 10-15 mins). The Agent.spec.timeouts fields (analysisSeconds, executionSeconds, verificationSeconds) are defined on the CRD and the sandbox runtime honors timeout_ms in the request body, but the controller never connects them. The HTTP client uses a hardcoded 5-minute timeout regardless of Agent CR configuration.

Where the gap is:

NewAgentHTTPClient ignores per-step timeouts — client.go#L82-L92:

func NewAgentHTTPClient(endpoint string) AgentHTTPClientInterface {
	return &AgentHTTPClient{
		httpClient: &http.Client{
			Timeout: 5 * time.Minute,  // hardcoded

TimeoutMs is defined on the request struct but never populated — client.go#L33:

TimeoutMs    *int64          `json:"timeout_ms,omitempty"`

This causes the following,

  1. Configured timeouts longer than 5m are silently truncated
  2. Configured timeouts shorter than 5m are silently ignored — resources held until the hardcoded deadline
  3. The sandbox receives no timeout_ms, so it cannot gracefully wind down before the operator drops the connection

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