Skip to Content
Agent capabilitiesConfiguration

Configuration v26.5+

Kubling has one runtime connection shared by context synchronization and task execution. The two lifecycles remain independently configurable.

This example shows the complete Kubling-side configuration and its defaults:

kublingAgent: enabled: true instanceIdentifier: engine-a connection: baseURL: http://127.0.0.1:8080/api/v1 headers: Authorization: "Bearer {{KUBLING_AGENT_TOKEN}}" contextSynchronization: userAgent: kubling-context-publisher publish: httpMethod: POST path: /context/registrations deactivate: httpMethod: POST path: /context/registrations/deactivate keepAlive: activated: false endpoint: httpMethod: POST path: /context/registrations/keepalive cron: "0 0/45 * * * *" retry: activated: true initialDelayMillis: 5000 maxDelayMillis: 60000 multiplier: 2.0 jitterRatio: 0.2 taskRuntime: enabled: true transport: HTTP maxExchanges: 32 invocation: maxInputTokens: 20000 maxOutputTokens: 4000 maxModelCalls: 8 maxKublingActions: 8 maxObservationRows: 1000 maxObservationColumns: 64 maxObservationBytes: 1048576 timeoutMillis: 300000 http: connectTimeoutMillis: 10000 writeTimeoutMillis: 30000 readTimeoutMillis: 60000 maxRequestBytes: 8388608 maxResponseBytes: 8388608

Set both kublingAgent.enabled and taskRuntime.enabled for native capability execution. The first enables context publication. The second enables the task exchange. A task cannot run without an active published context.

Instance and connection

SettingDefaultDescription
enabledfalseEnables context synchronization.
instanceIdentifiergenerated at bootstrapStable engine identity used to isolate registrations in a shared runtime.
connection.baseURLhttp://127.0.0.1:8080/api/v1Runtime base URL including its versioned API prefix.
connection.headersBearer header using KUBLING_AGENT_TOKENHeaders sent on every runtime request.

Header values support environment placeholders written as {{ VARIABLE_NAME }}. Store secrets in the deployment environment or secret manager instead of committing them to the application configuration.

Use a stable explicit instanceIdentifier for durable deployments. A generated identifier is convenient for local exploration, but a new identity creates a new runtime registration after restart.

Context synchronization

Kubling publishes one immutable snapshot containing:

  • the engine instance identity
  • each active VDB name and version
  • caller-independent catalog and function revisions
  • compiled semantic package identity and exported surfaces

The snapshot is registered during startup and pinned by digests and revision identifiers. Task execution remains unavailable until a usable registration is active.

SettingDefaultDescription
publishPOST /context/registrationsPublishes a complete snapshot.
deactivatePOST /context/registrations/deactivateDeactivates this publisher session.
keepAlive.activatedfalseEnables periodic registration renewal.
keepAlive.cronevery 45 minutesSpring-compatible keep-alive schedule.
retry.activatedtrueRetries transient initial publication failures.
retry.initialDelayMillis5000First retry delay.
retry.maxDelayMillis60000Maximum retry delay.
retry.multiplier2.0Exponential backoff multiplier.
retry.jitterRatio0.2Random jitter applied to retry delays.

Permanent validation or authentication failures are not made correct by retry. Inspect the failure before increasing retry duration.

Task limits

taskRuntime.maxExchanges bounds the number of start and continuation exchanges for one task. All invocation limits are positive, server-owned hard ceilings.

SettingDefault
maxInputTokens20,000
maxOutputTokens4,000
maxModelCalls8
maxKublingActions8
maxObservationRows1,000
maxObservationColumns64
maxObservationBytes1 MiB
timeoutMillis300,000

Choose limits from the sensitivity and cost of the VDB, not from the largest request a model can accept. Observation limits also constrain the evidence that leaves Kubling for the runtime.

HTTP transport limits

Task execution currently uses HTTP.

SettingDefault
connectTimeoutMillis10,000
writeTimeoutMillis30,000
readTimeoutMillis60,000
maxRequestBytes8 MiB
maxResponseBytes8 MiB

The task deadline is independent from an individual HTTP read timeout. Configure the runtime and any reverse proxy so they do not silently cut a request before Kubling can return a bounded task outcome.

Runtime distribution

This page documents the Kubling side of the contract. The final runtime image, release version and supported model-provider configuration must be taken from the matching kubling-agent-runtime release. They are intentionally not invented from an untagged development checkout.

If you are migrating kublingAgent.api configuration, read the legacy API migration.

Last updated on