Repository navigation
v2.0.6 — the audit's own findings, fixed
A correctness release with no new features. Every item is either a defect found by auditing 2.0.5, or a claim in the codebase that turned out to be false when someone measured it instead of reading it.
Numbered 2.0.6 rather than 2.1.0: that name stays reserved for the deployment & lifecycle-integrity phase.
Operator-facing fixes
- All sixteen CLI entry points emitted a raw traceback for a directory
--configor a malformedsettings.yml.IsADirectoryErrorandPermissionErrorareOSError, neither isFileNotFoundError; andyaml.YAMLErroris not aValueError. The contract now lives in one place. - The capital report told the operator a sellable position could not be sold. Its ordermin check reads
available— correctly, for "can a NEW sell be placed" — while the sentence described the whole position. DOGE held 293.64 with 262.10 committed to resting orders against an ordermin of 50, and paged daily as unsellable. Total and available are now two questions at two severities. cli/live's documented exit codes were incomplete in both places that stated them, including the docstring--helprenders verbatim.- Four
docs/implementation/guides still declared the system did not exist. Superseded in place — real documents link to them.
Guards that reported green while checking nothing
- The repo-wide logging guard scanned zero files from any working directory but the repo root.
- The offside popover branch BTC and ETH actually render in production was pinned only at DTO level, on a different attribute than the template gates on.
- The schema-drift strict mode was armed only by an untracked
.envand went silently dead the day that file was deleted. Wiring it into CI was measured and deliberately not done — theenv:line would have been inert. - A key defined twice in
.envwas invisible to the drift tests, which collapse keys into aset.
Process
Gated by the ratified pre-deploy adversarial review: 11 dimensions, 72 agents, 20 findings, 7 surviving three-lens refutation, verdict nothing blocks.
It found a real defect in this release's own capital fix — the informational line sat below an early return and was built and discarded in exactly the case it was written for, so a false warning had been replaced by silence — plus four false claims in comments and docstrings, each disproved by executing both revisions rather than by argument. All fixed before the tag.
Full detail in CHANGELOG.md and roadmap item 16.