Repository navigation
feat(dashboard): Jev-pickable display components and ask_jev MCP tool - #348
Draft
alsoalter85 wants to merge 1 commit into
Draft
alsoalter85 wants to merge 1 commit into
alsoalter85 wants to merge 1 commit into
Conversation
Add MetricCard, StatusBreakdown, and LineChart display components built on the dashboard tokens, each with a .meta.ts following the agentic design system schema (new lib/meta.ts type). The meta's whenToUse/whenNotToUse feed Jev's choice criteria. Add scripts/jev: asks Jev (TypeSafe System One) which component answers a natural-language question, builds props from seeded mock data with full status history, and renders the pick in a Vite preview. Exposed as a CLI (bun run jev) and as the ask_jev stdio MCP tool registered in .mcp.json. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Vercel previewCommit: |
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Lets a natural-language question about feedback ("how many comments have I not resolved yet?") be routed through Jev (TypeSafe System One). Jev picks the dashboard component that answers it, and the pick is rendered.
Display components (
apps/dashboard/components/), built only on existing dashboard tokens:MetricCard: one headline number, optionally clickable through to the records.StatusBreakdown: direct-labeled bars per workflow status, in fixed workflow order, using the--status-*tokens.LineChart: one daily series in SVG with hover crosshair, arrow-key inspection, a screen-reader table, andsummary="total" | "latest"(for snapshot series such as a backlog).lib/metrics.ts:unresolvedCountanddailyCounts(UTC day buckets).Component meta: each component has a
.meta.tsfollowingbranding/AGENTIC-DESIGN-SYSTEM.md. The schema type it references didn't exist yet and is added asapps/dashboard/lib/meta.ts.display.meta.test.tschecks name, props, and token parity plus the minimum-content rules. ThewhenToUse/whenNotToUsefields are what Jev chooses from.scripts/jev/(dev tooling, not shipped):unresolved,open, …), and the daily measure (backlog vs. new per day), and validates that every answer is one of the offered options.bun run jev "<question>",bun run jev:preview(http://127.0.0.1:4340/), and theask_jevstdio MCP tool registered in.mcp.json. It's a hand-written JSON-RPC server, with no new dependencies.TYPESAFE_API_KEYin.env.local. Seescripts/jev/README.md.Sample Jev results (
jev-1.13.0)The last row shows a gap: no component yet shows a per-status trend. A
StatusTrendcomponent would close it.Notes
App.auth-routing.test.tsxhas 5 failures on trunk as well (Cannot read properties of undefined (reading 'clear')).bun run test:coverageexits non-zero because of them, so coverage for the diff gate was generated with that file excluded.trunkis 100%.scripts/is outside the coverage scope and was typechecked separately.rejectedcounts as resolved inunresolvedCount.Test plan
bun run typecheckbun run test:diff-coverage -- trunk: 100% line and branchask_jevcalls through the MCP server for all four components🤖 Generated with Claude Code