Skip to content

[codex] Harden Windows CI timing paths#124

Merged
ScriptedAlchemy merged 2 commits into
masterfrom
codex/relax-cursor-precompact-ingest
Jun 25, 2026
Merged

[codex] Harden Windows CI timing paths#124
ScriptedAlchemy merged 2 commits into
masterfrom
codex/relax-cursor-precompact-ingest

Conversation

@ScriptedAlchemy

@ScriptedAlchemy ScriptedAlchemy commented Jun 24, 2026

Copy link
Copy Markdown
Owner

Summary

  • raise Cursor preCompact transcript-ingest budget from 20s to 30s while lowering the auxiliary summary cap so the full preCompact path stays inside the outer hook budget
  • seed the dashboard daily-limit regression fixture before starting the dashboard server, avoiding concurrent Windows libsql opens during setup
  • replace Windows target-modulo sharding with a shared nextest archive build plus 16 per-test archive partitions
  • run archive shards from extracted nextest metadata with target-dir remapping so tests that spawn tracedecay resolve the archived binary
  • cap Windows shard nextest concurrency at 2 test threads and serialize cli_non_interactive_test with other Windows global-state tests

Verification

  • cargo fmt --check
  • cargo test cursor_pre_compact_uses_cursor_agent_summary_for_lcm --test cursor_transcript_ingest_test
  • cargo test daily_model_series_limits_days_not_model_rows --test dashboard_savings_api_test
  • git diff --check
  • cargo nextest run --help | rg -n -- "--partition|hash:1/2|--tests|--bin "
  • cargo nextest show-config test-groups --profile ci
  • cargo nextest run -p tracedecay --profile ci --lib --bin tracedecay --tests --partition hash:15/16 --test-threads 2 init_skips_gitignore_prompt_when_stdin_not_a_terminal
  • cargo nextest archive -p tracedecay --profile ci --lib --bin tracedecay --tests --archive-file /tmp/tracedecay-nextest-archive.tar.zst
  • cargo nextest run --cargo-metadata /tmp/nextest-remap/target/nextest/cargo-metadata.json --binaries-metadata /tmp/nextest-remap/target/nextest/binaries-metadata.json --workspace-remap /home/zack/projects/tokensave/.worktrees/release-ci-windows-catchup --target-dir-remap /tmp/nextest-remap/target --profile ci --partition hash:15/16 --test-threads 2 init_skips_gitignore_prompt_when_stdin_not_a_terminal

CI context

  • follow-up to [codex] Relax startup catch-up waits for Windows CI #123 after Windows 8/8 reported cursor_pre_compact_uses_cursor_agent_summary_for_lcm failing at 21.5s with transcript ingest did not complete
  • hardens the dashboard savings regression that failed on [codex] Harden Windows CI timing paths #124 Windows 7/8 while opening the accounting DB after the dashboard server was already running
  • addresses the 27-minute Windows 6/8 retry by partitioning individual tests instead of assigning all of mcp_handler_test to one runner
  • avoids recompiling the whole test suite on every Windows shard by uploading a one-day GitHub Actions artifact for the exact CI run
  • addresses archive-mode subprocess failures by extracting once per shard and remapping target paths into the extracted archive
  • addresses the follow-up Windows 15/16 timeout by reducing per-runner test pressure around subprocess/indexing tests

@changeset-bot

changeset-bot Bot commented Jun 24, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 7e69114

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c986b7d8d9

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/hooks.rs
@ScriptedAlchemy ScriptedAlchemy force-pushed the codex/relax-cursor-precompact-ingest branch from c986b7d to 52ad6fb Compare June 24, 2026 21:05
@ScriptedAlchemy ScriptedAlchemy changed the title [codex] Relax Cursor preCompact ingest budget [codex] Harden Windows CI timing paths Jun 24, 2026
@ScriptedAlchemy ScriptedAlchemy force-pushed the codex/relax-cursor-precompact-ingest branch 2 times, most recently from a422451 to baa4007 Compare June 24, 2026 22:11
@ScriptedAlchemy ScriptedAlchemy force-pushed the codex/relax-cursor-precompact-ingest branch from baa4007 to b196f41 Compare June 24, 2026 22:28
@ScriptedAlchemy

Copy link
Copy Markdown
Owner Author

Valid concern — at 30s ingest + 85s summary the two serial phases hit the 115s outer wall with zero slack for LCM prepare/persist + overhead (and only 5s to the 120s hook kill). Fixed in a703a5d by lowering CURSOR_PRE_COMPACT_SUMMARY_BUDGET from 85s to 75s: 30s + 75s = 105s restores the ~10s slack the previous 20s+85s config had, keeps the new 30s ingest headroom this PR needs (the Windows transcript ingest did not complete at 21.5s), and the summary cap stays well under the 120s registered hook timeout so TraceDecay still reaps the child rather than Cursor killing the hook. Build + cursor_pre_compact_uses_cursor_agent_summary_for_lcm test pass.

@ScriptedAlchemy ScriptedAlchemy force-pushed the codex/relax-cursor-precompact-ingest branch 3 times, most recently from 0caf515 to e699db0 Compare June 24, 2026 23:35
@ScriptedAlchemy ScriptedAlchemy force-pushed the codex/relax-cursor-precompact-ingest branch from e699db0 to 7e69114 Compare June 25, 2026 00:01
@ScriptedAlchemy ScriptedAlchemy merged commit 84dd89e into master Jun 25, 2026
25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant