Problem
The SDK still treats the released 2026-07-28 protocol revision as a draft-tracking revision.
scripts/fetch-spec-types.ts maps it to schema/draft, and .github/workflows/update-spec-types.yml continues to refresh that anchor nightly. The workflow only updates spec.types.2026-07-28.ts, while the repository's lifecycle policy requires the anchor, schema twin, and example corpus to stay synchronized.
PR #2027 shows the current behavior: it is still being updated from schema/draft/schema.ts after schema/2026-07-28/ was released.
The original per-revision reference work in #2252 noted that the draft mapping should go away once the released schema directory exists.
Current inconsistency
The released spec is available under schema/2026-07-28/. Its final schema update also contains:
SubscriptionsListenResultMetaObject;
SubscriptionsListenResultResponse;
- the matching example fixture.
The checked-in 2026 reference artifacts predate that final released delta.
There is also a provenance issue in the schema-twin refresh path: one source SHA is currently used to refresh every revision. Each released revision should instead keep its own source commit so refreshing one oracle cannot move another.
For 2025, the configured release pin is 0168c57fc74aba6e6dcf8f0b7191db3caaa5ad65, while the checked-in anchor header still records an older provenance commit. The schema content is identical at those commits, so this is provenance-only.
Expected state
- 2026-07-28 regenerates from
schema/2026-07-28/ at an immutable released commit.
- The 2026 anchor, schema twin, example corpus, manifests, and parity coverage refer to the same released source.
- Schema-twin provenance is per revision.
- The existing 2025 anchor provenance agrees with its configured release pin.
- The nightly draft refresh for 2026-07-28 is removed.
- Public SDK API names are not changed solely to mirror the spec's final interface rename.
A future unreleased revision can introduce draft tracking when the SDK actually has a consumer for it.
Problem
The SDK still treats the released
2026-07-28protocol revision as a draft-tracking revision.scripts/fetch-spec-types.tsmaps it toschema/draft, and.github/workflows/update-spec-types.ymlcontinues to refresh that anchor nightly. The workflow only updatesspec.types.2026-07-28.ts, while the repository's lifecycle policy requires the anchor, schema twin, and example corpus to stay synchronized.PR #2027 shows the current behavior: it is still being updated from
schema/draft/schema.tsafterschema/2026-07-28/was released.The original per-revision reference work in #2252 noted that the draft mapping should go away once the released schema directory exists.
Current inconsistency
The released spec is available under
schema/2026-07-28/. Its final schema update also contains:SubscriptionsListenResultMetaObject;SubscriptionsListenResultResponse;The checked-in 2026 reference artifacts predate that final released delta.
There is also a provenance issue in the schema-twin refresh path: one source SHA is currently used to refresh every revision. Each released revision should instead keep its own source commit so refreshing one oracle cannot move another.
For 2025, the configured release pin is
0168c57fc74aba6e6dcf8f0b7191db3caaa5ad65, while the checked-in anchor header still records an older provenance commit. The schema content is identical at those commits, so this is provenance-only.Expected state
schema/2026-07-28/at an immutable released commit.A future unreleased revision can introduce draft tracking when the SDK actually has a consumer for it.