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 07026cf
Browse filesBrowse the repository at this point in the historyBrowse files
feat(spec): register FLOW_CONVERSION_CONFLICT in the ADR-0112 ledger (#9567 half 1) (#9582)
* feat(spec): register FLOW_CONVERSION_CONFLICT in the ADR-0112 ledger (#9567 half 1)
`saveMetaItem`'s flow-conversion rename guard (protocol.ts:12674-12682) has
thrown a live 409 FLOW_CONVERSION_CONFLICT since ADR-0078 landed --
already SCREAMING_SNAKE, so this is an ordinary ADR-0112 D3 ledger
admission under @objectstack/metadata-protocol. It was invisible to
check:dispatcher-error-vocabulary's scan because the site stamps the code
through a cast rather than the bare-identifier `assign` shape the scan
matched.
Regenerated the two docs that mirror the ledger (content/docs/references/api/
contract.mdx, error-code-ledger.mdx) via gen:schema + gen:docs; check:generated
and check:docs both confirm no other artifact moved.
Half 2 of #9567 (`owd_widening_forbidden`) is measurement-only in this PR --
see the PR description -- so this PR does not close the issue.
Part of #9567
* fix(runtime): discharge FLOW_CONVERSION_CONFLICT's pending-registration row (#9567)
#9460 landed on main (PR #9573) while this branch's registration PR was in
the merge queue, adding a pending-registration row for
FLOW_CONVERSION_CONFLICT to dispatcher-error-vocabulary.ts's
UNREGISTERED_CODE_SITES. That collided with this branch's ledger admission
of the same code -- a registered code with a pending-registration row still
on file fails the #8087 conformance gate in the direction the row's own
docs describe ("a pending-registration row whose code is registered fails
the gate in the other direction").
Ratchets the row out following the #8846/#9246 precedent exactly: delete
the discharged row, fold a one-line note into the running log at the top of
UNREGISTERED_CODE_SITES. owd_widening_forbidden -- the #9460 batch's other
new row -- stays pending; its lowercase spelling is a naming decision for
the maintainer (#9567 half 2), not a plain admission, and is untouched.
node scripts/check-dispatcher-error-vocabulary.mjs: PENDING_LEDGER_REGISTRATION
2 -> 1 (only owd_widening_forbidden remains). error-envelope.conformance.test.ts
(the #8087 pin): 51/51 passing. error-code-ledger.test.ts: 17/17 passing.
check:generated: all 13 artifacts still up to date after the merge.
Part of #9567
---------
Co-authored-by: Claude <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: content/docs/references/api/contract.mdx
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,7 +27,7 @@ const result = ApiErrorSchema.parse(data);
27
27
28
28
| Property | Type | Required | Description |
29
29
| :--- | :--- | :--- | :--- |
30
-
|**code**|`Enum<'VALIDATION_ERROR' \| 'INVALID_FIELD' \| 'MISSING_REQUIRED_FIELD' \| 'INVALID_FORMAT' \| 'VALUE_TOO_LONG' \| 'VALUE_TOO_SHORT' \| 'VALUE_OUT_OF_RANGE' \| … +285 more>`| ✅ | Error code (e.g. VALIDATION_ERROR; StandardErrorCode ∪ the ledger the serving side registers — ERROR_CODE_LEDGER for framework packages) |
30
+
|**code**|`Enum<'VALIDATION_ERROR' \| 'INVALID_FIELD' \| 'MISSING_REQUIRED_FIELD' \| 'INVALID_FORMAT' \| 'VALUE_TOO_LONG' \| 'VALUE_TOO_SHORT' \| 'VALUE_OUT_OF_RANGE' \| … +286 more>`| ✅ | Error code (e.g. VALIDATION_ERROR; StandardErrorCode ∪ the ledger the serving side registers — ERROR_CODE_LEDGER for framework packages) |
31
31
|**declaredCode**|`string`| optional | The producer-declared code, verbatim, when it is not a member of the closed `code` vocabulary — the open, author-authored channel (app-specific spellings; ADR-0112, #9106) |
0 commit comments