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
fix(rest,service-settings,service-datasource): adopt ADR-0112 codes and refresh the console pin (#3843)
Merging main brought in ADR-0112 batch 1 (#3841 (#3988)) and #3842, both of
which landed while this PR was in review. Two of this PR's stated decisions were
premised on #3841 being UNDECIDED, so they no longer hold.
`ApiErrorSchema.code` is now the closed `ErrorCode` union, not `z.string()`, so
the nine lowercase codes this PR deliberately carried over failed schema parse —
which failed its own conformance suites (6 in service-datasource, 1 in
service-settings). Re-spelled per ADR-0112, with generic conditions going to the
STANDARD catalog rather than becoming registered synonyms of it, which is what
the ledger asks for:
datasource_admin_unavailable → SERVICE_UNAVAILABLE (standard)
external_service_unavailable → SERVICE_UNAVAILABLE (standard)
not_found / PACKAGE_NOT_FOUND → RESOURCE_NOT_FOUND (standard)
PUBLISH_FIELDS_MISSING → MISSING_REQUIRED_FIELD (standard)
INTERNAL → INTERNAL_ERROR (standard)
datasource_admin_error → DATASOURCE_ADMIN_ERROR (registered)
external_import_error → EXTERNAL_IMPORT_ERROR (registered)
PUBLISH_MANIFEST_INVALID → PACKAGE_MANIFEST_INVALID (registered)
PUBLISH_FAILED → PACKAGE_PUBLISH_FAILED (registered)
PACKAGE_DELETE_PARTIAL / PACKAGE_DELETE_FAILED / SETTINGS_ACTION_FAILED
Which service is unavailable is carried by `message` — the ledger explicitly
asks generic conditions to reuse the catalog instead of registering a per-service
503. The seven registered codes go into ERROR_CODE_LEDGER under their owning
packages, including a new @objectstack/service-datasource entry.
Also bumps .objectui-sha a136322 → e651c93 now that objectui#2972 has merged, so
the bundled Setup console carries the envelope tolerance this change needs. The
pin only moves two commits because main had already refreshed it to a136322 —
an earlier attempt from this branch's stale base would have swept in eleven
unrelated frontend commits including two breaking ones.
The route-envelope guard, the conformance suites and their doc comments are
updated to match. Guard: 8 modules, 5 conformant / 2 ratcheted / 1 exempt.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CYbS3kS8xzsHNXFTzp4e2z
0 commit comments