docs(demo): nest evidence scorer in demo profiles - #686
Merged
Merged
Conversation
This was referenced Sep 8, 2026
behinddwalls
marked this pull request as ready for review
September 8, 2026 01:09
behinddwalls
force-pushed
the
preetam/outcome-predictor-demo
branch
from
September 11, 2026 16:47
21834a0 to
624eb7d
Compare
behinddwalls
force-pushed
the
preetam/outcome-predictor-demo
branch
2 times, most recently
from
September 11, 2026 21:10
8b60d14 to
9cd7195
Compare
behinddwalls
force-pushed
the
preetam/outcome-predictor-demo
branch
2 times, most recently
from
September 14, 2026 19:38
3177410 to
52ce57b
Compare
behinddwalls
force-pushed
the
preetam/outcome-predictor-demo
branch
from
September 14, 2026 19:48
52ce57b to
6865b99
Compare
behinddwalls
force-pushed
the
preetam/outcome-predictor-demo
branch
from
September 14, 2026 19:50
6865b99 to
c1d904a
Compare
mnoah1
approved these changes
Sep 15, 2026
behinddwalls
force-pushed
the
preetam/outcome-predictor-demo
branch
from
September 15, 2026 19:26
c1d904a to
0b6bcfb
Compare
behinddwalls
added a commit
that referenced
this pull request
Sep 15, 2026
## Summary ### Why? The RFC now has one public ranking interface. Keeping a Predictor package after that would leave a second factory the rest of the stack still had to delete. ### What? Widen `Scorer.Score` with the path-set snapshot. Move evidence under `scorer/evidence` as a Scorer wrapping a base. Heuristic, composite, and fake implement the same signature and ignore `paths` (composite forwards them). Delete the Predictor package and its mocks. The evidence factor for the land-stage batch is `Landing` / YAML `landing`. ## Test Plan - ✅ `make mocks && make gazelle` - ✅ `./tool/bazel test //submitqueue/extension/speculation/scorer/... //submitqueue/extension/speculation/generator/bestfirst:go_default_test //submitqueue/extension/speculation/speculator/standard:go_default_test` ## Stack - #682 (merged) - #683 ⬅️ - #684 - #686
behinddwalls
force-pushed
the
preetam/outcome-predictor-demo
branch
from
September 15, 2026 19:43
0b6bcfb to
e2207ea
Compare
Write the outcome-predictor RFC example factors into every demo profiles.yaml so local runs show evidence revising ranking instead of silently staying at neutral 1.
Show type evidence wrapping a heuristic base with the RFC example factors, matching the ranking YAML the stack now wires.
Match the RFC and YAML key after BatchStateLanding.
behinddwalls
force-pushed
the
preetam/outcome-predictor-demo
branch
from
September 15, 2026 21:04
e2207ea to
2a3a7ee
Compare
behinddwalls
added a commit
to behinddwalls/submitqueue
that referenced
this pull request
Sep 25, 2026
## Summary ### Why? Ranking only needs one number per unresolved batch. A sibling Predictor factory duplicated the per-queue seam and made evidence look like a second public extension. The review asked for one ranking interface, framed as a logit-linear model. ### What? Scorer is the ranking extension: `Score(ctx, batch, paths)`. Evidence is the default impl wrapping a nested base (heuristic or composite). YAML is `type: evidence` plus `factors` plus `base`. The revision is `logit(p') = logit(p_base) + Σ w_i x_i` with configured weights (`w_i = log(factor_i)`), not a fitted GLM. The RFC file is `doc/rfc/submitqueue/outcome-scorer.md`. The evidence factor for the land-stage batch is `landing`, matching `BatchStateLanding`. ## Test Plan Docs-only change. ## Stack - uber#682 ⬅️ - uber#683 - uber#684 - uber#686
behinddwalls
added a commit
to behinddwalls/submitqueue
that referenced
this pull request
Sep 25, 2026
## Summary ### Why? bestfirst already ranks on one probability per dependency. Wiring a sibling Predictor would reintroduce the factory the RFC dropped. YAML also had to show evidence as the outer scorer, not factors hanging off heuristic. A factors map or nested base under heuristic/composite used to load and then be ignored, so a misplaced pathPassed looked configured while ranking stayed at 1. ### What? Pass the speculate path-set snapshot into `Generate` and into `Score`. Default `scorer.type` is `evidence` wrapping a nested `base`. Named `factors` overlay; a present `base` replaces wholesale. Top-level `type: heuristic` is rejected. Content scorers reject `factors` and a nested `base` the same way. Drop the `predictor:` profile key. `bestfirst` depends only on `scorer.Scorer`. The land-stage YAML key is `landing`. ## Test Plan - ✅ `./tool/bazel test //service/submitqueue/orchestrator/server:go_default_test //submitqueue/extension/speculation/generator/bestfirst:go_default_test //submitqueue/extension/speculation/speculator/standard:go_default_test` - ✅ `go test ./service/submitqueue/orchestrator/server/ -run TestLoadProfilesConfig_RejectsBadScorers` ## Stack - uber#684 ⬅️ - uber#686
This branch was successfully deployed
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Why?
Demo profiles still showed a sibling
predictor:block, which the wired YAML no longer accepts.What?
Use
defaults.scorerwithtype: evidence, the RFC example factors (landingfor the land-stage batch), and a nested heuristicbasein fake/git/github profiles and the quickstart.Test Plan
Docs and YAML only; config parse is covered on the wiring PR.
Stack