Skip to content

Add outside-in partial-rip autorouting - #158

Draft
seveibar wants to merge 1 commit into
mainfrom
codex/outside-in-partial-rip
Draft

Add outside-in partial-rip autorouting#158
seveibar wants to merge 1 commit into
mainfrom
codex/outside-in-partial-rip

Conversation

@seveibar

Copy link
Copy Markdown
Contributor

Summary

  • preserve unaffected route prefixes and suffixes and reopen only a bounded window around hot segments
  • reconnect partial spans with alternating outside-in A* frontiers, a hard per-frontier travel limit, a bounded post-meeting search, and a safe one-sided fallback
  • restore the best complete routing snapshot and use a threshold-relative 12/24 mm quality-recovery window
  • expose solver options and routing statistics, integrate the behavior into SelectiveReripTinyHyperGraphSolver, and document the tuning trials

Why

The existing congestion loop discards whole traces during every rerip round. On the committed SRJ18 cases, ten full-graph rerips dominate runtime even though most of each route remains useful. Retaining those outside portions reduces the search to the conflicted middle span, while the two bounded frontiers search from the retained ends toward each other.

Benchmark

./benchmark.sh on all eight committed SRJ18 Pipeline7 cases:

Metric Before After Change
Total completion time 95.441 s 18.717 s 5.10x faster
Average iterations 1,335,770.1 270,910.0 79.7% fewer
Average max region cost 2.333 1.425 38.9% better
Completed routes 2,001/2,001 2,001/2,001 unchanged

Every individual case is within 20% of its original max-region cost or better. The full accepted/rejected trial history is in experiments/outside-in-partial-rip.md.

Validation

  • bun run typecheck
  • bun run build
  • 101 non-image-snapshot tests
  • git diff --check

Three existing image-snapshot files cannot load the optional Sharp Darwin ARM64 binary in this environment; they fail while importing the snapshot helper, before solver code executes.

@vercel

vercel Bot commented Aug 10, 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 10, 2026 1:36am

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 -> 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.

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.

2 participants