logaritmisk
  • Joined on 2023-10-06
logaritmisk pushed to main at logaritmisk/trueskill-tt 2026-09-10 05:50:52 +00:00
2cba3d10f6 chore: Release trueskill-tt version 0.9.0
logaritmisk pushed tag v0.9.0 to logaritmisk/trueskill-tt 2026-09-10 05:50:52 +00:00
logaritmisk pushed to main at logaritmisk/trueskill-tt 2026-09-10 05:47:25 +00:00
5d9501307e Merge chore/release-0.9.0: migration guide and changelog cleanup
327324c411 docs: add a migration guide for 0.9.0, and drop merge noise from the changelog
Compare 2 commits »
logaritmisk commented on issue logaritmisk/trueskill-tt#74 2026-09-10 05:31:50 +00:00
InferenceError: stringly-typed discriminators, and #[non_exhaustive] on the enum buys nothing while the variants lack it

Items 2 and 3 are done, so this closes. 061c481 (merged as 61da3ac).

Four enums replace the thirty-odd magic strings, close to what you sketched:

Parameter        // 13 variants,…
logaritmisk closed issue logaritmisk/trueskill-tt#74 2026-09-10 05:31:35 +00:00
InferenceError: stringly-typed discriminators, and #[non_exhaustive] on the enum buys nothing while the variants lack it
logaritmisk pushed to main at logaritmisk/trueskill-tt 2026-09-10 05:31:35 +00:00
61da3aca33 Merge api/typed-errors (#74)
061c481aad refactor!: typed discriminators for InferenceError
Compare 2 commits »
logaritmisk commented on issue logaritmisk/trueskill-tt#53 2026-09-10 05:17:31 +00:00
Declarative competitor configuration: HistoryBuilder::default_rating_for

Done — c4194b0 (merged as 0b99973). Shape (1), the generic parameter, with two deviations that implementing it forced.

History::builder()
    .default_rating_for(
logaritmisk closed issue logaritmisk/trueskill-tt#53 2026-09-10 05:17:18 +00:00
Declarative competitor configuration: HistoryBuilder::default_rating_for
logaritmisk pushed to main at logaritmisk/trueskill-tt 2026-09-10 05:17:18 +00:00
0b9997354d Merge feat/rating-rule (#53)
c4194b0051 feat: HistoryBuilder::default_rating_for, a rule instead of a roll call
Compare 2 commits »
logaritmisk commented on issue logaritmisk/trueskill-tt#52 2026-09-10 05:08:38 +00:00
The joint precision matrix is 0.19% dense and we factorise it densely

Done — 695bb82 (merged as 1629176). 745 ms → 1.11 ms on this issue's fixture.

Sparse up-looking Cholesky with an AMD ordering, both together, since the measurement above showed neither is…

logaritmisk pushed to main at logaritmisk/trueskill-tt 2026-09-10 05:08:23 +00:00
1629176199 Merge perf/sparse-joint (#52)
695bb822ef perf!: sparse Cholesky with an AMD ordering for the joint
Compare 2 commits »
logaritmisk closed issue logaritmisk/trueskill-tt#52 2026-09-10 05:08:22 +00:00
The joint precision matrix is 0.19% dense and we factorise it densely
logaritmisk commented on issue logaritmisk/trueskill-tt#52 2026-09-10 04:59:49 +00:00
The joint precision matrix is 0.19% dense and we factorise it densely

Step 1 as written cannot work, and measuring says so before any code is written. The plan needs reordering — not the matrix, the plan.

AMD on its own buys exactly nothing

`Cholesky::facto…

logaritmisk commented on issue logaritmisk/trueskill-tt#54 2026-09-10 04:55:42 +00:00
Benchmark regressions are not gated — baselines are compared by hand

The measurement step is in, as Benchmark variance — 0801ace (merged as d36d125). workflow_dispatch only, with a runs input defaulting to 10.

It runs joint_factorise_480_appearances

logaritmisk pushed to main at logaritmisk/trueskill-tt 2026-09-10 04:55:31 +00:00
d36d125e52 Merge infra/bench-variance (#54)
0801acebd1 ci: measure the runner's own benchmark variance, and fix the joint bench
Compare 2 commits »
logaritmisk closed issue logaritmisk/trueskill-tt#72 2026-09-10 04:49:47 +00:00
Ergonomics: the first program a new user writes does not compile, and the fix is not discoverable
logaritmisk commented on issue logaritmisk/trueskill-tt#72 2026-09-10 04:49:44 +00:00
Ergonomics: the first program a new user writes does not compile, and the fix is not discoverable

Item 1 is done, so this closes. b553c63 (merged as 1ad789c).

History<K, T, D, O> and HistoryBuilder<K, T, D, O>, all four defaulted. Your prototype was right that bounds may reference later…

logaritmisk pushed to main at logaritmisk/trueskill-tt 2026-09-10 04:49:27 +00:00
1ad789cf40 Merge api/param-reorder (#72)
b553c630f5 refactor!: K comes first in History, HistoryBuilder and Joint
Compare 2 commits »
logaritmisk commented on issue logaritmisk/trueskill-tt#78 2026-09-10 04:40:47 +00:00
predict_* returns Ok on a NaN-poisoned fit, and eight # Errors sections do not match the code

Parts 3 and 4 are done, so this closes. e72bf38 (merged as d2ab444) for the layering; 13a395f for the rename.

Part 3 — mirrors deleted

h.joint()?.posterior_of(..) is the only path now. The…

logaritmisk pushed to main at logaritmisk/trueskill-tt 2026-09-10 04:40:37 +00:00
d2ab4446ef Merge api/joint-layering (#78)
e72bf3894c refactor!: the joint is reached through Joint, not mirrored on History
Compare 2 commits »