Skip to content

feat(harness): Initial Claude Code Support #8722

feat(harness): Initial Claude Code Support

feat(harness): Initial Claude Code Support #8722

Triggered via pull request August 27, 2026 17:41
Status Failure
Total duration 49m 19s
Artifacts

ci.yaml

on: pull_request
Matrix: python-test
Matrix: build
Matrix: rolling-upgrade-tests
Matrix: upgrade-tests
Fit to window
Zoom out
Zoom in

Annotations

28 errors, 21 warnings, and 2 notices
Query Contraction Check
Process completed with exit code 2.
Query Contraction Check
golang.org/x/exp@v0.0.0-20250620022241-b7579e27df2b: verifying module: golang.org/x/exp@v0.0.0-20250620022241-b7579e27df2b: reading https://sum.golang.org/tile/8/1/596: stream error: stream ID 243; INTERNAL_ERROR; received from peer
Query Contraction Check
golang.org/x/exp@v0.0.0-20250620022241-b7579e27df2b: verifying module: golang.org/x/exp@v0.0.0-20250620022241-b7579e27df2b: reading https://sum.golang.org/tile/8/1/596: stream error: stream ID 243; INTERNAL_ERROR; received from peer
go-lint
ST1005: error strings should not be capitalized (staticcheck)
go-lint
ST1005: error strings should not be capitalized (staticcheck)
go-lint
ST1005: error strings should not be capitalized (staticcheck)
go-lint
ST1005: error strings should not be capitalized (staticcheck)
go-lint
ST1005: error strings should not be capitalized (staticcheck)
go-lint
ST1005: error strings should not be capitalized (staticcheck)
go-lint
ST1005: error strings should not be capitalized (staticcheck)
go-lint
ST1005: error strings should not be capitalized (staticcheck)
go-lint
ST1005: error strings should not be capitalized (staticcheck)
go-lint
ST1005: error strings should not be capitalized (staticcheck)
go-unit-tests
Process completed with exit code 1.
[chromium] › playwright/tests/lists/list-filters.spec.ts:94:1 › lists: a narrowed view is an address: ui/playwright/tests/lists/list-filters.spec.ts#L104
2) [chromium] › playwright/tests/lists/list-filters.spec.ts:94:1 › lists: a narrowed view is an address, so it survives a reload › 1. narrowing writes what was chosen into the address Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toEqual(expected) // deep equality - Expected - 3 + Received + 1 - Array [ - "kagent", - ] + Array [] 102 | const url = new URL(page.url()); 103 | expect(url.searchParams.get("q")).toBe("config"); > 104 | expect(url.searchParams.getAll("ns")).toEqual(["kagent"]); | ^ 105 | }); 106 | 107 | await test.step("2. sorting is in the address too, and the header shows it", async () => { at /home/runner/work/kagent/kagent/ui/playwright/tests/lists/list-filters.spec.ts:104:43 at /home/runner/work/kagent/kagent/ui/playwright/tests/lists/list-filters.spec.ts:95:3
[chromium] › playwright/tests/lists/list-filters.spec.ts:94:1 › lists: a narrowed view is an address: ui/playwright/tests/lists/list-filters.spec.ts#L104
2) [chromium] › playwright/tests/lists/list-filters.spec.ts:94:1 › lists: a narrowed view is an address, so it survives a reload › 1. narrowing writes what was chosen into the address Error: expect(received).toEqual(expected) // deep equality - Expected - 3 + Received + 1 - Array [ - "kagent", - ] + Array [] 102 | const url = new URL(page.url()); 103 | expect(url.searchParams.get("q")).toBe("config"); > 104 | expect(url.searchParams.getAll("ns")).toEqual(["kagent"]); | ^ 105 | }); 106 | 107 | await test.step("2. sorting is in the address too, and the header shows it", async () => { at /home/runner/work/kagent/kagent/ui/playwright/tests/lists/list-filters.spec.ts:104:43 at /home/runner/work/kagent/kagent/ui/playwright/tests/lists/list-filters.spec.ts:95:3
[chromium] › playwright/tests/agent-templates/agent-templates.spec.ts:231:1 › agent templates: deleting one says what it costs: ui/playwright/tests/agent-templates/agent-templates.spec.ts#L292
1) [chromium] › playwright/tests/agent-templates/agent-templates.spec.ts:231:1 › agent templates: deleting one says what it costs, and the list is re-read › 2. a template nothing runs says that instead Error: expect(locator).toContainText(expected) failed Locator: getByTestId('template-delete-consequence') Expected substring: "no agent was ever built from it" Timeout: 5000ms Error: element(s) not found Call log: - Expect "toContainText" with timeout 5000ms - waiting for getByTestId('template-delete-consequence') 290 | // conversations will keep working when no harness ever admitted the template 291 | // would be noise dressed as care. > 292 | await expect(page.getByTestId("template-delete-consequence")).toContainText( | ^ 293 | "no agent was ever built from it", 294 | ); 295 | }); at /home/runner/work/kagent/kagent/ui/playwright/tests/agent-templates/agent-templates.spec.ts:292:67 at /home/runner/work/kagent/kagent/ui/playwright/tests/agent-templates/agent-templates.spec.ts:281:3
build (kagent-adk)
Process completed with exit code 2.
build (ui)
The strategy configuration was canceled because "build.kagent-adk" failed
build (ui)
The operation was canceled.
build (golang-adk)
The strategy configuration was canceled because "build.kagent-adk" failed
build (golang-adk)
The operation was canceled.
build (claude-harness)
The strategy configuration was canceled because "build.kagent-adk" failed
build (claude-harness)
The operation was canceled.
build (cli)
The strategy configuration was canceled because "build.kagent-adk" failed
build (cli)
The operation was canceled.
build (controller)
The strategy configuration was canceled because "build.kagent-adk" failed
build (controller)
The operation was canceled.
ui-tests
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
ui-tests: ui/src/theme/themeMode.tsx#L137
Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components
ui-tests: ui/src/pages/agents/HarnessesTab.tsx#L63
The 'rows' logical expression could make the dependencies of useMemo Hook (at line 82) change on every render. To fix this, wrap the initialization of 'rows' in its own useMemo() Hook
ui-tests: ui/src/components/table/RefreshButton.tsx#L31
Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components
ui-tests: ui/src/components/model-form/ProviderIcon.tsx#L150
Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components
ui-tests: ui/src/components/model-form/ProviderIcon.tsx#L132
Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components
ui-tests: ui/src/api/hooks/useChat.ts#L545
React Hook useMemo has a missing dependency: 'refreshTranscript'. Either include it or remove the dependency array
build (kagent-adk)
Failed to restore:
build (kagent-adk)
Failed to restore:
build (ui)
Failed to restore:
build (ui)
Failed to restore:
build (golang-adk)
Failed to restore:
build (golang-adk)
Failed to restore:
build (claude-harness)
Failed to restore:
build (claude-harness)
Failed to restore:
build (cli)
Failed to restore:
build (cli)
Failed to restore:
build (controller)
Failed to restore:
build (controller)
Failed to restore:
test-e2e
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
test-e2e
Failed to restore:
Cache Key
Branch: kagent-v2-feat/claude-harness
🎭 Playwright Run Summary
2 flaky [chromium] › playwright/tests/agent-templates/agent-templates.spec.ts:231:1 › agent templates: deleting one says what it costs, and the list is re-read [chromium] › playwright/tests/lists/list-filters.spec.ts:94:1 › lists: a narrowed view is an address, so it survives a reload 179 passed (8.6m)