feat(api): add current_skill / learning_curve / log_evidence / predict_*
New public query methods on History: - current_skill(&K) -> Option<Gaussian>: latest posterior for a key - learning_curve(&K) -> Vec<(T, Gaussian)>: single-key history - learning_curves() -> HashMap<K, Vec<(T, Gaussian)>>: all-keys history - log_evidence() -> f64: total log-evidence (was log_evidence(false,&[])) - log_evidence_for(&[&K]) -> f64: subset log-evidence - predict_quality(&[&[&K]]) -> f64: draw-probability match quality - predict_outcome(&[&[&K]]) -> Vec<f64>: 2-team win probabilities learning_curves() changed from returning HashMap<Index, Vec<(i64, Gaussian)>> to HashMap<K, Vec<(T, Gaussian)>>. A new learning_curves_by_index() helper preserves the old Index-keyed shape for callers that ingest via the pub(crate) Index path. log_evidence(false, &[]) was renamed to log_evidence_internal and made pub(crate); the new zero-arg log_evidence() wraps it. predict_outcome is T2 2-team-only; N-team deferred to T4. KeyTable::get no longer requires ToOwned<Owned = K> (only needed for get_or_create), allowing query methods to use simpler bounds. Part of T2 of docs/superpowers/specs/2026-04-23-trueskill-engine-redesign-design.md. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -64,7 +64,7 @@ fn main() {
|
||||
("wilander", "w023", 32600),
|
||||
];
|
||||
|
||||
let curves = hist.learning_curves();
|
||||
let curves = hist.learning_curves_by_index();
|
||||
|
||||
let mut x_spec = (f64::MAX, f64::MIN);
|
||||
let mut y_spec = (f64::MAX, f64::MIN);
|
||||
|
||||
Reference in New Issue
Block a user