4 Commits
Author SHA1 Message Date
james.maesandClaude Opus 5.5 7e9017c376 feat(help): table help, guardrail test and audit retention
Adds help/sql-workbench.yaml (empty-state help for all six tables) applied by
SqlWorkbenchHelp, a tables guardrail test, and the auditRetentionDays config
that DESIGN.md described but did not exist (default null keeps everything).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 16:58:04 -05:00
james.maesandClaude Opus 5.5 b0b027a9aa docs: name 1.0.0-RC.4 as the snake_case rename release
1.0.0-RC.3 on Maven Central is an accidental republish of RC.2, so the
rename shipped in 1.0.0-RC.4. Point UPGRADE.md, the @Deprecated(since)
annotations, their javadoc, the RC.4 changelog wording, the README
upgrade row and the naming test comment at RC.4, and note that upgrading
from RC.3 is the same as upgrading from RC.2.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 17:05:36 -05:00
james.maesandClaude Opus 5.5 6f2626b04f feat: app home dashboard, Runner nav entry, main tables only in the nav
Owner spec: the SQL Workbench app home is an information dashboard like
the other app homes, the notebook UI is its own nav entry ("Runner"), and
the nav lists only the main tables; sub-tables are relations on a notebook.

- Home: summary tiles and links, runs per day, recent notebooks, recent
  runs, slowest and failed queries, most-used notebooks, shared notebooks,
  committed writes, and (admins only) activity by user. Read through core
  actions in the viewer's session, so permissions and record locks apply;
  honest empty and no-permission states. Full width, inline styles only.
- Runner: sqlWorkbenchRunner child app showing the SQL_WORKBENCH widget
  (/app/sqlWorkbenchRunner?notebook=<id>).
- Nav: Runner, sql_workbench_notebook, sql_workbench_execution. Cells,
  versions, pinned results and shares stay standard tables (URL, API) as
  child lists on the notebook; new Runs child list (notebook -> execution
  join, locked to the viewer's runs) and an Open in Runner widget.
- SqlWorkbenchIntegrations: opt-in ESB and Quick Search hooks for the main
  tables, no dependency on either module.
- Tests: home widgets (H2 and Postgres), nav structure, child lists,
  hooks. README, CHANGELOG, UPGRADE, CLAUDE/AGENTS.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 14:45:38 -05:00
james.maesandClaude Opus 5.5 51c5a06859 feat!: snake_case QQQ names with the sql_workbench_ prefix (owner naming rule)
Owner rule: table names are lowercase snake_case, prefixed with the
qbit's name. Metadata only; the physical tables were already
sql_workbench_*, so no DDL.

- Tables, notebook PVS: sql_workbench_notebook, _cell, _notebook_version,
  _result_snapshot, _notebook_share, _execution (now equal to their
  backend table names)
- Enum PVS: sql_workbench_share_audience_type
- Permissions: sql_workbench.{hasAccess,write,share},
  sql_workbench_admin.hasAccess, <table>.read etc.
- Security key types: sql_workbench_user (all-access
  sql_workbench_all_access), sql_workbench_audience
- Joins: sql_workbench_notebook_join_sql_workbench_*
- tableNamePrefix / namespace normalized to snake_case, one "_"
- @Deprecated LEGACY_* constants with the pre-RC.3 names
- UPGRADE.md: permissions, security keys, stored references (audit_table,
  saved views/reports) with sample SQL; CHANGELOG 1.0.0-RC.3
- Test for the new names, legacy constants and prefix normalization

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 14:07:13 -05:00