Skip to content

feat(speculation): standard composed speculator - #451

Open
behinddwalls wants to merge 1 commit into
preetam/speculation-allocatorfrom
preetam/speculation-standard
Open

feat(speculation): standard composed speculator#451
behinddwalls wants to merge 1 commit into
preetam/speculation-allocatorfrom
preetam/speculation-standard

Conversation

@behinddwalls

@behinddwalls behinddwalls commented Jul 28, 2026

Copy link
Copy Markdown
Collaborator

Add submitqueue/extension/speculation/speculator/standard, the standard Speculator. It funds the queue's most promising speculation paths first until the build budget is spent: candidates are considered in descending likelihood, in-flight paths stay funded rather than restarting, finished paths are never re-proposed, and everything below the budget cut waits for a later run. Where the ranking and the budget policy come from is swappable — the Generator ranks, the Allocator spends — so pairing bestfirst with sticky yields the default speculation policy, and changing either behavior means swapping a part, not writing a new Speculator.

standard adds no cancellation handling of its own and inherits it from the two parts; a test pins that a cancelled run yields the context error and no actions.

standard's behavior is documented next to the code in standard/README.md; the speculator README keeps only the extension contract.

Stack

  1. refactor(entity)!: speculation paths carry assumptions, not bets #473
  2. feat(speculation): generator contract and bestfirst impl #446
  3. feat(speculation): allocator contract and sticky impl #450
  4. @ feat(speculation): standard composed speculator #451

Comment thread submitqueue/extension/speculation/speculator/README.md Outdated
@behinddwalls
behinddwalls force-pushed the preetam/speculation-standard branch from 19ee301 to 8dcd084 Compare July 29, 2026 18:12
@behinddwalls
behinddwalls force-pushed the preetam/speculation-standard branch 2 times, most recently from e8a2e32 to 2d2d88b Compare July 29, 2026 22:31
@behinddwalls
behinddwalls force-pushed the preetam/speculation-standard branch from 2d2d88b to 75716e5 Compare July 29, 2026 22:41
@behinddwalls
behinddwalls force-pushed the preetam/speculation-standard branch from 75716e5 to 3ab1bc3 Compare July 29, 2026 23:08
@behinddwalls
behinddwalls force-pushed the preetam/speculation-standard branch from 3ab1bc3 to 63e838f Compare July 29, 2026 23:18
@behinddwalls
behinddwalls force-pushed the preetam/speculation-standard branch from 63e838f to 3ea3843 Compare July 29, 2026 23:18
@behinddwalls
behinddwalls force-pushed the preetam/speculation-standard branch from 3ea3843 to a6cdd82 Compare July 30, 2026 01:19
Add submitqueue/extension/speculation/speculator/standard, the standard Speculator. It funds the queue's most promising speculation paths first until the build budget is spent: candidates are considered in descending likelihood, in-flight paths stay funded rather than restarting, finished paths are never re-proposed, and everything below the budget cut waits for a later run. Where the ranking and the budget policy come from is swappable — the Generator ranks, the Allocator spends — so pairing bestfirst with sticky yields the default speculation policy, and changing either behavior means swapping a part, not writing a new Speculator.

standard adds no cancellation handling of its own and inherits it from the two parts; a test pins that a cancelled run yields the context error and no actions.

standard's behavior is documented next to the code in standard/README.md; the speculator README keeps only the extension contract.
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