bench,docs: capture T2 final numbers and update CHANGELOG
Batch::iteration: 21.36 µs (T1 was 22.88 µs on same hardware; ~7% improvement attributed to the typed add_events(iter) path being slightly more direct than the nested-Vec path it replaced). Gaussian operations unchanged vs T1. Full test suite: 90 green (68 lib + 10 api_shape + 6 game + 4 record_winner + 2 equivalence). No golden value changed across the entire T2 tier. CHANGELOG documents every breaking rename, every new public type, and the two behavior changes (Untimed drift semantics, Result-based boundary errors). Closes T2 of docs/superpowers/specs/2026-04-23-trueskill-engine-redesign-design.md. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -65,3 +65,36 @@ Gaussian::pi_tau_combined 234.xx ps (unchanged)
|
||||
# - Gaussian operations unchanged vs T0.
|
||||
# - All 53 tests pass. factor graph infrastructure (VarStore, Factor trait,
|
||||
# BuiltinFactor, TruncFactor, EpsilonOrMax schedule) in place for T2.
|
||||
|
||||
# After T2 (2026-04-24, same hardware)
|
||||
|
||||
Batch::iteration 21.36 µs (1.07× vs T1 22.88 µs — 7% improvement)
|
||||
Gaussian::add 218.97 ps (unchanged)
|
||||
Gaussian::sub 218.58 ps (unchanged)
|
||||
Gaussian::mul 218.59 ps (unchanged)
|
||||
Gaussian::div 218.57 ps (unchanged)
|
||||
Gaussian::pi 264.20 ps (unchanged)
|
||||
Gaussian::tau 260.80 ps (unchanged)
|
||||
|
||||
# Notes:
|
||||
# - API-only tier; hot inference path unchanged. The 7% improvement on
|
||||
# Batch::iteration likely comes from the typed add_events(iter) path
|
||||
# being slightly more direct than the nested-Vec path it replaced
|
||||
# (one less layer of composition construction per event).
|
||||
# - Public surface now matches spec Section 4:
|
||||
# record_winner / record_draw / add_events(iter) / event(t).team().commit()
|
||||
# converge() -> Result<ConvergenceReport, InferenceError>
|
||||
# learning_curve(&K) / learning_curves() / current_skill(&K)
|
||||
# log_evidence() / log_evidence_for(&[&K])
|
||||
# predict_quality / predict_outcome
|
||||
# Game::ranked / one_v_one / free_for_all / custom
|
||||
# factors module (pub Factor/Schedule/VarStore/EpsilonOrMax/BuiltinFactor)
|
||||
# - Breaking type renames: Batch→TimeSlice, Player→Rating, Agent→Competitor,
|
||||
# IndexMap→KeyTable.
|
||||
# - Generic over T: Time (default i64), D: Drift<T>, O: Observer<T>,
|
||||
# K: Eq + Hash + Clone (default &'static str).
|
||||
# - Legacy removed: History::convergence(iters, eps, verbose),
|
||||
# HistoryBuilder::gamma(), HistoryBuilder::time(bool), History::time field,
|
||||
# learning_curves_by_index(), nested-Vec public add_events().
|
||||
# - 90 tests green: 68 lib + 10 api_shape + 6 game + 4 record_winner +
|
||||
# 2 equivalence.
|
||||
|
||||
Reference in New Issue
Block a user