Skip to content

[Automated] Draft docs (kagent): fix(a2a): deliver push notifications concurrently - #662

Open
github-actions[bot] wants to merge 1 commit into
mainfrom
pr-tracker-draft-kagent-3366
Open

github-actions[bot] wants to merge 1 commit into
mainfrom
pr-tracker-draft-kagent-3366

Conversation

@github-actions

@github-actions github-actions Bot commented Nov 1, 2026 •

Copy link
Copy Markdown
Contributor

kagent-dev/kagent#3366 — fix(a2a): deliver push notifications concurrently

Docs versions: 1.x (first shipped in v1.0.0-rc1)

No code-path rule covers 6 touched file(s). The planner could route these only by identifier search, so the candidate pages may miss what they changed, including in the other mode:

  • docs/architecture/a2a-push-notifications.md
  • go/api/gen/kagent/config/v1/config.pb.go
  • go/core/internal/service/session/push_notifications.go
  • go/core/pkg/app/app.go
  • go/core/pkg/config/defaults.go
  • proto/kagent/config/v1/config.proto

What changes for users: Operators can tune A2A task callback delivery with config.push.maxConcurrency and config.push.sendTimeout. Each controller replica now sends callbacks concurrently by default, up to 10 in-flight deliveries, and each callback attempt defaults to a 5-second timeout.

What the docs now say: The Operational considerations page now explains how to tune push notification delivery, what the two Helm values do, the per-replica concurrency math, and how to roll the values into the kagent controller.

Not verified: The configuration was not applied to a cluster, and internal links are unchecked.

How kagent-3366 was drafted, and what was not verified

Plan, and what changed it

  • Planned: Choose one of the three code-path candidate pages and document the new Helm values for push callback delivery.
  • Learned: operations/operational-considerations.md already owns controller configuration, controller replicas, and push notification signing; setup/installation.md is for first install steps, and operations/upgrade-from-0x.md is for migration from 0.x.
  • Did: Added a Tune push notification delivery section to operations/operational-considerations.md.

Why a documentation change is necessary

The pull request adds config.push.maxConcurrency and config.push.sendTimeout to the kagent Helm values and wires them into the controller's push worker. The generated Helm reference covers the raw values, but the existing candidate pages did not explain when to tune callback delivery or how the per-replica concurrency limit changes capacity. I chose operations/operational-considerations.md because it already documents production controller configuration, the config Helm block, controller replicas, and push notification signing. I rejected setup/installation.md because first-time installation does not own production tuning, and I rejected operations/upgrade-from-0x.md because the change is not specific to migrating from 0.x.

What changed on disk

docs-site/content/kagent/1.x/operations/operational-considerations.md — Added an anchored section with a Helm values example, field descriptions for config.push.maxConcurrency and config.push.sendTimeout, the effective concurrency calculation, and the upgrade and rollout commands.

How to verify this change

  1. Add the documented config.push.maxConcurrency and config.push.sendTimeout values to kagent.yaml, and upgrade the Helm release:
    helm upgrade kagent oci://ghcr.io/kagent-dev/kagent/helm/kagent --namespace kagent --reuse-values --values kagent.yaml
  2. Wait for the controller to use the new ConfigMap:
    kubectl rollout status deployment/kagent-controller -n kagent --timeout=300s
    The command should report that the deployment successfully rolled out.
  3. Render the controller config and inspect the push settings:
    helm template kagent oci://ghcr.io/kagent-dev/kagent/helm/kagent --namespace kagent --values kagent.yaml --show-only templates/controller-configmap.yaml | yq '.data."controller.yaml"' > controller.yaml
    yq '.push.maxConcurrency, .push.sendTimeout' controller.yaml
    The output should show the configured values, such as 20 and 10s.

Proposed release note

No proposed-release-note.md: markers.notes_placeable is false. Suggested note text for a reviewer who needs it: kagent now delivers A2A task callbacks concurrently per controller replica. Tune callback delivery with config.push.maxConcurrency and config.push.sendTimeout; the defaults are 10 in-flight callback attempts per replica and a 5-second timeout.

What was not verified

The configuration was not applied to a cluster, so every command in this diff is unrun. The workflow-provided cluster-facts.md is an API surface only and does not mean that anything was applied. Internal links are unchecked because Hugo was not run.

How the pages were chosen (triage report)

Feature clusters

Kept apart on purpose. Merging wrongly produces a guide that documents two things and explains neither, so these are reported for a person to merge rather than grouped automatically:

New configuration: no page mentions it yet

kagent-dev/kagent#3366 — fix(a2a): deliver push notifications concurrently

  • Product: kagent (upstream) → kagent-dev/website
  • Docs version: 1.x
  • Summary (read from the body): Each controller currently sends A2A callbacks one at a time, so one slow receiver delays every other callback on that replica. This PR adds bounded concurrent delivery and a configurable timeout through config.push.maxConcurrency and config.push.sendTimeout in Helm, defaulting to 10 in-flight deliveries and 5 seconds.
  • Not tested: a cluster was used only to dry-run the YAML manifests the draft added; prose, inline field paths and commands are unrun
  • No rule covers 6 touched file(s). The candidate pages below come from the files that DID match a rule, so they may scope this narrower than the change is. Read these before deciding the change is only about the pages listed:
    • docs/architecture/a2a-push-notifications.md
    • go/api/gen/kagent/config/v1/config.pb.go
    • go/core/internal/service/session/push_notifications.go
    • go/core/pkg/app/app.go
    • go/core/pkg/config/defaults.go
    • proto/kagent/config/v1/config.proto

Draft branch: pr-tracker-draft-kagent-3366

… concurrently

Signed-off-by: GitHub Action <action@github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant