Skip to content

repro: disabled routing skips trace-name conflict validation - #3971

Closed
techmannih wants to merge 6 commits into
mainfrom
repro/4948-routing-disabled-diagnostics
Closed

techmannih wants to merge 6 commits into
mainfrom
repro/4948-routing-disabled-diagnostics

Conversation

@techmannih

@techmannih techmannih commented Sep 16, 2026 •

Copy link
Copy Markdown
Member

Reproduction

Disabling PCB routing also skips Group's trace-name validation. Two traces named signal connect separate resistor pairs and have different source connectivity keys. Normal routing reports the existing name-conflict diagnostic; platform routingDisabled, board routingDisabled, and a disabled legacy autorouter omit that diagnostic.

Each scenario has its own explicit test file and annotated PCB snapshot. The three disabled-case assertions capture the current missing diagnostic ([]); the routing-enabled control asserts its exact existing message. The fix in #3972 changes those three assertions to require the diagnostic. This repro layer changes tests only.

Coverage

  • Disconnected same-name traces: routing enabled, platform disabled, board disabled, and legacy autorouter disabled, each in a separate file.
  • Valid controls: mutually connected same-name traces and disconnected traces with unique names.
  • Separate router/cache tests: normal routing exercises both; platform preview renders components, ports, logical connections, and a ratsnest without accessing an unavailable routing cache or starting the local router.

Snapshot options are identical between the repro and fix layers. The trace-name fixtures use distinct resistor names, so no component is rejected as a duplicate. The legacy fixture also retains existing missing-copper diagnostics; the regression concerns the absent trace-name diagnostic.

Related to tscircuit/tscircuit#4948. Native stack: main → this repro → #3972.

Validation

  • Repro suite plus existing platform/board routing-disabled tests: 10 pass, 0 fail.
  • Temporarily requiring the intended diagnostic before the production fix: 3 fail, specifically the platform-disabled, board-disabled, and legacy-disabled cases; each received an empty diagnostic list.
  • tsc --noEmit and Biome checks pass.
  • PCB snapshots rendered and visually inspected.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@vercel

vercel Bot commented Sep 16, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
tscircuit-core-benchmarks Ready Ready Preview Sep 16, 2026 2:14pm UTC

Request Review

@techmannih techmannih changed the title repro: routingDisabled skips group duplicate-name diagnostics repro: disabled routing skips trace-name conflict validation Sep 16, 2026
@github-actions

Copy link
Copy Markdown

This PR has been automatically marked as stale because it has had no recent activity. It will be closed if no further activity occurs.

@github-actions

Copy link
Copy Markdown

This PR was closed because it has been inactive for 1 day since being marked as stale.

@github-actions github-actions Bot closed this Sep 25, 2026

This branch was successfully deployed

1 active deployment
Preview — a49f8490 Deployed Sep 16, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant