Block a user
HistoryBuilder::online(true) is non-functional — Skill.online is never written
Fixed on main (bf9d964..69ddebe). Design doc: docs/superpowers/specs/2026-08-27-filtered-estimates-design.md.
Both acceptance criteria are met — the setting is gone from the public…
Skill's compile-time divergence tripwire is only half-enforced
Spec's tolerance-not-bit-identity caveat for filtered estimates is conservative
log_evidence takes &mut self but mutates nothing
log_evidence_internal's
forward flag is only a filtering quantity before convergence
HistoryBuilder::online(true) is non-functional — Skill.online is never written
A second consumer for the same machinery turned up in ustat, which bears on the implement-vs-remove choice above.
**The use case: a filtered learning…
converge() panics on a History with no events (usize underflow in iteration())
README Todo list and CLAUDE.md architecture section are stale post-redesign
No CI — nothing verifies builds, tests, feature combinations, or determinism
Convergence configuration is inconsistent: two different iteration defaults, and
converged: false for trivially-converged graphs
learning_curves() is O(n²) because KeyTable::key is a linear scan
Hot-path Gaussian arithmetic round-trips through sqrt; convergence deltas computed in moment space
Adding events one at a time is quadratic — 130× slower than batching at n=2000
rayon path creates multiple aliasing
&mut SkillStore through a usize-laundered pointer (UB)
Evidence accumulates as a linear product, so log-evidence underflows to
-inf on large games
History::converge() panics on an empty history (usize underflow)
quality() and predict_quality() panic for anything other than exactly 2 rating groups
Draws with the default
p_draw = 0.0 silently produce NaN skills and report converged: true