chore(release): 0.13.3 — honest cost at the gate - #689
Merged
Conversation
Twelve commits since 0.13.2, and one of them has live consequence. #335 IS THE REASON TO CUT THIS. The promotion gate priced every fill at the FLOOR of keel's own slippage model -- a rate reached only at a $500M/day anchor, which NOT ONE of the 24 assets keel holds candles for reaches. `keel rules promote` would have priced a promotion decision at 5bp on an asset whose measured rate is up to 36.8x that. Nothing is promoting today, so it was never urgent; it is the kind of thing that matters the first time it is not. The restatement that fired it is in the release too: 240 trials showing the median profit factor across 120 cells falling 0.309 -> 0.219 under per-product pricing, and the corpus's only cell above 1.0 dying at 0.626. The correction is 2.7x the +0.033 that the best strategy change ever bought. ALSO SHIPPING: * #341/#342 -- two new rule kinds, `cusum_event` and `triple_barrier`, both measured and both null. Registered and UNTRADED: no rule row, no allowlist change, nothing promoted. They ship so the measurement is reproducible, not because anything is expected of them. * #648 -- an enforced 12-hour session lifetime once a remote host is configured, and a wildcard bind that refuses to start without one. Remote access is still NOT ready: the PWA's secure-context behaviour over a real HTTPS origin is unverified and `docs/remote-access.md` says so at the top. * #681 -- `doctor` reports the update backups it never mentioned. This release is the first build that can see them, which is why the 7.0 GB in the live launch folder had to be found by asking rather than by being told. * #687/#688 -- the rail count, which disagreed with itself in five places at v0.13.2, now derived from `guards.check` and pinned; and the cost-distortion finding rendered into the README from the hash-chained ledger. No migration: schema stays at v16. The bump is nine files because it has to be. `tests/test_packaging.py:: test_every_workspace_package_carries_the_same_version` was re-run against a deliberately partial bump before committing this one, and it still fails -- the guard that caught the root-only bump at 0.13.0 is alive. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NzuKAe2RVrPt9acVAWjRyL
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Version bump only — 8
pyproject.tomlfiles plusuv.lock, the same nine-file shape as 0.13.1 and 0.13.2. No code, no migration; schema stays at v16.Why cut now
#335 has live consequence. The promotion gate priced every fill at the floor of keel's own slippage model — a rate reached only at a $500M/day anchor, which not one of the 24 assets keel holds candles for reaches.
keel rules promotewould have priced a promotion decision at 5bp on an asset whose measured rate is up to 36.8× that.Nothing is promoting today, so it was never urgent. It's the kind of thing that matters the first time it isn't.
The restatement that fired it ships too: 240 trials, median profit factor across 120 cells falling 0.309 → 0.219, and the corpus's only cell above 1.0 dying at 0.626. The correction is 2.7× the +0.033 the best strategy change ever bought.
Also shipping
cusum_event,triple_barrier— both measured, both null. Registered and untraded: no rule row, no allowlist change, nothing promoted.docs/remote-access.mdsays so at the top.doctorreports the update backups it never mentioned. This is the first build that can see them — which is why the 7.0 GB in the live launch folder had to be found by asking.guards.checkand pinned; the cost-distortion finding rendered into the README from the ledger.Verification
tests/test_packaging.py::test_every_workspace_package_carries_the_same_versionwas re-run against a deliberately partial bump before committing this one, and it still fails as it should — the guard that caught the root-only bump at 0.13.0 is alive rather than merely present.Full suite 5255 passed / 3 skipped; ruff and mypy clean.
After merge: Actions → Release → Run workflow,
0.13.3,desktop: publish-unsignedfor the DMG/installer artifacts.