Skip to content

docs(personal): 整理功能契约与预发布说明 #1

docs(personal): 整理功能契约与预发布说明

docs(personal): 整理功能契约与预发布说明 #1

Triggered via push September 16, 2026 17:10
Status Failure
Total duration 8m 42s
Artifacts –

ci.yml

on: push
Matrix: build-test
Fit to window
Zoom out
Zoom in

Annotations

22 errors and 3 warnings
build-test (ubuntu-latest)
Process completed with exit code 1.
__tests__/lsp-python.test.ts > Python LSP > 复用 Python 服务完成查询、诊断和编辑,并在关闭后释放进程: __tests__/lsp-python.test.ts#L35
AssertionError: expected [ { event: 'request', …(3) }, …(1) ] to have a length of 1 but got 2 - Expected + Received - 1 + 2 ❯ __tests__/lsp-python.test.ts:35:42
__tests__/lsp-position.test.ts > URI normalization > non-file protocols and malformed URIs do not throw: __tests__/lsp-position.test.ts#L101
AssertionError: expected 'file:///broken/%E0%A4%A' to be 'file:///broken/%e0%a4%a' // Object.is equality Expected: "file:///broken/%e0%a4%a" Received: "file:///broken/%E0%A4%A" ❯ __tests__/lsp-position.test.ts:101:47
__tests__/lsp-position.test.ts > URI normalization > tsserver %3A encoding and the pathToFileURL form normalize to the same key: __tests__/lsp-position.test.ts#L94
AssertionError: expected 'file:///C:/Users/x/a.ts' to be 'file:///c:/Users/x/a.ts' // Object.is equality Expected: "file:///c:/Users/x/a.ts" Received: "file:///C:/Users/x/a.ts" ❯ __tests__/lsp-position.test.ts:94:47
build-test (macos-latest)
Process completed with exit code 1.
__tests__/lsp-python.test.ts > Python LSP > 复用 Python 服务完成查询、诊断和编辑,并在关闭后释放进程: __tests__/lsp-python.test.ts#L35
AssertionError: expected [ { event: 'request', …(3) }, …(1) ] to have a length of 1 but got 2 - Expected + Received - 1 + 2 ❯ __tests__/lsp-python.test.ts:35:42
__tests__/lsp-position.test.ts > URI normalization > non-file protocols and malformed URIs do not throw: __tests__/lsp-position.test.ts#L101
AssertionError: expected 'file:///broken/%E0%A4%A' to be 'file:///broken/%e0%a4%a' // Object.is equality Expected: "file:///broken/%e0%a4%a" Received: "file:///broken/%E0%A4%A" ❯ __tests__/lsp-position.test.ts:101:47
__tests__/lsp-position.test.ts > URI normalization > tsserver %3A encoding and the pathToFileURL form normalize to the same key: __tests__/lsp-position.test.ts#L94
AssertionError: expected 'file:///C:/Users/x/a.ts' to be 'file:///c:/Users/x/a.ts' // Object.is equality Expected: "file:///c:/Users/x/a.ts" Received: "file:///C:/Users/x/a.ts" ❯ __tests__/lsp-position.test.ts:94:47
__tests__/installer-targets.test.ts > Installer targets — Claude CLAUDE_CONFIG_DIR override (#1627) > leaves local install, detect, and uninstall unaffected by CLAUDE_CONFIG_DIR: __tests__/installer-targets.test.ts#L2779
AssertionError: expected [ …(3) ] to deeply equal [ …(3) ] - Expected + Received Array [ - "/var/folders/36/tjdph2t965j8snz9_vkdnw0r0000gn/T/cg-targets-cwd-gR4N8p/.mcp.json", - "/var/folders/36/tjdph2t965j8snz9_vkdnw0r0000gn/T/cg-targets-cwd-gR4N8p/.claude/settings.json", - "/var/folders/36/tjdph2t965j8snz9_vkdnw0r0000gn/T/cg-targets-cwd-gR4N8p/.claude/CLAUDE.md", + "/private/var/folders/36/tjdph2t965j8snz9_vkdnw0r0000gn/T/cg-targets-cwd-gR4N8p/.mcp.json", + "/private/var/folders/36/tjdph2t965j8snz9_vkdnw0r0000gn/T/cg-targets-cwd-gR4N8p/.claude/settings.json", + "/private/var/folders/36/tjdph2t965j8snz9_vkdnw0r0000gn/T/cg-targets-cwd-gR4N8p/.claude/CLAUDE.md", ] ❯ __tests__/installer-targets.test.ts:2779:45
__tests__/installer-targets.test.ts > Installer targets — Claude CLAUDE_CONFIG_DIR override (#1627) > global install honors relative CLAUDE_CONFIG_DIR paths: __tests__/installer-targets.test.ts#L2708
AssertionError: expected [ …(3) ] to deeply equal [ …(3) ] - Expected + Received Array [ - "/var/folders/36/tjdph2t965j8snz9_vkdnw0r0000gn/T/cg-targets-home-OKW6QX/claude profile/.claude.json", - "/var/folders/36/tjdph2t965j8snz9_vkdnw0r0000gn/T/cg-targets-home-OKW6QX/claude profile/settings.json", - "/var/folders/36/tjdph2t965j8snz9_vkdnw0r0000gn/T/cg-targets-home-OKW6QX/claude profile/CLAUDE.md", + "/private/var/folders/36/tjdph2t965j8snz9_vkdnw0r0000gn/T/cg-targets-home-OKW6QX/claude profile/.claude.json", + "/private/var/folders/36/tjdph2t965j8snz9_vkdnw0r0000gn/T/cg-targets-home-OKW6QX/claude profile/settings.json", + "/private/var/folders/36/tjdph2t965j8snz9_vkdnw0r0000gn/T/cg-targets-home-OKW6QX/claude profile/CLAUDE.md", ] ❯ __tests__/installer-targets.test.ts:2708:45
__tests__/edit-transaction.test.ts > 结构化编辑事务 > 提交前拒绝跨卷目标,不创建事务结果或改写源码: __tests__/edit-transaction.test.ts#L140
AssertionError: expected 'applied' to be 'rejected' // Object.is equality Expected: "rejected" Received: "applied" ❯ __tests__/edit-transaction.test.ts:140:27
__tests__/edit-lsp-rename.test.ts > cross-file and unsafe workspace edits > 第二个文件写入失败时恢复第一个文件,不留下部分修改: __tests__/edit-lsp-rename.test.ts#L219
AssertionError: expected { schemaVersion: 1, …(12) } to match object { status: 'error', applied: { …(3) } } (41 matching properties omitted from actual) - Expected + Received Object { "applied": Object { "fileStates": Array [ Object { "filePath": "a.ts", - "state": "restored", + "state": "committed", }, Object { "filePath": "b.ts", - "state": "restored", + "state": "committed", }, ], - "files": Array [], - "transactionState": "rolled_back", + "files": Array [ + "a.ts", + "b.ts", + ], + "transactionState": "committed", }, - "status": "error", + "status": "applied", } ❯ __tests__/edit-lsp-rename.test.ts:219:20
__tests__/worktree-detection.test.ts > detectWorktreeIndexMismatch — nested repos covered by the parent index (#1031, #1033) > still flags a genuine linked worktree (same repo, different branch): __tests__/worktree-detection.test.ts#L356
AssertionError: expected 'C:\Users\runneradmin\AppData\Local\Te…' to be 'C:\Users\RUNNER~1\AppData\Local\Temp\…' // Object.is equality Expected: "C:\Users\RUNNER~1\AppData\Local\Temp\cg-wt-parent-XJl8Mh\.git" Received: "C:\Users\runneradmin\AppData\Local\Temp\cg-wt-parent-XJl8Mh\.git" ❯ __tests__/worktree-detection.test.ts:356:32
__tests__/worktree-detection.test.ts > detectWorktreeIndexMismatch — nested repos covered by the parent index (#1031, #1033) > does NOT flag a bare gitlink (embedded clone, no .gitmodules) covered by the parent index: __tests__/worktree-detection.test.ts#L337
AssertionError: expected 'C:\Users\runneradmin\AppData\Local\Te…' to be 'C:\Users\RUNNER~1\AppData\Local\Temp\…' // Object.is equality Expected: "C:\Users\RUNNER~1\AppData\Local\Temp\cg-wt-parent-RCRl8Q\embedded" Received: "C:\Users\runneradmin\AppData\Local\Temp\cg-wt-parent-RCRl8Q\embedded" ❯ __tests__/worktree-detection.test.ts:337:39
__tests__/worktree-detection.test.ts > detectWorktreeIndexMismatch — nested repos covered by the parent index (#1031, #1033) > does NOT flag an active submodule covered by the parent index: __tests__/worktree-detection.test.ts#L329
AssertionError: expected 'C:\Users\runneradmin\AppData\Local\Te…' to be 'C:\Users\RUNNER~1\AppData\Local\Temp\…' // Object.is equality Expected: "C:\Users\RUNNER~1\AppData\Local\Temp\cg-wt-parent-6ykAvL\service-a" Received: "C:\Users\runneradmin\AppData\Local\Temp\cg-wt-parent-6ykAvL\service-a" ❯ __tests__/worktree-detection.test.ts:329:34
__tests__/worktree-detection.test.ts > worktree mismatch verdict re-resolves when the index root changes (issue #926) > drops the stale "borrowed the main index" warning once the index root flips to the worktree: __tests__/worktree-detection.test.ts#L253
AssertionError: expected '**CodeGraph Status**\n\n**Files index…' to contain 'different git working tree' - Expected + Received - different git working tree + **CodeGraph Status** + + **Files indexed:** 1 + **Total nodes:** 2 + **Total edges:** 1 + **Database size:** 0.16 MB + **Backend:** node:sqlite (Node built-in) — full WAL + FTS5 + **Journal mode:** wal (concurrent reads safe) + **Resources:** profile=balanced, queryWorkers=1..4 (idle shrink 120s->1), resolveWorkers<=5, lsp=2/project, 3/global (idle exit 300s) + + **Nodes by Kind:** + - file: 1 + - function: 1 + + **Languages:** + - typescript: 1 ❯ __tests__/worktree-detection.test.ts:253:36
__tests__/worktree-detection.test.ts > worktree mismatch surfaces on hot read tools (issue #155) > caches detection — a later tool call needs no further git spawn: __tests__/worktree-detection.test.ts#L177
AssertionError: expected '**Search Results (1 found)**\n\n**mai…' to contain 'different git worktree' - Expected + Received - different git worktree + **Search Results (1 found)** + + **mainOnly** (function) + src/a.ts:1 + `()` + ❯ __tests__/worktree-detection.test.ts:177:35
__tests__/worktree-detection.test.ts > worktree mismatch surfaces on hot read tools (issue #155) > still shows the verbose warning on codegraph_status: __tests__/worktree-detection.test.ts#L169
AssertionError: expected '**CodeGraph Status**\n\n**Files index…' to contain 'different git working tree' - Expected + Received - different git working tree + **CodeGraph Status** + + **Files indexed:** 1 + **Total nodes:** 2 + **Total edges:** 1 + **Database size:** 0.16 MB + **Backend:** node:sqlite (Node built-in) — full WAL + FTS5 + **Journal mode:** wal (concurrent reads safe) + **Resources:** profile=balanced, queryWorkers=1..4 (idle shrink 120s->1), resolveWorkers<=5, lsp=2/project, 3/global (idle exit 300s) + + **Nodes by Kind:** + - file: 1 + - function: 1 + + **Languages:** + - typescript: 1 ❯ __tests__/worktree-detection.test.ts:169:18
__tests__/worktree-detection.test.ts > worktree mismatch surfaces on hot read tools (issue #155) > prefixes a compact notice on codegraph_search run from a nested worktree: __tests__/worktree-detection.test.ts#L154
AssertionError: expected '**Search Results (1 found)**\n\n**mai…' to contain 'different git worktree' - Expected + Received - different git worktree + **Search Results (1 found)** + + **mainOnly** (function) + src/a.ts:1 + `()` + ❯ __tests__/worktree-detection.test.ts:154:18
__tests__/worktree-detection.test.ts > detectWorktreeIndexMismatch (issue #155) > warning names both trees and the fix: src/sync/worktree.ts#L129
TypeError: Cannot read properties of null (reading 'worktreeRoot') ❯ Module.worktreeMismatchWarning src/sync/worktree.ts:129:24 ❯ __tests__/worktree-detection.test.ts:101:17
__tests__/worktree-detection.test.ts > detectWorktreeIndexMismatch (issue #155) > gitWorktreeRoot reports each tree distinctly: __tests__/worktree-detection.test.ts#L95
AssertionError: expected 'C:\Users\runneradmin\AppData\Local\Te…' to be 'C:\Users\RUNNER~1\AppData\Local\Temp\…' // Object.is equality Expected: "C:\Users\RUNNER~1\AppData\Local\Temp\cg-wt-main-WemKMp\wt" Received: "C:\Users\runneradmin\AppData\Local\Temp\cg-wt-main-WemKMp\wt" ❯ __tests__/worktree-detection.test.ts:95:39
build-test (ubuntu-latest)
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, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
build-test (macos-latest)
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, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
build-test (windows-latest)
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, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/