ECC/scripts/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
..
agent-proximity feat(layer4): line-range channel + trigger firing 2026-06-20 17:30:52 -04:00
control-pane feat: Plan Canvas, a browser review canvas for plans (#2467) 2026-07-08 17:12:48 -04:00
github-coordination docs+chore: add README Security section; fix lint regressions on main 2026-06-16 02:08:14 -04:00
install feat(install): add guided multi-harness installer (#2649) 2026-08-06 15:39:49 -04:00
install-targets feat(install): add guided multi-harness installer (#2649) 2026-08-06 15:39:49 -04:00
mcp-inventory feat: worktree-lifecycle service (deterministic conflict prediction + safe GC) (#2164) 2026-06-07 13:00:08 +08:00
plan-canvas fix: harden plan canvas code scanning alerts 2026-07-22 16:28:07 -04:00
session-adapters feat: worktree-lifecycle service (deterministic conflict prediction + safe GC) (#2164) 2026-06-07 13:00:08 +08:00
skill-evolution
skill-improvement
state-store feat: add work items CLI 2026-05-11 12:24:12 -04:00
worktree-lifecycle feat: worktree-lifecycle service (deterministic conflict prediction + safe GC) (#2164) 2026-06-07 13:00:08 +08:00
agent-compress.js fix: use scalar Claude agent tools (#2583) 2026-07-26 03:20:15 -07:00
agent-data-home.js fix: harden local dashboard and data boundaries (#2585) 2026-07-27 11:11:29 -07:00
agent-tools.js fix: use scalar Claude agent tools (#2583) 2026-07-26 03:20:15 -07:00
atomic-write.js feat(install): add guided multi-harness installer (#2649) 2026-08-06 15:39:49 -04:00
claude-plugin-setup.js feat(install): add guided multi-harness installer (#2649) 2026-08-06 15:39:49 -04:00
claude-scope-migration.js feat(install): add guided multi-harness installer (#2649) 2026-08-06 15:39:49 -04:00
codex-plugin-setup.js feat(install): add guided multi-harness installer (#2649) 2026-08-06 15:39:49 -04:00
compute-sponsor.js feat: connect ECC to canonical Ito compute CLI (#2558) 2026-07-23 19:28:55 -07:00
cost-estimate.js feat: add ECC statusline observability hooks 2026-05-11 23:44:06 -04:00
cursor-agent-names.js fix: namespace cursor agent installs 2026-04-30 02:19:57 -04:00
ecc_dashboard_runtime.py fix: port hook session and dashboard safety fixes 2026-05-11 02:53:28 -04:00
feedback-links.js feat: add retention feedback loop and honest support matrix (#2681) 2026-08-04 21:42:25 -04:00
github-coordination.js refactor: apply code-review findings to github-native coordination 2026-06-11 14:05:42 -04:00
github-discussions.js fix: skip disabled discussion queries in platform audit 2026-05-17 20:32:09 -04:00
github-origin.js feat(install): add guided multi-harness installer (#2649) 2026-08-06 15:39:49 -04:00
harness-adapter-compliance.js feat: add zed install target 2026-05-17 07:06:49 -04:00
harness-capabilities.js feat(install): add guided multi-harness installer (#2649) 2026-08-06 15:39:49 -04:00
hook-flags.js feat(install): add guided multi-harness installer (#2649) 2026-08-06 15:39:49 -04:00
inspection.js
install-executor.js feat(install): add guided multi-harness installer (#2649) 2026-08-06 15:39:49 -04:00
install-lifecycle.js fix: harden local dashboard and data boundaries (#2585) 2026-07-27 11:11:29 -07:00
install-manifests.js fix(repair): build opencode payload so `repair` clears doctor's `opencode-plugin-not-built` warning (#2414) (#2438) 2026-07-08 17:14:33 -04:00
install-state.js feat(install): add guided multi-harness installer (#2649) 2026-08-06 15:39:49 -04:00
ito-environment.js fix(ito-compute): complete device auth lifecycle (#2706) 2026-08-07 14:53:13 -04:00
llm-summary.js feat(session): LLM-powered session summary via claude -p (#2388) 2026-06-29 15:55:01 -07:00
loopback-guard.js fix: harden local dashboard and data boundaries (#2585) 2026-07-27 11:11:29 -07:00
mcp-config.js
memory-vault-format.js feat: add cross-harness memory vault (#2581) 2026-07-26 02:46:59 -07:00
memory-vault.js fix(memory-vault): compare dev only when both stats report one (#2637) 2026-08-08 17:06:18 -04:00
multi-harness-setup.js feat(install): add guided multi-harness installer (#2649) 2026-08-06 15:39:49 -04:00
observer-sessions.js fix: port continuous-learning observer fixes 2026-05-11 03:35:42 -04:00
orchestration-session.js
package-manager.d.ts
package-manager.js fix(scripts): detect modern bun.lock, ignore stray root lockfiles 2026-07-19 19:39:23 +02:00
path-safety.js feat(install): add guided multi-harness installer (#2649) 2026-08-06 15:39:49 -04:00
project-detect.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.js fix(resolve-ecc-root): require ECC skills, not just scripts, before accepting a root (#2544) (#2577) 2026-07-25 22:21:27 -07:00
resolve-formatter.js fix(tests): resolve 10 failing tests on Windows (#2307) 2026-06-29 15:54:49 -07:00
session-aliases.d.ts feat: Cursor-independent ECC memory via ECC_AGENT_DATA_HOME (#2066) 2026-06-07 13:27:00 +08:00
session-aliases.js feat: Cursor-independent ECC memory via ECC_AGENT_DATA_HOME (#2066) 2026-06-07 13:27:00 +08:00
session-bridge.js fix(lib): retry rename on Windows EPERM/EACCES/EBUSY in writeBridgeAtomic 2026-05-19 04:57:10 -04:00
session-manager.d.ts
session-manager.js fix: resolve open-issue cluster (#2295, #2298, #2303–#2306, #2340) + createdTime fallback bug (#2408) 2026-07-03 21:10:45 -07:00
shell-split.js
shell-substitution.js fix(hooks,lib): fix hook detection and parsing edge cases (#2405) 2026-07-28 21:32:42 -04:00
terminal-spinner.js feat(install): add guided multi-harness installer (#2649) 2026-08-06 15:39:49 -04:00
terminal-welcome.js feat(install): add guided multi-harness installer (#2649) 2026-08-06 15:39:49 -04:00
tmux-worktree-orchestrator.js
transcript-context.js fix: add claude-opus-5 to KNOWN_MODEL_WINDOW_TOKENS (#2609) 2026-08-04 00:27:33 -04:00
utils.d.ts feat: Cursor-independent ECC memory via ECC_AGENT_DATA_HOME (#2066) 2026-06-07 13:27:00 +08:00
utils.js fix(hooks,lib): fix hook detection and parsing edge cases (#2405) 2026-07-28 21:32:42 -04:00