Add Sidemantic webapp builder skill#143
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 934bc192f5
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| def _execute_sample(layer: Any, sql: str, *, sample_rows: int) -> dict[str, Any]: | ||
| result = layer.adapter.execute(sql) | ||
| columns = [desc[0] for desc in result.description] | ||
| rows = result.fetchmany(sample_rows) |
There was a problem hiding this comment.
Use adapter-compatible fetching for samples
When inspect_layer.py --execute is used with --connection for Postgres, BigQuery, Snowflake, Databricks, Spark, ClickHouse, or ADBC, this call raises AttributeError because those result wrappers expose fetchone()/fetchall() but not fetchmany() (I checked sidemantic/db/*.py). That makes every executed query look like an execution failure even though the SQL may be valid; only the raw DuckDB cursor supports this method. Fetch up to sample_rows via the adapter-neutral API or add fetchmany() to the result wrappers.
Useful? React with 👍 / 👎.
Adds a Sidemantic webapp builder skill with a component-first workflow for building analytics apps from semantic models.
The skill includes copyable static and React/Tailwind components, semantic model inspection and app-spec generation, a static dashboard scaffold, static verification, and a Playwright interaction smoke test so dashboards must prove real filter, leaderboard, metric, reset, and chart-bounds behavior.
Validated locally with the repository lint/format/test suite and the bundled static app and interaction verifiers.