Skip to content

Add pre-queue port transition filter - #173

Open
ShiboSoftwareDev wants to merge 1 commit into
mainfrom
fix/route-transition-filter
Open

Add pre-queue port transition filter#173
ShiboSoftwareDev wants to merge 1 commit into
mainfrom
fix/route-transition-filter

Conversation

@ShiboSoftwareDev

@ShiboSoftwareDev ShiboSoftwareDev commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add a protected symmetric port-transition predicate to the core solver
  • reject disallowed transitions before cost calculation and candidate queue insertion
  • apply the predicate to normal, outside-in, joined-frontier, and selective relaxed searches
  • add a focused regression proving a rejected neighbor is neither costed nor queued

Why

Consumers can have route-specific hard constraints, such as allowed copper layers. Encoding a forbidden transition as a very large or infinite cost still constructs and evaluates that transition. This hook prevents the solver from exploring it before cost calculation or queue insertion.

Validation

  • 14 focused tests pass across the new regression and existing distance-aware, outside-in, and selective-rerip suites
  • formatting checks pass for all changed files
  • git diff --check passes

@vercel

vercel Bot commented Aug 27, 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 27, 2026 7:58pm

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.

@ShiboSoftwareDev
ShiboSoftwareDev force-pushed the fix/route-transition-filter branch from 979ec9a to 7483820 Compare August 27, 2026 19:57
@ShiboSoftwareDev
ShiboSoftwareDev changed the base branch from agent/bugreport87-portpoint-repro to main August 27, 2026 19:57
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