Skip to content

Add bugreport87 selective rerip timeout repro - #167

Open
0hmX wants to merge 3 commits into
mainfrom
agent/bugreport87-portpoint-repro
Open

Add bugreport87 selective rerip timeout repro#167
0hmX wants to merge 3 commits into
mainfrom
agent/bugreport87-portpoint-repro

Conversation

@0hmX

@0hmX 0hmX commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

What

  • Capture the exact serialized tiny-hypergraph input produced by the bugreport87 autorouter case.
  • Add a single SVG snapshot test around the selective-rerip solver.
  • Keep the reproduction free of solver changes and additional assertions.
  • Give this large synchronous repro a 120-second test budget so a corrected solver can complete on slower runners.

Why

One otherwise valid cramped port changes route 32's chosen path. Later routes rotate blocker owners, and the selective-rerip solver never recognizes the resulting dependency cycle.

On current main, the captured graph remained unsolved after 240,000 iterations and 44 selective rips (about 49 seconds) and continued cycling; a longer local run exceeded 153 seconds.

Scope

This PR intentionally exposes the timeout/stall and does not fix it. The source-only fix is stacked in #168.

CI evidence

The Bun Test workflow for this repro was cancelled after 5m15s with: The job has exceeded the maximum execution time of 5m0s.

That is the intended result for this isolation PR. The same full Linux suite passes on #168.

Validation

  • Fixture loads as the exact effective hypergraph passed to tiny-hypergraph.
  • Test contains one SVG snapshot expectation and no solver-status assertions.
  • Snapshot was generated from the corrected completed route and visually inspected.
  • Format and type checks pass.

@vercel

vercel Bot commented Aug 13, 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 Aug 21, 2026 5:01pm

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.
Every command runs current main and the PR head sequentially on the same Blacksmith machine, then reports their results side by side.

Examples:

  • /benchmark -> all committed completed SRJ18 Pipeline7 cases, core solver
  • /benchmark --limit 4 -> first four committed Pipeline7 cases
  • /benchmark --dataset srj18 --concurrency auto -> srj18 samples with runner CPU-count concurrency
  • /benchmark --sample sample003 -> one committed SRJ18 Pipeline7 case
  • /benchmark --dataset hg07 --limit 20 --solver poly -> first 20 hg07 samples with the poly solver
  • /benchmark --dataset hg07 --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.

* Add trace-density region cost option

* Fix repeated selective rerip cycles

* Prefer preserving caller-owned routes during rerip

* Fix preferred-only quality rerips

---------

Co-authored-by: ankan roy <ankan@ankans-MacBook-Air.local>
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