You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 255c274
Browse filesBrowse the repository at this point in the historyBrowse files
feat(cli,metadata-core)!: emit the protocol version under protocolVersion, not a runtime-shaped name
`PROTOCOL_VERSION` is the protocol major padded to a semver ('17.0.0') and never
tracks the installed package version. Emitted under the key `runtime`, a machine
consumer read it as the runtime's own version with no prose to disambiguate --
the half of #15585 that the human-line repair (#16058) could not reach.
- `os migrate meta --json` emits `protocolVersion`; `runtime` is removed
outright, with no alias and no dual-key window.
- `packages/metadata-core/src/protocol-handshake.ts` moves the same class of
field in the same change: the `checkProtocolCompat` / `assertProtocolCompat`
parameter and the `OS_PROTOCOL_INCOMPATIBLE` diagnostic member rename off
`runtimeVersion` to the protocol spelling. `runtimeMajor` is deliberately
unchanged -- an integer major carries no version-position ambiguity.
- `PROTOCOL_VERSION` itself does not move; it is correct as a protocol version.
- The existing e2e pin at the emit site is RE-POINTED at the new key rather
than deleted, and now asserts both halves: the new key carries the value AND
the old spelling is absent.
Fixes#15585
Claude-Session: https://claude.ai/code/session_015QE8qk46e5CHJxyQEUjbf8
Co-authored-by: Claude <noreply@anthropic.com>
<!-- adr-0087: not-required (no-migration-prescription) both renamed members are RUNTIME OUTPUT, not authored metadata: a CLI `--json` key emitted from an inline object literal, and a member of a TypeScript diagnostic object built at throw time. Neither has a Zod schema, a `packages/spec` declaration or a stored representation, so `objectstack migrate meta` has nothing to reach and a ledger entry would project into `spec-changes.json` and the upgrade guide as an instruction no metadata upgrader can act on. The prescription in this body addresses a SOURCE-CODE and stdout-reading consumer, whose delivery channel is the compiler and this changelog (ADR-0087 D8) -- the same disposition and the same argument as the `specVersionGap` to `protocolVersionGap` rename that shipped from this repo. -->
7
+
8
+
feat(cli,metadata-core)!: the protocol version is emitted under `protocolVersion`, never under a `runtime`-shaped name (#15585)
9
+
10
+
**BREAKING** — two published machine surfaces change a key name. There is **no alias
11
+
and no dual-key transition window**: one axis, one name.
12
+
13
+
| Surface | Was | Now |
14
+
|:--|:--|:--|
15
+
|`os migrate meta --json` payload |`runtime`|`protocolVersion`|
0 commit comments