Skip to content

Add Sidemantic webapp builder skill#143

Open
nicosuave wants to merge 2 commits into
mainfrom
sidemantic-webapp-builder
Open

Add Sidemantic webapp builder skill#143
nicosuave wants to merge 2 commits into
mainfrom
sidemantic-webapp-builder

Conversation

@nicosuave
Copy link
Copy Markdown
Member

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.

@nicosuave nicosuave marked this pull request as ready for review May 14, 2026 02:25
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

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