Errata
The register of things that do not do what they say
Every item below was found by reading the code and comparing it against the docstring, comment, or module name that describes it. None is speculative. They are collected here rather than scattered because a reader deciding whether to trust this system deserves them in one place.
There is a particular pattern in this codebase, and naming it explains most of what follows. The author writes the hard part first — the algorithm, the maths, the guard against a subtle failure — and writes it well. Then the wiring that would make it take effect is left for later, and later has not arrived.
The circuit breaker computes exactly which actions a given loss profile demands, and returns them. The caller logs them. The compositor learns which of its sources have been performing and writes the new weights to a table. Nothing reads the table at startup. The backtester slices history into training and test windows with correct geometry. Nothing is fitted to the training window.
In each case the difficult reasoning is present and correct, and a single missing call site makes it inert. That is a specific and recoverable kind of incompleteness, and it is quite different from a system whose ideas are wrong.
A second pattern is subtler and more concerning: the pervasive habit of degrading to a neutral value on failure. A scorer that cannot reach its data returns fifty out of a hundred. A confidence extractor that cannot parse its input returns sixty-five per cent. A risk service that raises returns a midpoint. Each choice is defensible alone — nobody wants a page to fail because one panel is unavailable — but together they make silent failure indistinguishable from a considered neutral opinion, at exactly the point where the two are fused into a trading decision.
Third, and least dramatic: two function names do not resolve. Both sit behind broad exception handlers, so neither crashes anything. Both silently disable a feature that the surrounding code assumes is working.
The tables that follow are grouped by kind rather than by severity, and each row cites where the disagreement lives.
The hard part is written first and written well. The wiring that would make it take effect is left for later, and later has not arrived.
The dominant pattern in this register