Skip to content

feat(dispatch): implement Phase 16 strategy benchmarking - #21

Merged
404khai merged 1 commit into
mainfrom
feat/dispatch-strategy-benchmarks
Oct 6, 2026
Merged

404khai merged 1 commit into
mainfrom
feat/dispatch-strategy-benchmarks

Conversation

@404khai

@404khai 404khai commented Oct 6, 2026

Copy link
Copy Markdown
Owner

Phase 16 replays the same graph, orders, rider fleet, readiness seed, and traffic inputs through four independent dispatch policies: nearest feasible rider, lowest pickup ETA, readiness-aware lowest completion time, and preparation-aware assignment. The new roadrunner benchmark dispatch <scenario.json> [--idle-penalty-weight <weight>] [--json] command reports observed delivery durations, pickup waiting and rider idle time, distance, lateness, utilization, and explicit unassigned/unfinished populations.

All strategies share eligibility, road feasibility, deterministic RiderId tie breaking, decision evidence, and atomic assignment. Completion-time ranking includes readiness with zero waiting penalty; existing basic retains its road-travel objective. Nearest ranking records its meter-valued distance separately from informational travel seconds.

The collector verifies exact paired replay and standalone equivalence, then records hardware, dataset/graph identities, configuration, compiler/binary hash, raw process timings and median/p95/p99. Two committed synthetic comparisons use eleven measured runs per policy. They demonstrate different proximity/ETA and preparation-penalty behavior without claiming universal strategy superiority or production scalability. Methodology and completion evidence are in docs/dispatch-strategy-benchmarks.md and docs/phase-16-completion.md.

Validation:

  • Formatting and strict workspace Clippy pass.
  • cargo +1.99.0 test --workspace --all-features --locked: 138 tests pass; doc tests pass.
  • Release CLI build and both replay-checking benchmark collections pass.
  • Local documentation links and git diff --check pass.

@404khai
404khai merged commit a5f9599 into main Oct 6, 2026
4 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.

1 participant