fix(windows): cmd fixture stdin, refusal classification, and remaining path-spelling fixes - #3034
Draft
devin-ai-integration[bot] wants to merge 3 commits into
Draft
devin-ai-integration[bot] wants to merge 3 commits into
devin-ai-integration[bot] wants to merge 3 commits into
Conversation
Contributor
Author
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
|
devin-ai-integration
Bot
force-pushed
the
devin/1791028948-windows-round2
branch
from
October 3, 2026 12:05
5064c9a to
5c6c3a5
Compare
Verified on Windows Server 2022 via a labeled delta rerun of all 95 previously-failing names: 89 green, 3 cfg(unix)-gated, 2 removed by master, 1 remaining red owned by #2946. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
devin-ai-integration
Bot
force-pushed
the
devin/1791028948-windows-round2
branch
from
October 3, 2026 12:08
5c6c3a5 to
3769f22
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.cmdsynthesis-provider fixture whoseset /pslurped multi-line stdin and brokeifparsing, an HTTP-refusal classification test that can never observe a refusal inside the 1s budget on Windows (kernel retries SYN ~2s), plus the remaining path-spelling, spool-opener, and canonical-identity fixes verified on this platform.#[cfg(unix)]-gated, 2 removed byfix/master-flakes-1003, 1 remaining red that belongs to the Lexical artifact restore trusts an unsettled ctime witness #2946 owner.Motivation
Windows CI/partition runs fail on tests that assume POSIX semantics:
cmd.exeline semantics in provider fixtures, loopback TCP refusal latency, verbatim\\?\vs plainC:\path identity, and unix-only hook-spool opener wiring. Each fix preserves the real Windows behavior contract rather than weakening assertions or stretching timeouts.Changes
crates/tracedecay/tests/daemon_suite/advanced_workflow_journey_test.rs—.cmdfixture now compares prefix substrings (%input:~0,5%/%input:~0,6%). Root cause: the provider runs with an empty environment (env_clear), and cmd'sset /preads to EOF on bare\n, so%input%held the wholesynthesize\n\n{json}payload andif /I "%input%"=="crash"abortedExited{255}.crates/tracedecay-cli/src/cloud.rs—a_refused_connection_is_network_unreachable: unix arm keeps the bound-non-listening instant refusal; windows arm accepts then RSTs (SO_LINGER=0) — the sameNetworkUnreachableclassifier reached deterministically insideFETCH_TIMEOUT(Windows refused-SYN retry is ~2s > 1s budget; measured).crates/tracedecay-cli/src/sessions_cmd/refresh/tests.rs— cli directory asserted viacanonical_existing_identity(plainC:\convention) instead ofcanonicalize(verbatim\\?\).crates/tracedecay/src/daemon/hook_v2_replay_consumer*+bootstrap.rs— portable (non-unix) spool opener wired throughschedule_portable_project_server_warmup;wake_for_appendacceptsModifyKind::Any.crates/tracedecay-code-index-runtime/src/code_index_scheduler/registry{,/test_gates}.rs— test-gate keys normalized throughcanonical_existing_identityso verbatim and plain root spellings hit the same gate.crates/tracedecay/src/doctor.rs— reset census gated on socket connectability, not the initialize deadline.crates/tracedecay-sessions(jsonl admission, codex meta/observation, kimi, pi, ingest scheduler) — path/digest identity fixes so tests assert the realstart_offset + read_throughand canonical-path contracts on Windows; unix-only instrumentation (e.g.SessionMetaParseGate) cfg-gated while cross-platform assertions stay ungated.Win32_System_ProcessStatus), transport/mcp suite fixtures.Test plan
5064c9a37e=c35dd4dc4b+ this diff): root-journeys 35/35, root-transport 30/30 (2 master-removed names), core-storage 13/13 (+3 unix-gated), runtime 8/9, root-lib 2/2, root-dashboard-api 1/1.tracedecay.exedaemon binary built before every spawn-path run (daemon-spawning tests usetarget/perf/tracedecay.exe, not the test binaries).cargo nextest run --workspace --no-fail-fastfull sweep not rerun end-to-end; delta covers every previously-failing test name.cargo clippyno new warnings (perf builds compile clean; only preexisting dead-code warnings on unix-only paths).code_index_scheduler::tests::reconcile::clean_filtered_checkout_verifies_current_and_still_disproves_a_rewrite— initialreconcile_now()returnsNoop{overflow_reconciled}on Windows; rewrite-witness contract tracked under Lexical artifact restore trusts an unsettled ctime witness #2946.Checklist
CHANGELOG.mdupdated.envfiles includedLink to Devin session: https://app.devin.ai/sessions/8d318b7acc064553be69e3ceb810f26f
Open in Devin Desktop: https://app.devin.ai/desktop/session/8d318b7acc064553be69e3ceb810f26f?variant=devin
Requested by: @ScriptedAlchemy
Recovery validation
Reconciled the registry import conflict against current master and made the Windows reset-listener worker stop and join after the HTTP classification test.
cargo check --workspace --all-targets --target x86_64-pc-windows-gnupasses on the recovered tree. Existing platform-specific warnings remain; this cross-compilation is not a new Windows runtime run.