You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Replaces Pipeline9's ordinary high-density stage with an immutable-first B01 adapter.
Loads pre-routed copper into B01 as layer-aware route obstacles.
When B01 fails, clips every pre-routed segment that enters that capacity region, makes those segments ordinary port pairs, and solves the combined region with the existing regular high-density portfolio.
Splices only the regional replacements back into the original pre-routed traces, preserving PCB trace ids and copper outside the failed region.
Treats an output trace with an existing pcb_trace_id as an intentional replacement during joint DRC.
Lets same-net via simplification reuse an immutable pre-routed via without mutating or re-emitting that via.
Keeps newly routed PCB trace ids distinct from preloaded ids.
Why
B01 should get the first opportunity to route around immutable pre-routed copper. Some valid SRJ23 regions still defeat B01 today, so Pipeline9 needs an explicit last-resort strategy that reroutes all copper inside only the failed region instead of failing the whole pipeline or silently ignoring preloaded-route intersections.
Validation
bunx tsc --noEmit
12 focused tests across Pipeline9 fallback, joint DRC replacement semantics, immutable-route simplification, and same-net via reuse
SRJ23 representative visual snapshots (1, 10, 23): pass; pre-routed traces are included
Full bun test was sampled through the long bugreport suite; change-specific tests remained green, while unrelated pre-existing 5-second timeouts and bugreport SVG mismatches occurred
Stack
This draft targets agent/joint-drc / #1807 because replacement semantics require DRC to evaluate preloaded and routed copper jointly. Retarget to main after #1807 merges.
The exact B01 failure input is isolated separately in high-density-b01#6.
Comment /benchmark to run the default dataset, or append any arguments accepted by ./benchmark.sh.
Comment /benchmark-long for an 8-vCPU run that defaults to 8 workers and has an eight-hour timeout.
Comment exactly /benchmark-all to start separate workflow runs and result comments for the default dataset plus srj18, srj19, srj20, srj21, and srj23.
Everything after /benchmark or /benchmark-long is safely forwarded to ./benchmark.sh, except --profile-solvers, which enables profile comparison tables.
Examples: /benchmark --dataset 18 --sample-timeout 2000s, /benchmark --pipeline 7 --scenario-limit 20, /benchmark all 20 --concurrency 8, and /benchmark-long --dataset 18.
Use /update-snapshots (or /us) to run BUN_UPDATE_SNAPSHOTS=1 bun test --timeout 120_000 on the PR branch and auto-commit snapshot updates.
Use /usf to read recent failed test files, update and verify their exact CI test shards, and auto-commit only their snapshots. It uses the configured fast benchmark runner by default; use /usf --ubuntu-latest for GitHub-hosted x64 CI parity.
Any PR whose title contains [BENCHMARK TEST] will automatically run one default-dataset benchmark on PR updates; it does not post a PR result comment.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
pcb_trace_idas an intentional replacement during joint DRC.Why
B01 should get the first opportunity to route around immutable pre-routed copper. Some valid SRJ23 regions still defeat B01 today, so Pipeline9 needs an explicit last-resort strategy that reroutes all copper inside only the failed region instead of failing the whole pipeline or silently ignoring preloaded-route intersections.
Validation
bunx tsc --noEmitbun testwas sampled through the long bugreport suite; change-specific tests remained green, while unrelated pre-existing 5-second timeouts and bugreport SVG mismatches occurredStack
This draft targets
agent/joint-drc/ #1807 because replacement semantics require DRC to evaluate preloaded and routed copper jointly. Retarget tomainafter #1807 merges.The exact B01 failure input is isolated separately in high-density-b01#6.