{"id":51576894,"url":"https://github.com/malloydata/malloyyo-auto-recalls","last_synced_at":"2026-07-11T01:02:12.985Z","repository":{"id":369365256,"uuid":"1287703327","full_name":"malloydata/malloyyo-auto-recalls","owner":"malloydata","description":"Malloy semantic model over NHTSA vehicle-recall data","archived":false,"fork":false,"pushed_at":"2026-07-04T22:10:47.000Z","size":5225,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-05T00:07:29.929Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/malloydata.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-07-02T23:55:07.000Z","updated_at":"2026-07-04T22:10:51.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/malloydata/malloyyo-auto-recalls","commit_stats":null,"previous_names":["malloydata/malloyyo-auto-recalls"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/malloydata/malloyyo-auto-recalls","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/malloydata%2Fmalloyyo-auto-recalls","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/malloydata%2Fmalloyyo-auto-recalls/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/malloydata%2Fmalloyyo-auto-recalls/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/malloydata%2Fmalloyyo-auto-recalls/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/malloydata","download_url":"https://codeload.github.com/malloydata/malloyyo-auto-recalls/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/malloydata%2Fmalloyyo-auto-recalls/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35347554,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-10T02:00:06.465Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-07-11T01:02:08.483Z","updated_at":"2026-07-11T01:02:12.973Z","avatar_url":"https://github.com/malloydata.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# malloyyo-auto-recalls\n\nA [Malloy](https://www.malloydata.dev/) semantic model over NHTSA vehicle-recall\ndata, analyzed by component category and recall trends over time — with three\n**model-declared dashboards** (see `docs/repo-artifacts.md` in the malloyyo repo\nfor the design).\n\n## Contents\n\n- `auto_recalls.malloy` — the `auto_recalls` source: recalls with a derived\n  `component_category` classification, a lowercase `search_text` haystack,\n  measures (`recall_count`, `total_affected_vehicles`, …), the dashboard givens,\n  a `manufacturer_options` suggestions query, and three `# artifact`-tagged\n  dashboard queries.\n- `index.malloy` — entry point that re-exports the source, givens, and queries.\n- `dashboards/\u003cslug\u003e/Dashboard.tsx` — the dashboards' custom React components.\n\nData source: `https://storage.googleapis.com/malloyyo/auto_recalls/auto_recalls.parquet`\n(NHTSA recalls: https://www.nhtsa.gov/recalls)\n\n## Dashboards — declared in the model, not in JSON\n\nThere is no manifest file. Each dashboard is a query tagged `# artifact`; the\nfilters are `filter\u003cT\u003e` givens applied with `~`, so **an empty expression means\n\"no filter\"** — `recall_list` needs no `($X = '' or …)` sentinel logic:\n\n```malloy\ngiven:\n  # label=\"Manufacturer\" control=select suggest { query=manufacturer_options dimension=Manufacturer }\n  MANUFACTURER :: filter\u003cstring\u003e is f''\n  # label=\"Component\" control=select suggest { source=auto_recalls dimension=Component }\n  COMPONENT :: filter\u003cstring\u003e is f''\n  # label=\"Park outside advisory\"\n  PARK_OUTSIDE :: boolean is false\n\n# artifact { name=\"manufacturer\" title=\"Manufacturer Recall Profile\" givens { MANUFACTURER=\"Ford Motor Company\" } }\nquery: manufacturer_dashboard is auto_recalls -\u003e { where: Manufacturer ~ $MANUFACTURER … }\n```\n\nNotable patterns exercised here:\n\n- **Curated options via a named query** — `suggest { query=manufacturer_options\n  dimension=Manufacturer }` fills the manufacturer dropdown from the top-60-by-\n  recall-count query (governed, reviewable Malloy — not a string in a tag).\n- **Distinct-values options** — `suggest { source=auto_recalls dimension=Component }`.\n- **Per-dashboard defaults** — the profile starts on Ford, the recall list on\n  \"everything\", from the same shared given (`# artifact { … givens { … } }`).\n- **Search** — the `SEARCH` given filters the `search_text` dimension; the\n  components commit `filters.contains(term)` so escaping is always correct\n  (values like `Tesla, Inc.` must be committed with `filters.oneOf`, never raw —\n  a bare comma parses as filter alternatives).\n- **Boolean givens** → the `\u003cCheckbox given=\"PARK_OUTSIDE\"/\u003e` widget.\n\n| slug | query | notes |\n|---|---|---|\n| `manufacturer` | `manufacturer_dashboard` | select fed by `manufacturer_options`, Ford default |\n| `vehicle-search` | `vehicle_search_dashboard` | debounced search, `%tundra%` default |\n| `recall-list` | `recall_list` | every filter optional, Checkbox widgets, Clear button |\n\n## Running\n\n- `malloyyo dashboard dev` — preview server with hot reload.\n- `malloyyo lint` — validates the tagged queries, given suggest declarations,\n  and the `Dashboard.tsx` files.\n- Or open the folder in VS Code with the\n  [Malloy extension](https://marketplace.visualstudio.com/items?itemName=malloydata.malloy-vscode),\n  or use the Malloyyo MCP server configured in `.mcp.json`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmalloydata%2Fmalloyyo-auto-recalls","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmalloydata%2Fmalloyyo-auto-recalls","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmalloydata%2Fmalloyyo-auto-recalls/lists"}