Skip to content

feat!(core): allocate worker pools per request entitlement - #393

Open
louise-poole wants to merge 1 commit into
mainfrom
lp/worker-pool-allocation
Open

feat!(core): allocate worker pools per request entitlement#393
louise-poole wants to merge 1 commit into
mainfrom
lp/worker-pool-allocation

Conversation

@louise-poole

Copy link
Copy Markdown
Collaborator

The router now picks which worker pools serve an order before dispatching it, instead of fanning out to all of them and filtering the results. An unentitled request is never enqueued to the exclusive-access pool — no CPU spent there, no waiting on it.

Entitlement comes from the x-exclusive-access header, set by the authenticating proxy. Only meaningful while Fynd is unreachable except through that proxy. A denied request isn't an error — it gets the public quote. Nothing changes on the wire.

Startup now rejects a config where every worker pool is liquidity_scope = "all".

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown

Breaking API Changes Detected

This PR introduces breaking API changes, but the PR title does not declare them.
Either fix the breaking changes, or declare them:

  • Append ! to the PR title type (e.g. feat!: ...) and make sure a !-marked commit
    lands on main — release-plz bumps the minor version for breaking changes on 0.x.x.
semver-checks output
Checking fynd-core v0.97.13 -> v0.97.13 (no change; assume minor)
     Checked [   0.735s] 196 checks: 195 pass, 1 fail, 0 warn, 49 skip

--- failure method_parameter_count_changed: pub method parameter count changed ---

Description:
A publicly-visible method now takes a different number of parameters, not counting the receiver (self) parameter.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#fn-change-arity
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/method_parameter_count_changed.ron

Failed in:
  fynd_core::worker_pool_router::WorkerPoolRouter::quote now takes 2 parameters instead of 1, in fynd-core/src/worker_pool_router/mod.rs:219
  fynd_core::WorkerPoolRouter::quote now takes 2 parameters instead of 1, in fynd-core/src/worker_pool_router/mod.rs:219

     Summary semver requires new major version: 1 major and 0 minor checks failed
    Finished [   1.043s] fynd-core
    Checking fynd-test-fixtures v0.97.13 -> v0.97.13 (no change; assume minor)
     Checked [   0.082s] 196 checks: 196 pass, 49 skip
     Summary no semver update required
    Finished [   0.136s] fynd-test-fixtures
    Checking fynd-rpc v0.97.13 -> v0.97.13 (no change; assume minor)
     Checked [   0.074s] 196 checks: 196 pass, 49 skip
     Summary no semver update required
    Finished [   0.135s] fynd-rpc
    Checking fynd-rpc-types v0.97.13 -> v0.97.13 (no change; assume minor)
     Checked [   0.134s] 196 checks: 196 pass, 49 skip
     Summary no semver update required
    Finished [   0.220s] fynd-rpc-types
    Checking fynd-client v0.97.13 -> v0.97.13 (no change; assume minor)
     Checked [   0.157s] 196 checks: 196 pass, 49 skip
     Summary no semver update required
    Finished [   0.290s] fynd-client
    Checking fynd-tools-common v0.97.13 -> v0.97.13 (no change; assume minor)
     Checked [   0.068s] 196 checks: 196 pass, 49 skip
     Summary no semver update required
    Finished [   0.115s] fynd-tools-common
    Checking erc20-overrides v0.97.13 -> v0.97.13 (no change; assume minor)
     Checked [   0.072s] 196 checks: 196 pass, 49 skip
     Summary no semver update required
    Finished [   0.108s] erc20-overrides

@louise-poole louise-poole changed the title feat(core): allocate worker pools per request entitlement feat!(core): allocate worker pools per request entitlement Aug 3, 2026
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