Skip to content

fix: merge entire strong networks when a late connection joins them - #252

Open
ugin-man wants to merge 1 commit into
tscircuit:mainfrom
ugin-man:codex/fix-transitive-strong-networks
Open

ugin-man wants to merge 1 commit into
tscircuit:mainfrom
ugin-man:codex/fix-transitive-strong-networks

Conversation

@ugin-man

@ugin-man ugin-man commented Sep 7, 2026

Copy link
Copy Markdown

With strong edges A–B, C–D, then B–C, createFilteredNetworkMapping reassigns only B and C when joining the existing networks. D remains in the old network, so pins in the same connected component receive different packing network IDs. The result depends on edge insertion order.

Track network aliases while processing strong edges and resolve every pin to its final representative afterward. Alias resolution is iterative with path compression. This preserves filtering of weak connections and keeps disconnected strong components separate.

Three regression tests fail on the unchanged base and pass with the fix. They cover a late bridge, all six insertion orders for a three-edge chain, and multiple transitive merges alongside a disconnected group, a disabled edge, and weak connections.

Validation: full bun test passes 112 tests with 1 existing skip (1057 assertions, 2 snapshots). tsc --noEmit, ESM/DTS build, changed-file Biome formatting, and diff whitespace checks pass. No dependencies or existing snapshots changed.

Prepared with Codex (Astra) assistance and verified locally.

@vercel

vercel Bot commented Sep 7, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated
matchpack Ready Ready Preview Sep 7, 2026 10:48pm UTC

Request Review

This branch was successfully deployed

1 active deployment
Preview e395c32d Deployed Sep 7, 2026 by vercel[bot]
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