diff --git a/MIGRATION_v9_to_v10.md b/MIGRATION_v9_to_v10.md index c314be92b4..873ffe95c0 100644 --- a/MIGRATION_v9_to_v10.md +++ b/MIGRATION_v9_to_v10.md @@ -66,9 +66,12 @@ adcp 10.0.0b0–b3 are 1): - `adcp-reporting-storage` 0.2.0b1 requires `adcp>=10.0.0b4,<11`; the 0.2.0b0 / 0.1.0b4 releases do not work with 10.0.0b4 or later ([#1763](https://github.com/adcontextprotocol/adcp-client-python/issues/1763)). -- Startup (`ReliableReportingService`, `postgres_storage`) refuses a pair whose - contracts differ with `REPORTING_SCHEMA_BEHIND`, naming both versions and - the release to install. +- From adcp 10.0.0b7, startup (`ReliableReportingService`, `postgres_storage`) + refuses a pair whose contracts differ with `REPORTING_SCHEMA_BEHIND`, naming + both versions and the release to install. adcp 10.0.0b4 and 10.0.0b5 have no + such check and still install beside 0.2.0b0, which then fails every reporting + turn, so install `adcp>=10.0.0b7` + ([#1837](https://github.com/adcontextprotocol/adcp-client-python/issues/1837)). - An existing SDK 9 ledger is upgraded in place by `create_schema()` or `python -m adcp migrate`: `offering_id` is added with `''` for every existing account-level generation, obligation and status, and the applied diff --git a/docs/reporting-ledger-migration.md b/docs/reporting-ledger-migration.md index 6a98f6ec35..b02a932c82 100644 --- a/docs/reporting-ledger-migration.md +++ b/docs/reporting-ledger-migration.md @@ -288,9 +288,12 @@ adcp 10.0.0b4 widened the configuration generation key with `offering_id` (AdCP 3.3 reporting subscriptions) and reads it from `reporting_configurations`, `reporting_obligations` and `reporting_consumer_statuses`. The storage releases before 0.2.0b1 do not create the column, so that pair fails every reporting -turn with `column "offering_id" does not exist`. From 0.2.0b1 the pair is -refused at startup instead (storage contract 1 versus 2; see -`packages/adcp-reporting-storage/README.md`), and both schema entry points +turn with `column "offering_id" does not exist`. adcp 10.0.0b7 and later +refuse that pair at startup instead (storage contract 1 versus 2; see +`packages/adcp-reporting-storage/README.md`). adcp 10.0.0b4 and 10.0.0b5 +predate the check and still install beside 0.2.0b0, so that pair fails every +turn: install `adcp>=10.0.0b7` with `adcp-reporting-storage>=0.2.0b1` +(10.0.0b6 was not published). From 0.2.0b1, both schema entry points upgrade an existing ledger in place: - `PgReportingLedgerStore.create_schema()`, which `ReliableReportingService` diff --git a/packages/adcp-reporting-storage/README.md b/packages/adcp-reporting-storage/README.md index 63d542e153..93767ff5ce 100644 --- a/packages/adcp-reporting-storage/README.md +++ b/packages/adcp-reporting-storage/README.md @@ -58,14 +58,22 @@ the **storage contract**, numbered on both sides (`adcp_reporting_storage.STORAGE_CONTRACT`, `adcp.reporting.ledger.storage_contract.REPORTING_STORAGE_CONTRACT`) and bumped together whenever the shared layout changes. The dependency floor is the first -`adcp` release of the contract this package implements, so an incompatible pair -does not resolve; if one is forced, building a PostgreSQL store refuses at -startup, naming both versions and the release to install. +`adcp` release of the contract this package implements, so this release +cannot be installed beside an older `adcp`. Forcing it anyway fails at import. +From adcp 10.0.0b7, building a PostgreSQL store also refuses a package of another +contract at startup (`REPORTING_SCHEMA_BEHIND`), naming both versions and the +release to install. + +That check is in `adcp`, so it cannot cover releases that predate it: +`adcp` 10.0.0b4 and 10.0.0b5 still resolve beside 0.2.0b0 and fail every +reporting turn with `column "offering_id" does not exist` +([#1763](https://github.com/adcontextprotocol/adcp-client-python/issues/1763)). +Install `adcp>=10.0.0b7` with this release. | adcp-reporting-storage | storage contract | adcp | |---|---|---| | 0.1.0b4 (SDK 9 line) | 1 | `>=9.0.0,<10` | -| 0.2.0b0 | 1 | `>=9.0.0,<11` (**do not pair with 10.0.0b4+**, [#1763](https://github.com/adcontextprotocol/adcp-client-python/issues/1763)) | +| 0.2.0b0 | 1 | `>=9.0.0,<11` (**do not pair with 10.0.0b4+**: 10.0.0b4 and b5 install beside it and fail, b7+ refuse it, [#1763](https://github.com/adcontextprotocol/adcp-client-python/issues/1763)) | | 0.2.0b1+ | 2 | `>=10.0.0b4,<11` | `adcp` never imports this package; a test in the main repository enforces that.