Skip to content

feat(subagent): single routing resolver with persisted binding provenance #944

feat(subagent): single routing resolver with persisted binding provenance

feat(subagent): single routing resolver with persisted binding provenance #944

Triggered via pull request August 28, 2026 11:00
Status Failure
Total duration 11m 36s
Artifacts

ci.yml

on: pull_request
Matrix: test
Fit to window
Zoom out
Zoom in

Annotations

6 errors and 19 warnings
typecheck
Process completed with exit code 2.
typecheck: apps/pythinker-code/test/tui/components/dialogs/experiments-selector.test.ts#L21
Type '{ configValue?: boolean; externallyControlled?: boolean | undefined; overridden?: boolean | undefined; id: string; title: string; description: string; surface: FlagSurface; env: string; defaultEnabled: boolean; enabled: boolean; source: ExperimentalFlagSource; }' is not assignable to type 'ExperimentalFeatureState'.
typecheck: apps/pythinker-code/test/tui/commands/experiments.test.ts#L17
Type '{ configValue?: boolean; externallyControlled?: boolean | undefined; overridden?: boolean | undefined; id: string; title: string; description: string; surface: FlagSurface; env: string; defaultEnabled: boolean; enabled: boolean; source: ExperimentalFlagSource; }' is not assignable to type 'ExperimentalFeatureState'.
test (2)
Process completed with exit code 1.
[pythinker-sdk] test/config.test.ts > PythinkerHarness config API > returns experimental feature metadata through the harness: packages/node-sdk/test/config.test.ts#L361
AssertionError: expected [ { id: 'tool-select', …(9) }, …(1) ] to deeply equal [ { id: 'tool-select', …(7) }, …(1) ] - Expected + Received @@ -2,21 +2,25 @@ { "defaultEnabled": false, "description": "Keep MCP tool schemas out of the immutable top-level tools[]; the model loads them on demand via the select_tools tool. Only takes effect on models whose capability catalog declares dynamically loaded tools.", "enabled": false, "env": "PYTHINKER_CODE_EXPERIMENTAL_TOOL_SELECT", + "externallyControlled": false, "id": "tool-select", + "overridden": false, "source": "default", "surface": "core", "title": "Tool select (progressive tool disclosure)", }, { "defaultEnabled": false, "description": "Let newly spawned subagents use a separately configured secondary model by default, with an explicit primary-model override for quality-sensitive tasks.", "enabled": false, "env": "PYTHINKER_CODE_EXPERIMENTAL_SECONDARY_MODEL", + "externallyControlled": false, "id": "secondary-model", + "overridden": false, "source": "default", "surface": "core", "title": "Secondary model for subagents", }, ] ❯ test/config.test.ts:361:22
test
Process completed with exit code 1.
test-pi-tui
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
lint
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
eslint-plugin-import(no-duplicates): packages/agent-core-v2/src/_base/di/scope.ts#L3
Module './instantiation' is imported more than once in this file
eslint-plugin-unicorn(catch-error-name): packages/agent-core-v2/src/_base/errors/unexpectedError.ts#L28
The catch parameter "err" should be named "error"
eslint-plugin-unicorn(catch-error-name): packages/agent-core-v2/src/_base/errors/unexpectedError.ts#L20
The catch parameter "handlerErr" should be named "error"
eslint-plugin-unicorn(no-array-sort): packages/agent-core-v2/src/_base/di/cascadeEngine.ts#L562
Use `Array#toSorted()` instead of `Array#sort()`.
eslint(no-console): packages/agent-core-v2/src/_base/di/lifecycle.ts#L640
Unexpected console statement.
eslint(no-console): packages/agent-core-v2/src/_base/di/lifecycle.ts#L558
Unexpected console statement.
eslint(no-loop-func): packages/agent-core-v2/src/_base/event.ts#L211
Function declared in a loop contains unsafe references to variable(s)
eslint(no-loop-func): packages/agent-core-v2/src/_base/event.ts#L206
Function declared in a loop contains unsafe references to variable(s)
typecheck
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
test (3)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
test (5)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
build
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
test (4)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
test (1)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
test (2)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/