Skip to content

Prevent selective rerip route starvation#127

Merged
ShiboSoftwareDev merged 1 commit into
mainfrom
agent/prevent-selective-rerip-starvation
Jul 14, 2026
Merged

Prevent selective rerip route starvation#127
ShiboSoftwareDev merged 1 commit into
mainfrom
agent/prevent-selective-rerip-starvation

Conversation

@ShiboSoftwareDev

@ShiboSoftwareDev ShiboSoftwareDev commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

sample 14 now solves:
image

Summary

  • preserve already-pending route order after a selective rerip
  • enqueue newly ripped blocker routes after routes that were already waiting
  • add a focused test for failed, pending, and ripped route ordering

Root cause

Selective rerip previously placed every newly ripped blocker at the front of the queue, immediately after the failed route. Repeated rerips could therefore keep recycling the same blocker group ahead of untouched routes. In dataset-srj18 sample 14, seven pending routes were never attempted before the solver reached its 2,000,000-iteration limit.

The new order is the failed route, previously pending routes, then newly ripped blocker routes. This keeps the failed route retry behavior while preventing repeated rerips from starving the existing queue.

Impact

Pipeline 7 dataset-srj18 sample 14 now completes at 1x effort instead of failing in SelectiveReripTinyHyperGraphSolver. The change only affects route scheduling after a selective rerip; it does not add a fallback or relax solver acceptance.

Sample 14 still has relaxed DRC violations, which are outside the iteration-exhaustion issue addressed here.

Validation

  • Pipeline 7 dataset-srj18 sample 14 at 1x effort: completed in 184.0s with 352 vias; relaxed DRC failed with 318 violations
  • Pipeline 7 dataset-srj18 sample 1 at 1x effort: patched and original dependency A/B runs both completed with 195 vias and the same two relaxed DRC violations
  • Pipeline 7 dataset-srj18 sample 5 at 1x effort: completed with 169 vias and passed relaxed DRC
  • tscircuit-autorouter: tsc -p tsconfig.json --noEmit passed with the patched dependency
  • queue-order runtime assertion passed in the autorouter dependency environment

The standalone tiny-hypergraph focused test and typecheck could not run in this clone because its development dependencies were unavailable after the attempted no-save install.

@vercel

vercel Bot commented Jul 14, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
tiny-hypergraph Ready Ready Preview, Comment Jul 14, 2026 10:17am

Request Review

@tscircuitbot

Copy link
Copy Markdown

Benchmark This PR

Run benchmarks by commenting on this PR:

/benchmark [benchmark.sh args...]
/benchmark --dataset <hg07|srj18> --limit <n> --solver <core|poly> --families <default|default+deep|all> --concurrency <n|auto>

Everything after /benchmark is forwarded directly to ./benchmark.sh.
The result comment shows the matching dataset from the latest stored main-branch benchmark artifact beside the PR run; main is not rerun for each PR benchmark request.

Examples:

  • /benchmark -> hg07, all samples, core solver
  • /benchmark --dataset srj18 --limit 20 -> first 20 srj18 samples
  • /benchmark --dataset srj18 --concurrency auto -> srj18 samples with runner CPU-count concurrency
  • /benchmark --sample sample002 -> one hg07 sample
  • /benchmark --limit 20 --solver poly -> first 20 hg07 samples with the poly solver
  • /benchmark --limit 40 --families default+deep -> first 40 hg07 samples with deeper candidate families

Any PR whose title contains [BENCHMARK TEST] will automatically run the benchmark workflow on PR updates.

@ShiboSoftwareDev ShiboSoftwareDev merged commit 8a34265 into main Jul 14, 2026
9 checks passed
@tscircuitbot

Copy link
Copy Markdown

Thank you for your contribution! 🎉

PR Rating: ⭐⭐⭐
Impact: Major

Track your contributions and see the leaderboard at: tscircuit Contribution Tracker


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.

3 participants