Skip to content

Decouple partial-rip cap from threshold ramp - #160

Merged
seveibar merged 1 commit into
mainfrom
agent/lower-region-cost-partial-rip
Aug 10, 2026
Merged

Decouple partial-rip cap from threshold ramp#160
seveibar merged 1 commit into
mainfrom
agent/lower-region-cost-partial-rip

Conversation

@seveibar

Copy link
Copy Markdown
Contributor

What changed

  • keep RIP_THRESHOLD_RAMP_ATTEMPTS as the denominator for the congestion-threshold ramp
  • use PARTIAL_RIP_MAX_ATTEMPTS only to cap how many completed rerip rounds run
  • add a regression test covering a shorter partial-rip cap than the configured ramp

Why

The partial-rip attempt cap previously compressed the threshold ramp whenever it was lower than RIP_THRESHOLD_RAMP_ATTEMPTS. That coupled a runtime budget to routing policy: reducing the number of rounds changed which regions were ripped and could change the selected topology.

Keeping the ramp schedule independent lets integrations stop once their observed candidate frontier has converged without perturbing earlier candidates or their region costs.

Validation

  • bun test tests/outside-in-partial-rip-tiny-hypergraph-solver.test.ts — 10 passed
  • bun run typecheck — passed
  • git diff --check — passed
  • full bun test — 108 passed; 3 visualization suites could not load the local sharp-darwin-arm64v8 native module (unchanged environment issue)
  • tscircuit-autorouter SRJ18 matched five-case canary with the integration cap reduced from 10 to 7: 408.1s → 378.0s (-7.4%), unchanged 80% relaxed-DRC pass rate and identical average via count

@vercel

vercel Bot commented Aug 10, 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 10, 2026 9: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.
The result comment shows the matching dataset from the latest stored main-branch benchmark artifact beside the PR run; main is not rerun for each PR benchmark request.

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.

@seveibar
seveibar marked this pull request as ready for review August 10, 2026 22:51
@seveibar
seveibar merged commit 99c7aeb into main Aug 10, 2026
7 checks passed
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