Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions MIGRATION_v9_to_v10.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
9 changes: 6 additions & 3 deletions docs/reporting-ledger-migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -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`
Expand Down
16 changes: 12 additions & 4 deletions packages/adcp-reporting-storage/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
Loading