From 494d2a71f2f3d5bee66a6fc61b9b76a8f98fdcc7 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 17 Aug 2026 23:47:09 +0000 Subject: [PATCH] docs(spec): STORED_TYPE_NOT_CANONICAL ledger comment names both producers and their atomicity The ledger entry at error-code-ledger.zod.ts:381 named only the publish pre-flight as STORED_TYPE_NOT_CANONICAL's producer ("refused at the publish pre-flight, batch-atomic"). PR #9360 (#9174) added a second producer - revertCommit's restore limb, which refuses per-item on its existing failed[] channel and is explicitly NOT batch-atomic - leaving the comment naming one of two producers and the wrong atomicity for the one it omitted. Names both now: the publish pre-flight (batch-atomic, #8908) and revertCommit's restore limb (per-item on failed[], NOT batch-atomic, #9174), verified against the merged #9360 diff at protocol.ts:14432 and protocol.ts:16399. Text-only change - accept/reject behavior, the error code, and its envelope are all unchanged. Fixes #9361 Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01Fs18A2DdXLVN2h8PaaFBcP --- ...r-stored-type-not-canonical-two-producers.md | 17 +++++++++++++++++ packages/spec/src/api/error-code-ledger.zod.ts | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 .changeset/error-code-ledger-stored-type-not-canonical-two-producers.md diff --git a/.changeset/error-code-ledger-stored-type-not-canonical-two-producers.md b/.changeset/error-code-ledger-stored-type-not-canonical-two-producers.md new file mode 100644 index 0000000000..e2fbf83209 --- /dev/null +++ b/.changeset/error-code-ledger-stored-type-not-canonical-two-producers.md @@ -0,0 +1,17 @@ +--- +"@objectstack/spec": patch +--- + +docs(spec): `STORED_TYPE_NOT_CANONICAL` ledger comment names both producers and their atomicity (#9361) + +The ledger entry at `error-code-ledger.zod.ts:381` described `STORED_TYPE_NOT_CANONICAL`'s +only producer as the publish pre-flight ("refused at the publish pre-flight, batch-atomic"). +PR #9360 (#9174) added a second producer — `revertCommit`'s restore limb, which refuses +per-item on its existing `failed[]` channel and is explicitly NOT batch-atomic — leaving the +comment naming one of two producers, with the wrong atomicity for the one it omitted. + +The comment now names both: the publish pre-flight (batch-atomic, `#8908`) and +`revertCommit`'s restore limb (per-item on `failed[]`, NOT batch-atomic, `#9174`). + +Text-only change — accept/reject behavior, the error code, and its envelope are all +unchanged. diff --git a/packages/spec/src/api/error-code-ledger.zod.ts b/packages/spec/src/api/error-code-ledger.zod.ts index 0d00a89ad0..4f5be7854d 100644 --- a/packages/spec/src/api/error-code-ledger.zod.ts +++ b/packages/spec/src/api/error-code-ledger.zod.ts @@ -378,7 +378,7 @@ export const ERROR_CODE_LEDGER = { 'QUERY_OBJECT_MISMATCH', 'REGISTRY_TYPE_NOT_CANONICAL', // [#9111] a SchemaRegistry overlay entry was offered a non-canonical metadata `type` — the mint door asserts, the caller folds 'ROLLED_BACK', // atomic data-batch row was written, then undone by the batch rollback (#4793) - 'STORED_TYPE_NOT_CANONICAL', // [#8908] a package draft is stored under a non-canonical metadata type (pre-#7894 second-namespace residue) — refused at the publish pre-flight, batch-atomic + 'STORED_TYPE_NOT_CANONICAL', // [#8908] a package draft is stored under a non-canonical metadata type (pre-#7894 second-namespace residue) — refused at the publish pre-flight, batch-atomic; [#9174] also refused on `revertCommit`'s restore limb, per-item on `failed[]`, NOT batch-atomic 'TENANT_SCOPE_REQUIRED', // [#7780] destructive call named neither an organization nor an explicit cross-tenant intent; needs an explicit opt-in 'UNSUPPORTED_QUERY_PARAM', 'VALIDATION_FAILED',