Skip to content

fix: let A01 finish while routing progresses - #88

Open
ShiboSoftwareDev wants to merge 1 commit into
agent/srj24-sample1-a01-reprofrom
agent/srj24-sample1-a01-fix
Open

fix: let A01 finish while routing progresses#88
ShiboSoftwareDev wants to merge 1 commit into
agent/srj24-sample1-a01-reprofrom
agent/srj24-sample1-a01-fix

Conversation

@ShiboSoftwareDev

Copy link
Copy Markdown
Contributor

Stacked on #87, which adds the unchanged srj24 sample 1 reproduction.

Problem

A01 was making progress, but four generic bookkeeping errors prevented this dense region from completing:

  1. The point-to-cell conversion was not the inverse of the cell-to-point conversion, so some terminals were assigned to the neighboring grid cell.
  2. A ripped trace increased congestion cost on every PCB layer instead of only the layer occupied by that trace.
  3. Two branches of the same net that meet at one terminal were not recognized as allowed to share that terminal.
  4. The initial iteration estimate stopped the solver while its completed-route count was still increasing.

Fix

  • use the grid's exact affine spacing in both conversion directions
  • keep trace congestion penalties per layer; via penalties remain shared across layers
  • reuse the existing same-net overlap behavior when branches share an endpoint
  • extend the deadline when A01 reaches a new completed-route high-water mark; stop after two search budgets without progress, with the existing 12,000,000-iteration hard cap

There are no dataset-specific IDs, topology exceptions, or sample-specific parameter values.

Result

The exact same fixture and snapshot test from #87 changes naturally from failed: 31/46 to solved: 46/46, 0 geometry violations.

Before — #87 After — this PR
A01 stops after 31 of 46 routes A01 completes all 46 routes

Each panel is the same physical region on one PCB layer. Colored dots are terminals, colored paths are traces on that layer, and gray circles are through-vias.

Verification

  • exact reproduction: 46/46 routes, 0 geometry violations
  • full repository suite: 59 passed, 2 skipped, 0 failed
  • format check and diff check pass

The end-to-end srj24 benchmark belongs in the consuming tscircuit-autorouter PR after this package fix is released; it will be run in GitHub Actions rather than as a local full-dataset benchmark.

@vercel

vercel Bot commented Aug 9, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
high-density-a01 Ready Ready Preview Aug 9, 2026 4:44pm

Request Review

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