ECC/tests/lib
Kumar Prateek 51a6950bde
fix(memory-vault): compare dev only when both stats report one (#2637)
ecc memory writes and --body-file reads fail on Windows. sameFileIdentity()
compares the dev field of a path-based stat against a handle-based fstat, and
libuv 1.49.0 through 1.50.x resolve path-based stat() and lstat() on Windows
through GetFileInformationByName, which leaves the volume serial unset while
fstat() reports it. The comparison never matches, so the TOCTOU guard rejects
every operation.

Keep the inode strict and compare dev only when both sides report one. POSIX
always reports a non-zero dev, so the original strict behaviour is preserved
there.

Request the guard's stats as BigInt. On the affected libuv versions dev is 0,
which leaves the inode as the only identity signal, and Windows file IDs run
past Number.MAX_SAFE_INTEGER where two distinct files can collapse to the same
number-valued inode.

Fixes #2626
2026-08-08 17:06:18 -04:00
..
helpers test(lib): extract shared mini test runner for coordination tests (#2663) 2026-08-04 00:29:31 -04:00
agent-compress.test.js fix: use scalar Claude agent tools (#2583) 2026-07-26 03:20:15 -07:00
agent-data-home.test.js fix: harden local dashboard and data boundaries (#2585) 2026-07-27 11:11:29 -07:00
agent-proximity.test.js feat(layer4): line-range channel + trigger firing 2026-06-20 17:30:52 -04:00
changed-files-store.test.js
claude-plugin-setup.test.js feat(install): add guided multi-harness installer (#2649) 2026-08-06 15:39:49 -04:00
claude-scope-migration.test.js feat(install): add guided multi-harness installer (#2649) 2026-08-06 15:39:49 -04:00
codex-plugin-setup.test.js feat(install): add guided multi-harness installer (#2649) 2026-08-06 15:39:49 -04:00
command-plugin-root.test.js fix(commands): probe for auto-update.js in auto-update ECC_ROOT resolver (#2462) 2026-08-04 00:28:59 -04:00
control-pane-actions.test.js feat: add ECC2 local control pane (#2131) 2026-06-03 21:54:30 +08:00
control-pane-message-sink.test.js feat(layer4): live messages-table wiring for proximity triggers 2026-06-20 20:49:17 -04:00
control-pane-proximity.test.js feat(layer4): live messages-table wiring for proximity triggers 2026-06-20 20:49:17 -04:00
control-pane-state.test.js feat(control-pane): add agent+human JIT assignment view to the work-items board 2026-06-18 16:59:30 -04:00
cost-estimate.test.js feat: add ECC statusline observability hooks 2026-05-11 23:44:06 -04:00
dry-run.test.js feat(install): add guided multi-harness installer (#2649) 2026-08-06 15:39:49 -04:00
github-coordination-branches.test.js test(lib): extract shared mini test runner for coordination tests (#2663) 2026-08-04 00:29:31 -04:00
github-coordination-policy.test.js test(lib): extract shared mini test runner for coordination tests (#2663) 2026-08-04 00:29:31 -04:00
github-coordination-store.test.js test(lib): extract shared mini test runner for coordination tests (#2663) 2026-08-04 00:29:31 -04:00
github-coordination.test.js fix: address second round of code-review findings 2026-06-11 14:25:58 -04:00
github-origin.test.js feat(install): add guided multi-harness installer (#2649) 2026-08-06 15:39:49 -04:00
harness-capabilities.test.js feat(install): add guided multi-harness installer (#2649) 2026-08-06 15:39:49 -04:00
inspection.test.js
install-claude-skill-migration.test.js feat(install): add guided multi-harness installer (#2649) 2026-08-06 15:39:49 -04:00
install-config.test.js
install-executor.test.js feat(install): add guided multi-harness installer (#2649) 2026-08-06 15:39:49 -04:00
install-lifecycle.test.js fix: harden local dashboard and data boundaries (#2585) 2026-07-27 11:11:29 -07:00
install-link-rewrite.test.js fix: flatten Claude skill installs (#2582) 2026-07-26 03:20:06 -07:00
install-manifests.test.js fix(install): exclude ECC skills from antigravity install target (#2680) 2026-08-04 16:57:27 -04:00
install-request.test.js fix(installer): harden locale docs install 2026-05-17 20:46:04 -04:00
install-state.test.js fix: harden release surface version and packaging sync (#1388) 2026-04-12 22:33:32 -07:00
install-targets.test.js feat(install): add guided multi-harness installer (#2649) 2026-08-06 15:39:49 -04:00
llm-summary.test.js fix(tests): use mkdtempSync for test scratch dirs (CodeQL js/insecure-temporary-file) (#2443) 2026-07-04 13:44:27 -07:00
locale-install.test.js fix: flatten Claude skill installs (#2582) 2026-07-26 03:20:06 -07:00
loopback-guard.test.js fix: harden local dashboard and data boundaries (#2585) 2026-07-27 11:11:29 -07:00
mcp-config.test.js
mcp-inventory.test.js feat: MCP inventory (ecc.mcp.v1) — unified cross-harness MCP config view (#2146) 2026-06-06 03:55:17 +08:00
memory-schema.test.js feat: add cross-harness memory vault (#2581) 2026-07-26 02:46:59 -07:00
memory-vault.test.js fix(memory-vault): compare dev only when both stats report one (#2637) 2026-08-08 17:06:18 -04:00
multi-harness-setup.test.js feat(install): add guided multi-harness installer (#2649) 2026-08-06 15:39:49 -04:00
observer-sessions.test.js fix: port continuous-learning observer fixes 2026-05-11 03:35:42 -04:00
orchestration-session.test.js fix: retire legacy command shims from default surface 2026-04-29 23:56:40 -04:00
package-manager.test.js fix(scripts): detect modern bun.lock, ignore stray root lockfiles 2026-07-19 19:39:23 +02:00
path-safety.test.js feat(install): add guided multi-harness installer (#2649) 2026-08-06 15:39:49 -04:00
plan-canvas-markdown.test.js fix(plan-canvas): stop dropping list items when a block's first item is over-indented (#2501) 2026-07-17 17:10:58 -04:00
plan-canvas-sessions.test.js feat: Plan Canvas, a browser review canvas for plans (#2467) 2026-07-08 17:12:48 -04:00
project-detect.test.js fix(project-detect): parse Python deps pinned with `~` and `@` (was losing framework detection on compatible-release pins) (#2498) 2026-07-17 17:11:09 -04:00
resolve-ecc-root.test.js fix(commands): probe for auto-update.js in auto-update ECC_ROOT resolver (#2462) 2026-08-04 00:28:59 -04:00
resolve-formatter.test.js
selective-install.test.js fix: flatten Claude skill installs (#2582) 2026-07-26 03:20:06 -07:00
session-adapters-codex.test.js feat: extend session-adapter layer with codex-worktree + opencode adapters (#2145) 2026-06-06 03:55:00 +08:00
session-adapters-opencode.test.js feat: extend session-adapter layer with codex-worktree + opencode adapters (#2145) 2026-06-06 03:55:00 +08:00
session-adapters.test.js test: cover session adapter edge cases 2026-04-29 18:21:31 -04:00
session-aliases.test.js test: skip chmod-based permission tests when running as root (#2171) 2026-06-07 13:25:53 +08:00
session-bridge.test.js test(lib): make concurrent-write test actually concurrent + use regex matcher for assert.throws 2026-05-19 04:57:10 -04:00
session-manager.test.js refactor: consolidate duplicated hook-root resolver into shared resolveEccRoot() (#2368) (#2410) 2026-07-03 20:01:17 -07:00
setup-readline-cancellation.test.js feat(install): add guided multi-harness installer (#2649) 2026-08-06 15:39:49 -04:00
shell-split.test.js
shell-substitution.test.js fix(hooks,lib): fix hook detection and parsing edge cases (#2405) 2026-07-28 21:32:42 -04:00
skill-dashboard.test.js test: cover skill dashboard edge paths 2026-04-29 19:15:47 -04:00
skill-evolution.test.js test: cover skill tracker edge paths 2026-04-29 19:21:03 -04:00
skill-improvement.test.js
state-store.test.js feat: sync GitHub queue into work items 2026-05-11 13:07:29 -04:00
terminal-spinner.test.js feat(install): add guided multi-harness installer (#2649) 2026-08-06 15:39:49 -04:00
terminal-welcome.test.js feat(install): add guided multi-harness installer (#2649) 2026-08-06 15:39:49 -04:00
tmux-worktree-orchestrator.test.js fix: retire legacy command shims from default surface 2026-04-29 23:56:40 -04:00
transcript-context.test.js fix: add claude-opus-5 to KNOWN_MODEL_WINDOW_TOKENS (#2609) 2026-08-04 00:27:33 -04:00
utils.test.js fix(hooks,lib): fix hook detection and parsing edge cases (#2405) 2026-07-28 21:32:42 -04:00
worktree-lifecycle.test.js feat: worktree-lifecycle service (deterministic conflict prediction + safe GC) (#2164) 2026-06-07 13:00:08 +08:00