This inventory covers test declarations whose skip expression excludes Windows. It is a Phase 0 baseline, not permission to retain the skips indefinitely. Locations intentionally omit line numbers so unrelated edits do not invalidate the semantic inventory.
windows-backend-gap: the product contract is relevant on Windows, but the Windows transport, process, crash, or sandbox evidence is missing.portable-candidate: the behavior appears platform-neutral; remove the skip or document the concrete Windows blocker.platform-contract: the test intentionally exercises a POSIX/macOS primitive with no direct Windows equivalent.| Classification | Count |
|---|---|
| windows-backend-gap | 27 |
| portable-candidate | 31 |
| platform-contract | 33 |
Total Windows-excluded declarations: 91
| Classification | Test | Skip expression |
|---|---|---|
| platform-contract | apps/desktop/scripts/check-renderer-architecture.test.mjs handles read-only POSIX permissions on the checker directory according to --strict-base | process.platform === 'win32' || process.getuid?.() === 0 |
| portable-candidate | apps/desktop/src/main/__tests__/mcp-ipc-commit-unknown.test.ts MCP remove reconciles a live manager after the real store publishes then fails directory sync | process.platform === 'win32' |
| portable-candidate | apps/desktop/src/main/__tests__/mcp-ipc-commit-unknown.test.ts MCP upsert reconciles the reread authority including an intervening writer without replaying its mutation | process.platform === 'win32' |
| portable-candidate | apps/desktop/src/main/__tests__/mcp-ipc-commit-unknown.test.ts MCP published write explicitly reports out-of-sync when reconciliation ${phase} fails | process.platform === 'win32' |
| portable-candidate | apps/desktop/src/main/__tests__/mcp-ipc-commit-unknown.test.ts MCP cancelled install does not start a new connection during post-rename reconciliation | process.platform === 'win32' |
| platform-contract | apps/desktop/src/main/__tests__/project-context-root.test.ts rejects a session cwd without read and traversal access | process.platform === 'win32' ? 'POSIX permissions are required to make the session cwd inaccessible' : process.getuid?.() === 0 |
| platform-contract | apps/desktop/src/main/__tests__/shell-env.test.ts imports the login PATH without importing application control variables | process.platform === 'win32' |
| platform-contract | apps/desktop/src/main/__tests__/shell-env.test.ts keeps the inherited PATH and does not log shell stderr when capture fails | process.platform === 'win32' |
| platform-contract | apps/desktop/src/main/__tests__/shell-env.test.ts kills login-shell descendants when capture times out | process.platform === 'win32' |
| platform-contract | apps/desktop/src/main/__tests__/shell-env.test.ts bounds shell output instead of buffering until the global timeout | process.platform === 'win32' |
| portable-candidate | packages/cli/src/__tests__/pi-transcript.test.ts shortens POSIX paths under the home directory | process.platform === 'win32' |
| portable-candidate | packages/cli/src/__tests__/pi-transcript.test.ts keeps POSIX paths outside the home directory absolute | process.platform === 'win32' |
| portable-candidate | packages/cli/src/__tests__/runtime-host-local-managed-activation.test.ts local CLI cold-starts through the installed ${legacy ? ‘legacy’ : ‘Node’} operator | process.platform === 'win32' |
| portable-candidate | packages/cli/src/__tests__/runtime-host-setup.test.ts managed operator binds its Client Data Root and routes deployment cleanup | process.platform === 'win32' |
| portable-candidate | packages/cli/src/__tests__/tui-mcp-control.test.ts TUI MCP reconciles an already-published write through execute: ${scenario} | process.platform === 'win32' |
| portable-candidate | packages/eval/src/__tests__/install-preflight.test.ts rejects an unusable trials root before invoking external prerequisites | process.platform === 'win32' || process.geteuid?.() === 0 |
| platform-contract | packages/runtime-host/src/__tests__/antigravity-install.test.ts | process.platform !== 'darwin' |
| windows-backend-gap | packages/runtime-host/src/__tests__/connection-effect-coordinator.test.ts leaves canonical onboarding state unchanged when the durable intent cannot be published | process.platform === 'win32' |
| windows-backend-gap | packages/runtime-host/src/__tests__/connection-effect-coordinator.test.ts recovers a durable onboarding intent instead of rolling back a partial publication | process.platform === 'win32' |
| windows-backend-gap | packages/runtime-host/src/__tests__/control-endpoint.test.ts runtime host control endpoint | process.platform === 'win32' |
| windows-backend-gap | packages/runtime-host/src/__tests__/execution-inspect-uds.test.ts a live Host serves Interactive inspection over its real endpoint while retaining exclusive ownership | process.platform === 'win32' ? 'Windows execution Host startup lifecycle' : false |
| windows-backend-gap | packages/runtime-host/src/__tests__/execution-model-composition.test.ts production Host executes Bash against the current live sandbox boundary | process.platform === 'win32' ? 'Managed arbitrary-shell sandboxing is unavailable' : false |
| windows-backend-gap | packages/runtime-host/src/__tests__/gitoxide-helper-invocation-internal.test.ts applies the import deadline and terminates the helper process tree | process.platform === 'win32' |
| windows-backend-gap | packages/runtime-host/src/__tests__/gitoxide-helper-invocation-internal.test.ts rejects an import response that does not match the requested baseline ref | process.platform === 'win32' |
| windows-backend-gap | packages/runtime-host/src/__tests__/gitoxide-helper-invocation-internal.test.ts rejects an import response that does not match the requested source HEAD | process.platform === 'win32' |
| windows-backend-gap | packages/runtime-host/src/__tests__/gitoxide-helper-invocation-internal.test.ts rejects a candidate response whose blob identity does not match the requested bytes | process.platform === 'win32' |
| windows-backend-gap | packages/runtime-host/src/__tests__/gitoxide-helper-invocation-internal.test.ts rejects a direct-read response whose blob identity does not match its content | process.platform === 'win32' |
| windows-backend-gap | packages/runtime-host/src/__tests__/host-kernel.test.ts an automatic failed liveness check is connection-fatal and Client close stays local | process.platform === 'win32' |
| windows-backend-gap | packages/runtime-host/src/__tests__/host-kernel.test.ts bounded election does not launch a Candidate after handshake exhausts the deadline | process.platform === 'win32' |
| windows-backend-gap | packages/runtime-host/src/__tests__/host-kernel.test.ts a non-reading Client overload is isolated to its connection | process.platform === 'win32' |
| windows-backend-gap | packages/runtime-host/src/__tests__/host-kernel.test.ts reports one shutdown failure through close and closed while releasing ownership | process.platform === 'win32' |
| platform-contract | packages/runtime-host/src/__tests__/host-kernel.test.ts publishes private POSIX endpoint and registration permissions | process.platform === 'win32' |
| windows-backend-gap | packages/runtime-host/src/__tests__/managed-activation.test.ts two real managed activations converge on one Host and exit at true idle | process.platform === 'win32' ? 'requires a POSIX package-entrypoint symlink' : false |
| windows-backend-gap | packages/runtime-host/src/__tests__/memory-two-client-uds.test.ts two UDS clients share one recoverable Memory authority across Host death | process.platform === 'win32' ? 'POSIX process death gate' : false |
| windows-backend-gap | packages/runtime-host/src/__tests__/project-catalog-two-client-uds.test.ts two UDS clients converge on one Host-owned Project Catalog | process.platform === 'win32' |
| windows-backend-gap | packages/runtime-host/src/__tests__/runtime-policy-coordinator.test.ts invalidates when a real published mutation loses its commit reply | process.platform === 'win32' |
| windows-backend-gap | packages/runtime-host/src/__tests__/runtime-resource-process.test.ts real Host Runtime Resource process lifecycle | process.platform === 'win32' |
| windows-backend-gap | packages/runtime-host/src/__tests__/runtime-resource-two-client-uds.test.ts a Host-owned PTY survives Desktop disconnect and transfers control to TUI | process.platform === 'win32' ? 'POSIX UDS and shell integration' : false |
| windows-backend-gap | packages/runtime-host/src/__tests__/session-catalog-two-client-uds.test.ts two Clients share stable Session creation, CAS configuration, and catalog continuity | process.platform === 'win32' ? 'Windows SQLite shutdown lifecycle' : false |
| windows-backend-gap | packages/runtime-host/src/__tests__/session-catalog-two-client-uds.test.ts deleted account identity survives same-slug reuse until explicit recovery | process.platform === 'win32' ? 'Windows SQLite shutdown lifecycle' : false |
| windows-backend-gap | packages/runtime-host/src/__tests__/session-catalog-two-client-uds.test.ts stable Session creation survives response loss and Host restart | process.platform === 'win32' ? 'Windows SQLite shutdown lifecycle' : false |
| windows-backend-gap | packages/runtime-host/src/__tests__/session-revision-two-client-uds.test.ts two Clients share exact retryable Session branch and revision authority | process.platform === 'win32' ? 'Windows SQLite shutdown lifecycle' : false |
| windows-backend-gap | packages/runtime-host/src/__tests__/usage-pricing-client-correlation.test.ts fails the connection for a canonical response with mismatched ${mismatch.name} | process.platform === 'win32' |
| windows-backend-gap | packages/runtime-host/src/__tests__/usage-pricing-client-correlation.test.ts rejects local invalid input without poisoning transport and correlates a private canonical copy | process.platform === 'win32' |
| windows-backend-gap | packages/runtime-host/src/__tests__/usage-pricing-two-client-uds.test.ts two clients share usage projection and one revision-CAS pricing authority | process.platform === 'win32' |
| portable-candidate | packages/runtime/src/__tests__/filesystem-apply-patch.test.ts deletes a self-referential symlink entry without following it | process.platform === 'win32' |
| platform-contract | packages/runtime/src/__tests__/filesystem-worker-process-runner.test.ts filesystem worker rejects boundedly when a detached descendant retains stdout | process.platform === 'win32' ? 'POSIX detached process-group semantics required' : false |
| platform-contract | packages/runtime/src/__tests__/filesystem-worker-smoke.test.ts macOS filesystem worker smoke | process.platform !== 'darwin' |
| portable-candidate | packages/runtime/src/__tests__/node-pty-write-lifecycle.test.ts does not carry queued Unix PTY writes past native exit | process.platform === 'win32' ? 'Unix PTY file-descriptor lifecycle only' : false |
| portable-candidate | packages/runtime/src/__tests__/shell-exec.test.ts writes a legacy WSL Bash command through stdin | process.platform === 'win32' ? 'uses /bin/sh as a portable stdin probe' : false |
| platform-contract | packages/runtime/src/__tests__/shell-exec.test.ts bounds output drain after the root exits while a detached descendant retains stdout | process.platform === 'win32' ? 'POSIX detached process-group semantics required' : false |
| platform-contract | packages/runtime/src/__tests__/shell-run-manager.test.ts latches timeout when the root exits during POSIX process discovery | process.platform === 'win32' ? 'POSIX process discovery only' : false |
| platform-contract | packages/runtime/src/__tests__/shell-run-manager.test.ts preserves cancellation when timeout fires during POSIX process discovery | process.platform === 'win32' ? 'POSIX process discovery only' : false |
| platform-contract | packages/runtime/src/__tests__/shell-run-manager.test.ts ignores a Stop abort that occurs after another admitted Stop commits termination | process.platform === 'win32' ? 'Windows termination has no asynchronous POSIX snapshot window' : false |
| platform-contract | packages/runtime/src/__tests__/shell-run-manager.test.ts keeps a pipe task alive when Stop aborts during process-tree preparation | process.platform === 'win32' ? 'Windows termination does not take a POSIX process snapshot' : false |
| platform-contract | packages/runtime/src/__tests__/shell-run-manager.test.ts keeps a PTY task controllable when Stop aborts during process-tree preparation | process.platform === 'win32' ? 'Windows termination does not take a POSIX process snapshot' : false |
| platform-contract | packages/runtime/src/__tests__/shell-run-manager.test.ts settles after root exit when a detached descendant retains inherited stdout | process.platform === 'win32' ? 'POSIX detached process-group semantics required' : false |
| platform-contract | packages/runtime/src/__tests__/shell-run-manager.test.ts keeps the first committed lifecycle cause across Stop and timeout races | process.platform === 'win32' ? 'Windows tree termination has no graceful SIGTERM phase' : false |
| platform-contract | packages/runtime/src/__tests__/shell-run-manager.test.ts keeps SIGTERM final output and escalates an ignored SIGTERM without leaking slots | process.platform === 'win32' ? 'Windows tree termination has no graceful SIGTERM phase' : false |
| portable-candidate | packages/storage/src/__tests__/atomic-file-write.test.ts removes its temp file and rethrows after a chmod failure | process.platform === 'win32' |
| portable-candidate | packages/storage/src/__tests__/atomic-file-write.test.ts creates the target 0600 on POSIX | process.platform === 'win32' |
| portable-candidate | packages/storage/src/__tests__/atomic-file-write.test.ts re-chmods a pre-existing world-readable target to 0600 on the next write | process.platform === 'win32' |
| portable-candidate | packages/storage/src/__tests__/atomic-file-write.test.ts refuses to write through a pre-planted symlink at the temp path | process.platform === 'win32' |
| portable-candidate | packages/storage/src/__tests__/managed-dependency-environment.test.ts accepts a POSIX package bin symlink whose target remains inside the dependency root | process.platform === 'win32' |
| portable-candidate | packages/storage/src/__tests__/managed-dependency-environment.test.ts isolates published POSIX content from a producer-retained writable handle | process.platform === 'win32' |
| platform-contract | packages/storage/src/__tests__/operational-state-store.test.ts does not classify a SQLite write failure as a migration blocker | process.platform === 'win32' ? 'POSIX permissions are required to make the SQLite database read-only' : false |
| platform-contract | packages/storage/src/__tests__/pet-pack-store.test.ts detects sprite sheets redirected outside the installed pack | process.platform === 'win32' ? 'Windows file-symlink permissions are not guaranteed in CI' : false |
| portable-candidate | packages/storage/src/__tests__/production-session-snapshot.test.ts rejects a POSIX-only workspace name with a bounded portability diagnostic | process.platform === 'win32' |
| portable-candidate | packages/storage/src/__tests__/quiescent-session-snapshot.test.ts requires a private staging parent on POSIX | process.platform === 'win32' |
| platform-contract | packages/storage/src/__tests__/root-authority.test.ts preserves unexpected marker I/O failures at the public authority boundary | process.platform === 'win32' ? 'POSIX permissions are required to make the marker unreadable' : typeof process.getuid === 'function' && process.getuid() === 0 |
| platform-contract | packages/storage/src/__tests__/root-authority.test.ts rejects FIFO marker paths without blocking root resolution | process.platform === 'win32' |
| platform-contract | packages/storage/src/__tests__/root-authority.test.ts rejects a lock path that aliases another filesystem object | process.platform === 'win32' ? 'Windows file-symlink permissions are not guaranteed in CI' : false |
| portable-candidate | packages/storage/src/__tests__/root-authority.test.ts cache deletion cannot create a second State Root owner | process.platform === 'win32' ? 'Windows does not unlink an open native lock file' : false |
| platform-contract | packages/storage/src/__tests__/root-authority.test.ts validates an existing control directory without repairing its permissions | process.platform === 'win32' |
| platform-contract | packages/storage/src/__tests__/runtime-policy-stores.test.ts reports unknown outcome when credential persistence fails after clearing verified state | process.platform === 'win32' ? 'POSIX permissions are required to inject a persistence failure' : false |
| platform-contract | packages/storage/src/__tests__/runtime-policy-stores.test.ts validates proxy policy mutations before clearing and reports failed follow-up commits as unknown | process.platform === 'win32' ? 'POSIX permissions are required to inject a persistence failure' : false |
| platform-contract | packages/storage/src/__tests__/runtime-policy-stores.test.ts reports unknown outcome when active proxy password persistence fails after clearing | process.platform === 'win32' ? 'POSIX permissions are required to inject a persistence failure' : false |
| platform-contract | packages/storage/src/__tests__/runtime-policy-stores.test.ts preserves unknown commit semantics and consumes the completion ticket | process.platform === 'win32' ? 'POSIX permissions are required to inject a persistence failure' : false |
| portable-candidate | packages/storage/src/__tests__/runtime-policy-stores.test.ts proxy replacement failure before vault publication leaves both stores unchanged | process.platform === 'win32' ? 'POSIX file handles are required to inject persistence failures' : false |
| portable-candidate | packages/storage/src/__tests__/runtime-policy-stores.test.ts proxy replacement never persists its secret outside the credential vault | process.platform === 'win32' ? 'POSIX file handles are required to inject persistence failures' : false |
| portable-candidate | packages/storage/src/__tests__/runtime-policy-stores.test.ts authentication disable failure before policy publication leaves both stores unchanged | process.platform === 'win32' ? 'POSIX file handles are required to inject persistence failures' : false |
| portable-candidate | packages/storage/src/__tests__/runtime-policy-stores.test.ts disabling proxy authentication commits policy before deleting its credential | process.platform === 'win32' ? 'POSIX file handles are required to inject persistence failures' : false |
| platform-contract | packages/storage/src/__tests__/runtime-policy-stores.test.ts successor recovery removes credentials orphaned by an interrupted connection removal | process.platform === 'win32' ? 'POSIX permissions are required to inject a persistence failure' : false |
| platform-contract | packages/storage/src/__tests__/runtime-policy-stores.test.ts fails closed on final symlinks, FIFOs, and oversized documents without changing bytes | process.platform === 'win32' |
| portable-candidate | packages/storage/src/__tests__/settings-store-onboarding.test.ts preserves a restrictive umask-derived settings.json mode and leaves no temp file behind | process.platform === 'win32' |
| portable-candidate | packages/storage/src/__tests__/stable-storage.test.ts rejects a symlink instead of following it | process.platform === 'win32' ? 'POSIX no-follow semantics are required' : false |
| portable-candidate | packages/storage/src/__tests__/stable-storage.test.ts hardenDirectory creates a 0700 directory chain | process.platform === 'win32' |
| portable-candidate | packages/storage/src/__tests__/stable-storage.test.ts hardenDirectory re-chmods a pre-existing world-accessible directory to 0700 | process.platform === 'win32' |
| platform-contract | packages/storage/src/__tests__/usage-stores.test.ts classifies a renamed or replaced live root as a draining persistence failure | process.platform === 'win32' ? 'Windows does not permit renaming a directory with an open SQLite database' : false |
| platform-contract | packages/storage/src/__tests__/workspace-identity.test.ts an unmarked read-only workspace fails without leaving marker state | process.platform === 'win32' ? 'POSIX permissions are required to create a read-only workspace fixture' : false |
| portable-candidate | scripts/release-cli-eval-support.test.mjs preserves the primary process failure when diagnostics cannot be read | process.platform === 'win32' |