Skip to content

chore(release): 0.43.0 — Semantic Layer UI + Metastore hardening - #313

Merged
padak merged 1 commit into
mainfrom
release/0.43.0
May 18, 2026
Merged

chore(release): 0.43.0 — Semantic Layer UI + Metastore hardening#313
padak merged 1 commit into
mainfrom
release/0.43.0

Conversation

@padak

@padak padak commented May 18, 2026

Copy link
Copy Markdown
Member

Summary

What 0.43.0 ships

  1. Semantic Layer UI in kbagent serve --ui — full 1:1 mirror of the kbagent semantic-layer CLI surface. Routes all traffic through /api/semantic-layer/* (zero direct Metastore calls from JS), schema-driven add/edit drawers, flowchart TB ERD with hub-and-spoke layout, dedicated dialogs for diff / promote / import / build / encrypt-token.
  2. _raise_api_error hardening in BaseHttpClient — walks exception → message → description → detail → errors → json.dumps; rejects int error field. Surfaces real Metastore 422 text instead of the old "API error 422: 422" UX. Four regression tests pin the new fallback paths.
  3. _normalize_field_type in the heuristic build — warehouse-native column types (VARCHAR, NUMBER, TIMESTAMP_NTZ, ...) are mapped to the metastore's closed lowercase vocab (string/integer/decimal/...) before push. Closes the long-standing HTTP 422 on legacy untyped Storage tables. Parametrized TestNormalizeFieldType + end-to-end assertion in the existing heuristic test.

Test plan

  • make lint
  • make format-check
  • make changelog-check ✓ — 51 releases, all have entries
  • make test ✓ — 3373 passed, 7 skipped
  • CI: green check on push
  • After merge: tag v0.43.0 + GitHub release (handled by release workflow)

…dening

- pyproject.toml 0.42.0 → 0.43.0 (auto-synced into plugin.json +
  marketplace.json via `make version-sync`)
- Changelog entry summarises the three lines of work merged via #308:
  * Full Semantic Layer page in `kbagent serve --ui` — 1:1 mirror of
    `kbagent semantic-layer` CLI surface (model CRUD, 5-entity CRUD,
    validate/export/diff/promote/import/build/encrypt-token, all
    routed through `/api/semantic-layer/*`, zero direct Metastore
    calls from JS). Relationships ERD ships as `flowchart TB` with
    hub-and-spoke layout, edge-label minimisation, and Math.min
    auto-fit so 80-edge overviews shrink to fit (~40%) and 15-edge
    hub drill-downs land at ~63%.
  * `_raise_api_error` walks exception/message/description/detail/
    errors/json.dumps; rejects int `error` field. Surfaces real
    Metastore 422 text instead of "API error 422: 422".
  * Heuristic `build` now maps warehouse-native column types to the
    metastore's closed lowercase vocabulary before push. Closes the
    long-standing 422 on legacy untyped Storage tables.

make lint / format-check / changelog-check / test: all green
(3373 passed, 7 skipped).
@padak
padak merged commit 2133724 into main May 18, 2026
1 check passed
@padak
padak deleted the release/0.43.0 branch May 18, 2026 06:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant