From 6801864809ee3c7e42c468d5b29b00a939c08449 Mon Sep 17 00:00:00 2001 From: Elmehdi Aitbrahim Date: Tue, 11 Aug 2026 14:31:19 -0400 Subject: [PATCH] chore: bump to 0.6.0 for the broker port, instrument attestation and the CTS scoring fix A minor bump, not a patch, for three reasons that each require operator action or change behaviour the deployment is currently relying on. SCHEMA. `SCHEMA_VERSION` goes 9 -> 10 (#223). Both deployed databases are at 9 and must be migrated before this build can use them. BEHAVIOUR REQUIRING OPERATOR ACTION. #223 adds a second attested claim -- what CONTRACT a venue listing is, not only what the underlying asset is. It fails closed with no backfill, deliberately, so after this lands `keel assets screen` REJECTS every product with `instrument_wrapper: UNATTESTED` until `keel assets attest-instrument` is run once per product. Live trading is unaffected: rail 1 gates buys on `config.allowlist`, not on the screen. LIVE SCORING CHANGED. #227 fixed `is_round_number`, which returned True for every 2dp-quoted price and so handed BTC/ETH/PAXG a free CTS point on every bar. Scores on those three assets are genuinely lower under this build than under 0.5.7. Also ships: the Robinhood crypto adapter behind the broker port (#216/#218/#222/#229, not wired to the live path), the TUI activity feed (#235/#237), the CTS factor collinearity study (#224), `Preview.synthetic` at the confirm gate (#221), rail 9 seeing a bracket's own stop (#212), and CI gating merges on the `test` check (#234/#238). Co-Authored-By: Claude Opus 5 (1M context) --- packages/keel-broker-api/pyproject.toml | 2 +- packages/keel-broker-coinbase/pyproject.toml | 2 +- packages/keel-broker-fake/pyproject.toml | 2 +- packages/keel-broker-robinhood/pyproject.toml | 2 +- packages/keel-core/pyproject.toml | 2 +- pyproject.toml | 2 +- uv.lock | 12 ++++++------ 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/packages/keel-broker-api/pyproject.toml b/packages/keel-broker-api/pyproject.toml index 6d32ae5..0150fa7 100644 --- a/packages/keel-broker-api/pyproject.toml +++ b/packages/keel-broker-api/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "keel-broker-api" -version = "0.5.7" +version = "0.6.0" description = "Broker port, domain types, capability model, and conformance suite for keel" requires-python = ">=3.14.4" dependencies = ["keel-core"] diff --git a/packages/keel-broker-coinbase/pyproject.toml b/packages/keel-broker-coinbase/pyproject.toml index e89f335..edceb8d 100644 --- a/packages/keel-broker-coinbase/pyproject.toml +++ b/packages/keel-broker-coinbase/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "keel-broker-coinbase" -version = "0.5.7" +version = "0.6.0" description = "Coinbase Advanced Trade adapter for keel" requires-python = ">=3.14.4" dependencies = ["keel-core", "keel-broker-api", "coinbase-advanced-py>=1.8.4"] diff --git a/packages/keel-broker-fake/pyproject.toml b/packages/keel-broker-fake/pyproject.toml index 9813ed9..9fcab4a 100644 --- a/packages/keel-broker-fake/pyproject.toml +++ b/packages/keel-broker-fake/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "keel-broker-fake" -version = "0.5.7" +version = "0.6.0" description = "A deliberately divergent second broker adapter, to keep the port honest" requires-python = ">=3.14.4" dependencies = ["keel-core", "keel-broker-api"] diff --git a/packages/keel-broker-robinhood/pyproject.toml b/packages/keel-broker-robinhood/pyproject.toml index 8f4112a..cea4980 100644 --- a/packages/keel-broker-robinhood/pyproject.toml +++ b/packages/keel-broker-robinhood/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "keel-broker-robinhood" -version = "0.5.7" +version = "0.6.0" description = "Robinhood Crypto Trading API v2 adapter for keel" requires-python = ">=3.14.4" # `pynacl` is here and nowhere else in the workspace: Robinhood signs every request with an diff --git a/packages/keel-core/pyproject.toml b/packages/keel-core/pyproject.toml index b9ff720..0541e65 100644 --- a/packages/keel-core/pyproject.toml +++ b/packages/keel-core/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "keel-core" -version = "0.5.7" +version = "0.6.0" description = "Shared domain types, configuration, and logging for keel" requires-python = ">=3.14.4" dependencies = ["pyyaml>=6.0.3", "python-dotenv>=1.2.2"] diff --git a/pyproject.toml b/pyproject.toml index 42deda5..509b303 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "keel-trader" -version = "0.5.7" +version = "0.6.0" description = "Offline-first, broker-agnostic, rule-based spot-trading agent (halal policy by default)" readme = "README.md" authors = [ diff --git a/uv.lock b/uv.lock index 470dcca..4c05c90 100644 --- a/uv.lock +++ b/uv.lock @@ -345,7 +345,7 @@ wheels = [ [[package]] name = "keel-broker-api" -version = "0.5.7" +version = "0.6.0" source = { editable = "packages/keel-broker-api" } dependencies = [ { name = "keel-core" }, @@ -365,7 +365,7 @@ provides-extras = ["conformance"] [[package]] name = "keel-broker-coinbase" -version = "0.5.7" +version = "0.6.0" source = { editable = "packages/keel-broker-coinbase" } dependencies = [ { name = "coinbase-advanced-py" }, @@ -382,7 +382,7 @@ requires-dist = [ [[package]] name = "keel-broker-fake" -version = "0.5.7" +version = "0.6.0" source = { editable = "packages/keel-broker-fake" } dependencies = [ { name = "keel-broker-api" }, @@ -397,7 +397,7 @@ requires-dist = [ [[package]] name = "keel-broker-robinhood" -version = "0.5.7" +version = "0.6.0" source = { editable = "packages/keel-broker-robinhood" } dependencies = [ { name = "keel-broker-api" }, @@ -416,7 +416,7 @@ requires-dist = [ [[package]] name = "keel-core" -version = "0.5.7" +version = "0.6.0" source = { editable = "packages/keel-core" } dependencies = [ { name = "python-dotenv" }, @@ -431,7 +431,7 @@ requires-dist = [ [[package]] name = "keel-trader" -version = "0.5.7" +version = "0.6.0" source = { editable = "." } dependencies = [ { name = "click" },