Concrete
00ConcreteEditorial system / product primitives

Concrete is a design system for labs that ship

An editorial voice for serious tools: crisp type, soft controls, dense product surfaces, and one primitive kit underneath every page.

npmnpm install @rubriclab/concrete
01FoundationsType / color / space / motion / icon

One language, many pressures.

Foundations are strict enough for product density and expressive enough for published research. Pressure is creative direction, not a universal primitive prop.

01.01Typography3 families / 12 sizes / 5 weights

Rubric is a lab
that ships

120 / .92ConcreteDisplay / Fraunces 300
72 / .95Hero headlineDisplay / Fraunces 400
48 / 1.05Section titleH1 / Jakarta 800
15 / 1.45

UI body. The default for most running copy.

Body / Jakarta 400
01.02Colorink / sky / three signals
ink-9text / fillsink-8hover fillink-7bodyink-6secondaryink-5mutedink-4softink-3strong lineink-2hairlineink-1faint line
sky-1selection bgsky-2soft pillsky-3data tintsky-4data activeskyfocus / linksky-strongpressed
terminalrunning
ultrafeatured
errorcritical
01.03Pressure and density4 contexts / one grid
EditorialOpen measure, display type, and chapter rhythm for research writing.
ProductDense rows, controls, tables, and nested agent state for daily tools.
GenerativeFocused output: one answer, one table, one chart, one decision.
EducationalReduced fidelity product language for explainers and OG assets.
01.04Space, radius, elevation4px base / strict meaning
xs4icon gapssm8control gapsmd12row paddinglg16card paddingxl24groups2xl32figures3xl48sections4xl64chapters
0charts
2hairlines
4atoms
6controls
10cards
14panels
20overlays
pillchips
BorderRaisedFloatingOverlay
01.05Motion, focus, texturestate only / always visible
FadeMoveRevealDismiss
01.06IconographycurrentColor / typed registry
Stroke1.75pxViewBox24 x 24Sizes12 / 14 / 16 / 20ColorcurrentColor
searchfiltersettingsmessage-circleactivityfile-textgit-branchbar-chart-3checktriangle-alertcodesparkles
02Primitives44 atoms / registry-backed specs

Small parts, clear roles.

Each card shows a real exported primitive centered in a sunken stage. The full card opens the typed primitive page with states, props, and render routes.

Buttoncommand
Inputvalue
Fieldchrome
Canonical field hierarchy for dense product forms.
Use lowercase letters and hyphens.
Dropzonetarget
Upload filesDrag or choose a research artifact.
Upload itemupload
Q2_report.pdf2.4 MB
Caretdisclose
Environment variablesclosed
Advanced settingsopen
Tree branchup
Textarealong value
Selectoption
Choose a workspace.
Checkboxboolean
Radioexclusive
Switchinstant
Sliderrange
Cardsurface
Default

Border only. The canonical surface.

Raised

One step of elevation over canvas.

Sunken

Recessed. Code, quotes, wells.

Pillsoft label
inkqueuedpointer
Chiptoggle
Badgestatus
LiveFeaturedBlocked
Tagmetadata
AgentsDocsconcrete
Avatarmedia
AKRLC
Rowrecord
Agent memory architecture12m
Context structuring experimentlive
Evaluation datasetprivate
Bubblechat
Concrete keeps conversational UI crisp.
Ship the primitive set.
Codeliteral
ConcretePressure
TypeScript
const signal = concreteSignalSchema.parse("terminal")
Concept framesymbol
Concept connectorrelation
Diagram nodeentity
Diagram itemevidence
metricTrace184msp95
codeHydratets
statusReadylive
noteConstraintpolicy
Kbdshortcut
K
Spinnerunknown
LoadingLoadingLoading
Dividerseparate
Empty statenone

No matches

Try a broader keyword, or clear the filters applied to this view.

Tooltipclarify
Use one short sentence.
Progressknown
Statnumber
Runs14.8k18.6% last 7d
Deltachange
18.6%-2.4%0.0%
Sparklinetrend
SparklineSparkline
Distributionshape
Direct
47%
Referral
28%
Agentic
18%
Indicatorstate dot
RunningQueuedFailed
Skeletonpending
Framecanvas
Eyebrowmeta
body
Footermeta
Textureground
Brand markbrand
Wordmarkbrand
Iconsymbol
Focus ringaccess
03Components33 compositions / built from primitives

Components declare density.

Components assemble primitive contracts into agentic interaction, AI-native transcript, and form workflows. They can own deterministic local behavior, but product policy stays in the application.

Toolbarcontrol

Atomic toolbar with quiet icon controls, optional chip appearance, tooltip shortcuts, roving arrow-key focus, selected state, and pressed feedback.

Command menunavigation
Research

Searchable action and navigation listbox with grouped items, keyboard navigation, shortcuts, loading, and empty states.

Search barform
Research

Compact single-line command input with removable scope tokens, keyboard hint, action slots, and optional menu slot.

Form shelllayout
Workspace

Runtime settings

Configure a reusable agent workspace without leaving the local form contract.

Identity

Short identity fields stay compact and directly editable.

Runtime

Agent executionAllow scheduled runs and manual tool execution.
Worker limitParallel workers available to this workspace.
1-8

Canonical form container with title hierarchy, metadata, action slots, body spacing, status border, and sticky-feeling footer.

Validation summaryfeedback
Review required

Resolve the listed fields before saving the workflow.

  • OwnerAssign a responsible operator.
  • Budget limitEnter a value between 1 and 100.
  • Reference packetTwo files are attached.

Top-level form feedback with status icon, field-linked items, compact copy, and optional action slot.

Settings panellayout

Run defaults

Dense settings rows keep labels, explanatory copy, metadata, and controls aligned.

Runtime

Core behavior for generated work and local tools.

ToolsPermit tool calls from approved command surfaces.
on
Parallel workersMaximum active workers for one request.
max 12
Default modelFallback model used when a prompt does not pin a route.

Dense settings form composed from shell, sections, rows, and slotted primitive controls.

Form dialoglayout

Inline or fixed modal form surface using FormShell inside a dimmed stage.

Form drawerlayout

Inline or fixed side-sheet form surface for inspect-and-edit workflows.

Password inputform

Text input composition with secure visibility toggling and field validation chrome.

Multi selectform
Design systemAI native
Tags are removable and options stay source-of-truth controlled by value.

Tag-backed option picker with local filtering, disabled options, max selection, and removable values.

Date pickerform
April 2026
MonTueWedThuFriSatSun

Single-date picker with calendar panel, month navigation, min/max bounds, and controlled value support.

Date range pickerform
April 2026
MonTueWedThuFriSatSun

Range picker for start/end ISO dates with calendar selection and in-range treatment.

Time pickerform

Compact HH:mm picker with interval-generated options and controlled value support.

Number stepperform

Inline numeric input with decrement/increment controls, min/max, and step support.

Range sliderform
4258

Two-thumb range adjustment with an aligned filled rail and controlled tuple value.

File uploadform
Upload filesDrop PDFs, images, or source packets.
Q2_report.pdf2.3 MB - 72%

Local upload queue composition with dropzone, file validation, progress rows, and remove actions.

Image uploadmedia
Upload imagesDrop images here or choose from disk.
interface-reference.png820 KB

Image-specific upload composition with previews, accept filtering, and avatar/grid variants.

Metric carddata
Eval healthLive
14,842+0.8%vs last week
Sparkline

Accepted agent runs across production workspaces.

Intervention rateWatch
4.2%-2.4%blocked
Sparkline

KPI tile composed from Stat, Delta, Sparkline, Indicator, and Concrete surface primitives.

Meterdata
Usage72%
Target 80Workspace command budget
Review58%
Policy confidence

Progress summary card that composes Concrete linear and ring progress primitives.

Line chartdata

Agent runs

Agent run volume with accepted output overlay.

ready
Agent runsAccepted

Multi-series trend chart with Concrete grid, endpoint, target, and legend language.

Area chartdata

Execution trend

ready
Agent runsAccepted

Soft filled trend chart for volume, confidence, and generated UI previews.

Bar chartdata

Capability score

ready
RouterMemoryToolsEval

Categorical comparison chart with optional comparison bars and horizontal rails.

Stacked bar chartdata

Run composition

ready
SearchReasoningTools

Composition chart for small category stacks across time or groups.

Donut chartdata

Workload split

ready
64%Router
Router52Memory38Tools44Eval31

Part-to-whole ring summary with controlled center metric and thickness.

Heatmapdata

Run intensity

ready
MonTueWedThuFriAMMidPM

Two-axis intensity grid for compact activity and density summaries.

Chartdata

Execution trend

Accepted runs and total executions.

ready
Agent runsAccepted

Backward-compatible discriminated union wrapper for every focused chart component.

Data tabledata

Evaluation runs

Typed cells stay compact while still supporting signals and microvisuals.

Router contractShippingArihan
+18.6%7dSparkline184
Memory recallReviewJordan
+0.8%7dSparkline92
Tool routerFeaturedTom
+9.2%7dSparkline138
Policy evalBlockedDexter
-4.4%7dSparkline211
Page 1 / 12 selected

Dense typed table with sortable columns, selection, search, filters, pagination, and rich cells.

Flow diagramdata

Agent execution flow

A compact map of context, planning, tool execution, and final synthesis.

retrieveshapeexecutesynthesizePromptuser inputContextmemory + filesPlantyped stepsToolssafe actionsAnswerfinal response
contexttool pathselected

Routed node and edge diagram for agent plans, systems, memory flows, and tool pipelines.

Diagram canvasdiagram

Request flow

Editorial explainer graph for request routing, context, model synthesis, and streamed output.

Interactive explainer canvas with DOM nodes, supporting items, SVG edges, pan, zoom, fit, and minimap.

Messagesurface
RL
Rubricnow
The eval runner is failing during schema hydration. I found one stale fixture and a missing tool permission edge.

Role-aware message wrapper with avatars, plain or bubble surfaces, metadata, and subtle action toolbars.

Reasoning messagefeedback
LoadingThinking3 stepsMapped failing logs to the evaluation fixture, checked schema boundaries, and isolated the change needed before rerunning.
  1. Context loaded

    Read the transcript, active scopes, and the command surface state before touching code.

  2. Tool plan selected

    Selected the smallest local tools needed to verify behavior and avoid product policy drift.

  3. LoadingRunning focused action

    Applying the focused interface change and keeping the final answer hierarchy stronger.

Subdued expandable reasoning line for visible agent progress, scoped steps, and streaming state.

Tool call messagefeedback
workspace checksuccess1.8s
ts
bun run check
7 tests passed. TypeScript clean.

Collapsible tool execution artifact with status, duration, optional input code, and output.

Composerlayout
arihan/eval triage-v2router-v2.ts · 3.2 KB

Agentic message input with token chips, mentions, commands, attachments, formatting, keyboard submission, and deterministic value output.

04APIstable public package surface

Contracts stay small.

Concrete ships one public React package, one registry, one schema boundary, and one render contract for DOM and screenshots.

Package exports
@rubriclab/concrete@rubriclab/concrete/components@rubriclab/concrete/primitives@rubriclab/concrete/styles.css@rubriclab/concrete/registry@rubriclab/concrete/icons@rubriclab/concrete/schemas
Skill contract

Use primitives for controls and surfaces. Use registry metadata for docs and screenshots. Choose pressure before composing, never as a universal primitive prop.

Smoke sample
Exportsclean100%
KLoading
Registryshared source
Primitives44
Components33
Open components