What can safely happen next?
INTO Consulting / Web Apps + Platforms
Web-App System
A canonical product-design contract for INTO SaaS products, internal platforms, dashboards, admin tools, AI workspaces, and operational interfaces.
PRODUCT SYSTEM / SPECIMEN 01
Operations console pattern.
Operational editorial software in one composed working surface: app shell, command, evidence, and the next safe action — readable before it is explained.
- 01One primary action per surface.
- 02Evidence stays adjacent to the decision.
- 03Glass for command and review; never as chrome.
Hold the client export until two citations are attached.
A blocked export keeps the system honest. The packet is ready; the proof isn't. Restore the missing citations before the artifact leaves the studio.
Design The Product Around The Next Safe Decision
INTO web apps should feel sparse, senior, evidence-led, and practical. The interface exists to help operators see work, understand evidence, govern AI output, and take the next safe action.
OPERATING MODEL
Decision first, interface second
Govern records, workflows, approvals, evidence, AI proposals, client-visible outputs, and recoverable execution.
Which sources support it?
Who is accountable now?
How does the system undo or repair?
NEXT SAFE ACTION
Approve internal preview only Client export stays blocked until citations pass.Use Mature Components Without Importing Their Personality
Component libraries can supply anatomy, accessibility patterns, and interaction discipline. INTO owns the typography, density, state language, containment, icon behavior, and product atmosphere.
ANATOMY
CONTAINMENT
SIGNAL
GOVERNANCE
Show The INTO-ified shadcn Layer
A modern INTO web app is not a generic shadcn demo and not an editorial web page with app labels. It uses mature component anatomy, then applies INTO typography, restrained petrol action, glass command focus, evidence states, and quiet operational density.
INTO-IFIED SHADCN
Modern primitives, governed states
Use shadcn and Radix for behavior. Use INTO for atmosphere. The visible app kit must include command, tabs, sheet, dialog, toast, skeleton, table row, and action states before an implementation is treated as complete.
- Anatomy. Copy proven primitive structure, not visual personality.
- Glass. Reserve it for command, review, media, and focus moments.
- Action. One petrol primary per task surface.
- State. Evidence, owner, risk, and recovery stay visible.
SHADCN PRIMITIVES / INTO ATMOSPHERE
SHEET / EVIDENCE DRAWER
12 linked sources Right-side sheet on desktop. Full-height route on mobile. Glass surface, hairline border, inset highlight.Lead With One Composed Product Scene
Future INTO apps should demonstrate complete workflows, not isolated component inventories. The first viewport should prove place, state, evidence, owner, AI activity, risk, and the next safe action.
DESKTOP WORK SURFACE
Decision cockpit
390PX MOBILE
Review Route B Evidence first. Action second.BLOCKED STATE
Export held Permission and citation defects are visible before the action control.OPERATIONS CONSOLE
Client ReadinessReadiness cockpit
The screen gives the operator the full decision frame: what is blocked, what evidence exists, what AI proposes, what action is permitted, and how to recover.
TIMESHEET / APPROVAL
Week exception review
| Person | Mon | Tue | Wed | Thu | Fri | State |
|---|---|---|---|---|---|---|
| Avery | 6.0 | 7.5 | 4.0 | 6.5 | 5.0 | Ready |
| Orion | 8.0 | 7.0 | 7.5 | 0 | 4.0 | Missing note |
FORECAST / POLL
Route confidence
Which route should move to client-visible review?
PRODUCT PROOF GATE
Dense, Legible, Token-Led
Web-app surfaces use brand tokens plus app-specific aliases for shell dimensions, control heights, row heights, focus ring, and surface states. Density is earned by alignment and hierarchy, not smaller text.
| Decision | Rule | Reason |
|---|---|---|
| Top nav | 3.5rem desktop, 3rem mobile | Orient the operator without brand theatrics. |
| Sidebar | 15.5rem expanded, 4rem rail | Support peer navigation and compact workspaces. |
| Controls | 2rem small, 2.5rem medium, 3rem large | Keep repeated work compact without losing touch targets. |
| Tables | 3rem default row, 2.5rem compact row | Preserve scanning and keyboard focus under density. |
| Type floors | 1rem body, 0.875rem table cells, 0.75rem chart labels, 0.875rem button labels | Density cannot be solved by microscopic text. |
| Buttons | Inline-flex row, label first, optional trailing icon; one primary action per surface | Prevent stacked icon-label buttons, centered badge actions, and petrol used as decoration. |
| Radius | Small radius, no pill default | Avoid generic SaaS softness and badge clutter. |
| Skeleton / hover | --into-app-surface-skeleton and --into-app-surface-hover |
Loading and hover states stay theme-aware without shimmer or raw color values. |
| Overlay / scrim | --into-app-surface-overlay and --into-app-surface-scrim |
Dialogs, sheets, blocked states, and background dimming stay consistent in light and dark mode. |
| Drop and selected state | --into-app-surface-drop-target and --into-app-selected-outline |
Drag/drop, selected rows, active filters, and current-path outlines do not compete with the primary action. |
Density Modes Preserve The Baseline
Compact and comfortable density use the same 0.5rem structural baseline. Compact tightens repeated work by reducing gaps and padding; it does not shrink text below the published floors or remove labels, focus, captions, helper text, or recovery states.
| Mode | Use When | Tokens | Guardrail |
|---|---|---|---|
| Compact | Tables, queues, command lists, traces, and repeated operations where scan density helps the operator. | --into-density-compact-control, --into-density-compact-row, --into-density-compact-gap, --into-density-compact-padding |
Touch-heavy surfaces still use --into-app-touch-target; dense text never drops below type floors. |
| Comfortable | Default app review, approval, prompt composition, evidence panes, media preview, and mixed desktop/mobile work. | --into-density-comfortable-control, --into-density-comfortable-row, --into-density-comfortable-gap, --into-density-comfortable-padding |
Use spacing and hierarchy before adding cards; comfortable is not a decorative roomy dashboard. |
- Compact tightens by roughly one baseline step for gaps and padding compared with comfortable mode.
- Density is a component prop such as
density="compact"ordensity="comfortable", not a per-screen pile of arbitrary classes. - Mixed-density screens keep the primary decision comfortable and repeated support surfaces compact.
App Shell, Navigation, And Command Bar
The shell keeps place, action, and evidence visible. It uses landmarks, current-path signals, and quiet command surfaces before adding containers.
CLIENT / Q2 READINESS
Three workstreams need approval before client rollout.
Owner: Avery. Updated 14 May 2026. Evidence coverage: 82%. Client-visible export is blocked.
Self-Audit Before Implementation
The web-app system must be complete enough that a coding AI can build required applications without inventing interface logic, state behavior, or visual hierarchy.
| Audit Question | Verdict | Implementation Risk | Repair Encoded Here |
|---|---|---|---|
| Light and dark visual tokens | Repaired | Builders would invent skeleton, overlay, hover, drop-target, and selected-outline colors per app. | Theme-aware app aliases now exist in tokens for skeletons, hover, overlays, scrims, drop targets, and selected outlines. |
| Component variants | Repaired | Buttons, drawers, tables, command palettes, approvals, and AI workspaces could diverge across products. | Component State Matrix names variants, states, mobile fallback, and accessibility requirements. |
| Major interaction states | Repaired | Loading, partial, conflict, permission, sync, and reduced-motion behavior would be recreated inconsistently. | Each primitive lists required default, hover, active, focus, loading, empty, error, success, partial, permission, conflict, sync, and reduced-motion states when relevant. |
| Workflow, approval, review, and AI-agent patterns | Repaired | Implementers could still treat AI as chat only or invent pattern-specific styling for streams, citations, traces, model pickers, refusals, feedback, and artifacts. | AI Interface Patterns routes every AI-native surface to brand/ai-interface-patterns.md while AI workspaces expose input, output, evidence, proposed change, approval gate, execution log, rollback, and reviewer state. |
| Complex app layout rules | Pass | Risk remains when teams fill the 12-column grid with equal-weight panels. | Layout uses the containment ladder, dominant region, full-width exhibits for dense data, and mobile task priority. |
| Data-heavy screens, dashboards, forms, tables, timelines, and pipelines | Repaired | Timelines, boards, and pipelines were less explicit than tables and forms. | Data Views And Pipelines defines required controls, states, and responsive behavior. |
| Animation implementation | Pass | Motion can become decoration if a job is not named. | GSAP and PixiJS require a communication job, reduced-motion path, cleanup, static final state, and no decorative loops. |
| Accessibility requirements | Pass | Risk remains if developers use ARIA grids without keyboard models. | Native semantics are preferred; ARIA grid is only allowed when cell navigation/editing is required and keyboard behavior is defined. |
| Responsive implementation rules | Repaired | Mobile could become a squeezed desktop with unusable tables and hidden actions. | Component matrix assigns each dense primitive a mobile fallback: stacked records, sheets, focused routes, or takeaway-first summaries. |
| Reference application primitives | Repaired | The three reference apps could miss required screens, states, or proof criteria. | Reference Application Contracts maps workshop, timesheet, and polling apps to required primitives and QA proof. |
| Executive design quality | Repaired | Examples could pass component coverage while still feeling like a generic SaaS dashboard. | Product Proof requires one dominant viewport, real workflow pressure, and mobile proof before supporting specimens. |
No final screen, implementation guide, or QA checklist is complete until this audit table passes for the target app.
AI Software Platform System
Use brand/ai-software-platform-system.md as the complete source specification for INTO-branded AI products, project systems, content operations, render pipelines, agent workspaces, dashboards, and collaborative operating tools.
Operational editorial software: calm, premium, highly usable, AI-native, and governed. The interface must show what work exists, what AI is doing, what evidence supports it, what needs judgment, and what action is safe next.
React, TypeScript, Tailwind CSS, shadcn/ui-style copied components, CVA variants, Lucide icons, and Motion/Framer Motion are the default implementation bias when the project has no stronger local convention.
Warm Light is the work surface. Blueprint Dark is for command, focus, review, media preview, dramatic conclusion, and high-contrast operator moments. Petrol signals action/current/selected; Saffron signals caution, milestone, comparison, or render checkpoint.
AI output is powerful only when it is governed: source/context, confidence when useful, proposed change, approval gate, execution log, audit event, rollback route, and "needs human judgment" state.
Required Specification Coverage
| Required Section | Where It Is Encoded | Builder Contract |
|---|---|---|
| Design philosophy, assumptions, visual identity | brand/ai-software-platform-system.md sections 1-3 and this section |
Do not produce generic admin surfaces, purple-blue AI tropes, or decorative dashboards. |
| Light/dark tokens, type, spacing, layout, surfaces, motion | Source sections 4-8 plus Layout Tokens | Use rem tokens, baseline rhythm, governed color usage, elevation, glass, glow, and reduced-motion behavior. |
| Core component library | Source section 9 plus Component State Matrix | Every primitive has purpose, anatomy, variants, states, responsive behavior, accessibility, motion, and example use. |
| AI-native, workflow, collaboration, analytics, forms, and states | Source sections 10-15 plus AI Workspace, Data Views, and Collaboration Review | Approval, evidence, versioning, prompt editing, render queues, citations, audit, and recovery are first-class UI patterns. |
| Accessibility, responsive rules, implementation guidance, examples, QA, self-audit | Source sections 16-21 plus A11y, Mobile, Example Screens, and Implementation Guidance | A coding AI must be able to build the first component library and screens without inventing missing state or layout logic. |
Color Usage By Key Element
| Element | Warm Light | Blueprint Dark | Rule |
|---|---|---|---|
| App background | --into-app-surface-page |
--into-app-surface-page |
Warm Light by default; Blueprint only for focused command, review, media, or dramatic moments. |
| Panel / card | --into-app-surface-panel |
--into-app-surface-panel |
Use hairlines before shadows; cards only for peer modules or records. |
| Primary action | --into-accent |
--into-accent |
One petrol-filled primary action per surface. |
| Selected/current | --into-app-selected-outline or --into-accent-soft |
--into-app-selected-outline or --into-accent-soft |
Use text, rail, underline, outline, or soft surface before fill. |
| Accent soft surface | --into-accent-soft / --into-accent-soft-hover |
--into-accent-soft / --into-accent-soft-hover |
Use for selected rows, citation marker backgrounds, disclosure surfaces, and quiet current-path affordances. |
| Accent pastel | --into-accent-pastel |
--into-accent-pastel |
Use sparingly for high-contrast focus details, charts, and accessible dark-mode highlights; never as a new theme. |
| Warning / milestone | --into-state-warning |
--into-state-warning |
Saffron marks caution, deadline, comparison, milestone, or render checkpoint; not buttons. |
| Overlay / modal scrim | --into-app-surface-overlay |
--into-app-surface-overlay |
Dialogs, blocked states, and media previews use token-controlled overlays. |
| Floating / command surface | --into-app-shadow-command |
--into-app-shadow-command |
Elevation supports command focus, dropdowns, popovers, sheets, and media inspection only. |
| Glass / glow | --into-app-glass-surface, --into-app-glow-accent |
--into-app-glass-surface, --into-app-glow-accent |
Reserved for dark/photo/media stages, active command focus, render focus, and selected media frames. |
AI Platform Component Library
| Family | Components | Required Contract |
|---|---|---|
| Shell and navigation | App shell, top nav, sidebar, breadcrumbs, command palette, page headers, tabs, accordions. | Landmarks, current path, keyboard navigation, mobile route or sheet, and permission-limited states. |
| Actions and input | Buttons, button groups, inputs, textareas, selects, comboboxes, checkboxes, toggles, date pickers, uploads. | Labels, helper/error text, dirty/save state, loading, disabled reason, focus-visible, and touch target floor. |
| Data and workflow | Tables, kanban boards, timelines, calendars, workflow pipelines, approval queues, audit logs, charts. | Search, filter, sort, selection, owner, state, evidence, sync, conflict, partial data, and responsive fallback. |
| AI-native work | Agent activity feeds, AI chat panels, prompt editors, output previews, model comparisons, context panels, citation blocks. | Separate user input, AI output, evidence, proposed change, approval, execution log, rollback, confidence/caveat, and source state. |
| Overlays and feedback | Toasts, tooltips, modals, drawers, empty states, loading skeletons, error states, confirmation states. | Focus trap/restore where modal, live regions, recovery copy, no color-only state, and reduced-motion path. |
| Administration | Settings screens, user management, permission matrices, version history, import/export flows, destructive actions. | Role meaning, audit trail, dangerous-change confirmation, second approval when needed, restore preview, and safe fallback. |
AI Interface Patterns Are Named Surfaces
Use brand/ai-interface-patterns.md for the canonical rules. This hybrid section shows how the patterns compose visually; the Markdown owns the detailed purpose, anatomy, states, motion, depth, color, accessibility, and anti-patterns.
AI PATTERN STACK
Prompt, stream, source, trace, and artifact stay separate.
Draft the client summary using attached sources. Stop before export if citations are missing.
The summary is ready as an internal draft. Two claims need source attribution before client-visible export.
GENERATION STATE
--into-ai-stream-chunk-interval, copy while streaming, stop available.| Pattern Group | Canonical Patterns | Builder Contract |
|---|---|---|
| Input and command | Prompt input, slash command menu, attachment panel, model picker. | Use labelled controls, keyboard command navigation, token meters, source scope, permission states, and compact model disclosure. |
| Output and evidence | Streaming text, citations, confidence, disclosure markers, refusal. | Stream in readable chunks, attach citations to claims, explain uncertainty, label draft/final state, and offer a safe next step when declining. |
| Execution and audit | Agent trace, tool call display, generation states, evaluation feedback, generated artifacts. | Default traces collapsed, expose tool summaries before details, preserve audit, capture feedback as an evaluation record, and version generated artifacts. |
Component Variants And States Are Explicit
A reusable app component does not exist in this system until its variants, states, mobile fallback, and accessibility contract are named.
Normal task surface with current owner and available action.
Skeleton retains layout and names what is being fetched.
Incomplete data is useful but clearly bounded.
Reason, owner, consequence, and recovery appear together.
Retry, assign, revert, or request-change path is visible.
Completion records the decision and leaves an audit trail.
PRIMITIVE MAP
Shell, action, table, form, sheet, workflow, AI workspace, approval, and alert share one state grammar.- Variant names are API, not presentation notes.
- Blocked and permission states require a visible reason.
- Mobile fallbacks preserve the next useful decision.
- Accessibility contracts ship with the primitive.
| AI State | Use On | Motion Binding | State Rule |
|---|---|---|---|
| Streaming | AI output, activity feed, transcript, generated draft. | --into-ai-stream-chunk-interval plus --into-motion-measured chunk reveal. |
Readable chunks, copy while streaming, Stop available, critical controls do not move. |
| Generating | Prompt input, artifact preview, render queue, background job tray. | --into-motion-loop with --into-ai-generation-pulse-opacity. |
Show stage, elapsed time, next expected step, cancel/pause when safe. |
| Paused | Long-running generation, upload, render, or tool sequence. | --into-motion-quick state settle; no loop while paused. |
Saffron caution may mark waiting state; resume/cancel route is visible. |
| Refused | Prompt response, export, tool execution, model-limited action. | --into-motion-measured only when the refusal blocks a task. |
Clear refusal, reason, safe alternative, no scolding, no over-apology. |
| Cited | Generated claim, output block, artifact, table cell. | --into-motion-micro marker hover; --into-motion-measured source pane. |
Markers attach to claims and route to source state; broken sources are explicit. |
| Traced | Agent activity, reasoning summary, tool call, audit log. | --into-motion-quick disclosure; --into-motion-measured step insertion. |
Default collapsed, no hidden failed step, no private chain-of-thought exposure. |
Implementation matrix for builders
| Primitive | Variants | Required States | Mobile Fallback | Accessibility Contract |
|---|---|---|---|---|
| App shell | Top nav, sidebar, rail, bottom tabs, command path | Current path, collapsed, expanded, disabled route, permission-limited, offline | Bottom tabs or compact menu with current path retained | Landmarks, skip link, visible focus, route names, no icon-only nav without labels |
| Button / action | Primary, secondary, quiet, icon-only, split, destructive, loading, permission-disabled | Default, hover, active, focus-visible, disabled, loading, current, blocked, destructive-confirmation, request-changes | Touch height at least 2.75rem; primary action moves to visible task location | Accessible name, busy state, tooltip for icon-only, keyboard activation, disabled reason; follows brand/button-system.md |
| Command palette | Global, scoped, action-only, search-only | Open, empty, loading, permission-filtered, shortcut conflict, action result, failed action | Full-screen command route or sheet | Combobox/listbox semantics, arrow navigation, Escape close, focus restore, result count |
| Data table | Static, selectable, sortable, expandable, editable, virtualized | Loading, empty, filtered-empty, selected, focused, disabled row, partial, error, sync-delayed | Stacked record rows with P1 fields visible and row actions persistent | Caption, scoped headers, aria-sort when sortable, row action keyboard access, no hover-only controls |
| Form field | Text, select, checkbox, radio, segmented, date, file, rich text, mapped import column | Idle, focused, dirty, validating, error, success, disabled, read-only, permission-denied | Single column with sticky save bar that never covers focused fields | Visible label, helper/error association, error summary focus, instructions before input |
| Drawer / sheet | Detail, filter, edit, approval, evidence, import mapping | Open, closing, dirty, saving, saved, error, blocked, destructive pending | Full-screen sheet with close, save, and destructive controls reachable | Title, described-by, focus trap when modal, focus restore, Escape behavior |
| Timeline / pipeline / board | Timeline, kanban, approval queue, workflow rail, swimlane | Queued, active, blocked, delayed, completed, skipped, failed, reassigned, dragged | Priority queue list or one-lane stepper with grouped completed items | Ordered list semantics or accessible grid with keyboard drag/reorder alternative |
| AI workspace | Drafting, review, approval, execution, monitoring, rollback | Queued, streaming, cited, partial, low-confidence, needs-human, approved, executing, failed, reverted | Evidence and approval first; transcript moves below or into a sheet | Live region for stream status, source links, human approval control, no irreversible silent action |
| Approval gate | Content approval, execution approval, second approval, client-visible approval | Draft, requested, reviewed, approved, rejected, expired, executed, reverted | Single decision card with evidence count, reviewer, and permitted action | Decision label, reviewer, timestamp, consequence, keyboard confirmation, audit event |
| Toast / alert | Toast, inline alert, page alert, blocking error, system banner | Info, success, warning, critical, retrying, dismissed, resolved | Inline alert near affected task; avoid covering primary controls | Live region, action text, no color-only severity, persistent critical alerts |
Dashboards And Tables Lead With Work
Dashboards summarize decisions only when the user can act. Tables are first-class operational surfaces with captions, sorting, filtering, selection, and recovery states.
ROLL OUT / EVIDENCE
Readiness is mostly blocked by missing owners.
7 since last review.
Owner missing or overdue.
Coverage across workstreams.
| Workstream | Owner | Status | Next Action |
|---|---|---|---|
| CRM handoff | Orion | Approved | Schedule rollout |
| Data import | Unassigned | Needs owner | Assign reviewer |
| Security review | Avery | Blocked | Resolve finding |
Data Tables Are Operational Work Surfaces
A data table is not a spreadsheet skin. It needs comparison, state, selection, permission, sorting, row action, expansion, pagination, and mobile record behavior defined before code.
COMPONENT SPEC / DATA TABLE
Evidence queue with sticky header and mobile record fallback.
Sortable risk, partial evidence, selected row, permission-limited action, expansion, pagination, and stacked mobile records are part of the primitive contract.
| Select state | Workstream asc | Risk desc | Evidence | Owner | Action |
|---|---|---|---|---|---|
| CRM handoff Expansion available |
Medium | 4 of 6 sources attached | Avery | ||
| Security review AI summary pending citation |
High | 2 citations missing | Orion | ||
| Import test Permission-limited row action |
Low | Verified | Operations |
Data Views, Timelines, And Pipelines Have Jobs
Choose the view by the operator's decision. Do not turn every dataset into a dashboard or every workflow into cards.
| View Type | Use When | Required Controls | Required States | Responsive Rule |
|---|---|---|---|---|
| Dashboard summary | The user needs a decision summary before acting. | Period, source, filters, primary next action, drill-in route. | Fresh, stale, partial, empty, calculation error, no permission. | One conclusion and one focused metric group before secondary data. |
| Data table | The user compares records, edits rows, or needs precise values. | Search, filters, sort, view settings, selection, export, row actions. | Loading, empty, filtered-empty, selected, focus, partial, error, sync-delayed. | Stacked record rows when horizontal scroll hides the workflow. |
| Timeline | The user needs sequence, duration, dependency, or milestone clarity. | Time scale, current marker, owner, dependency, milestone, zoom or range. | Upcoming, active, delayed, blocked, completed, skipped, date uncertain. | Turn into grouped phases or a vertical step list with current item first. |
| Pipeline / board | The user moves work through states or reviews bottlenecks. | Columns, WIP count, owner, priority, bulk move, filter, conflict handling. | Queued, active, blocked, dragged, dropped, invalid move, no permission, archived. | Show one priority lane or queue list; avoid miniaturized full boards. |
| Approval queue | The user decides whether work can become visible, executed, or exported. | Reviewer, evidence count, risk, requested action, approve/reject/request changes. | Requested, needs evidence, approved, rejected, expired, executed, reverted. | Use one decision card per item with evidence and consequence visible. |
| Audit log | The user needs accountable history or compliance evidence. | Actor, timestamp, source, prior/new value, reason, filter, export. | Loaded, partial retention, redacted, failed load, permission-limited. | Chronological list with expandable details and source link. |
Form Fields Carry Instruction, Validation, And Recovery
The form primitive defines labels, helper text, validation, dirty state, permission copy, conflict recovery, and mobile save behavior before a reusable field component is built.
COMPONENT SPEC / FORM FIELD
Import mapping form with validation and permission state.
Each field exposes label, helper, error, dirty, validation, save, conflict, and read-only behavior as visible system states.
Forms, States, Drawers, And Modals
Forms are decision tools. Every field needs a label, helper or error state when needed, save/cancel behavior, and keyboard recovery.
SPECIMEN GOVERNANCE
FORM PANEL
Approval detail
Add evidence or mark as accepted risk.
STATE LADDER
PERMISSION / ERROR / PARTIAL DATA
Client export is blocked until evidence and reviewer access are resolved.
Show the cause, affected records, permitted actions, and recovery route without hiding the primary decision.
NEXT USEFUL DECISION
Assign an approver or keep the packet internal.
Overlays Need Consequence, Focus, And Mobile Sheet Behavior
Modals, drawers, and sheets are one primitive family with different interruption levels. Each instance names the object, consequence, focus behavior, close route, and mobile fallback before implementation.
COMPONENT SPEC / MODAL DRAWER SHEET
Approval sheet with focus restore and destructive consequence copy.
The same primitive supports confirm modal, contextual drawer, and full-screen mobile sheet without changing token, focus, or action policy.
APPROVAL SHEET
Approve internal preview only?
Client export stays blocked until the two missing citations are attached.
AI Workspaces Separate Input, Evidence, And Action
AI surfaces use INTO restraint. The interface exposes evidence and approval gates instead of decorative AI styling.
For prompt input, streaming text, citations, agent trace, tool call display, model awareness, confidence, disclosure, refusal, feedback, and attachment/artifact behavior, route to brand/ai-interface-patterns.md before composing the workspace. This section proves the workspace zones; the pattern library owns each AI-native control and state.
AI WORKSPACE / REVIEW
✦ Agent proposes a route change.
Identify stale routing for platform screens and explain what should become canonical.
Route future SaaS, admin, dashboard, and AI workspace work to the web-app system before legacy app drafts.
PROPOSED CHANGE
AI Workspace Shells Keep Evidence And Approval Beside The Work
The AI workspace shell owns zones, hierarchy, responsive behavior, and governance. Detailed AI-native controls still route to brand/ai-interface-patterns.md.
COMPONENT SPEC / AI WORKSPACE SHELL
Review shell with transcript, evidence, approval, and rollback zones.
Mobile promotes the next safe decision and evidence before long transcript history; desktop can show all regions together.
CURRENT PATH
Client Readiness / Export decisionPrepare the client packet, but hold export if evidence is incomplete.
Approve internal preview only. Two citations are missing, so external export should remain blocked.
Collaboration, Review, And Shared Work
Shared work should make ownership, comments, approvals, evidence, permissions, conflicts, notifications, and client visibility explicit only where they change the task.
PRESENCE / OWNERSHIP
Presence Shows Responsibility, Not Social Activity
Show collaborators when their activity changes lock, review, edit, or approval behavior. Avoid avatar piles, decorative online dots, and badge noise.
COMMENTS
Anchored Thread
Comments attach to records, fields, rows, chart points, or evidence. Free-floating comments fail the system.
APPROVAL
Approval Record
Separate comment approval from execution approval. Approval states must say what action is now allowed.
CONFLICT
Resolve With Evidence
Conflicts show prior, attempted, and latest values plus recovery path. AI must not silently overwrite human work.
SHARING
Visibility Is A State
Client-visible and external-link states need explicit labels before export, send, or agent execution.
Reference AI Product Screens
These example screens are implementation contracts, not moodboards. They prove that the component system can support planning, content operations, and video generation without inventing new interaction logic.
PROJECT MANAGER AI
Workstream Command Center
The screen combines project sidebar, command path, timeline, task table, blocker queue, agent proposal, evidence panel, and approval gate.
SOCIAL MEDIA AI SUITE
Campaign Content Operations
Pipeline view moves content from brief to AI draft, brand review, schedule, publish, and performance review with channel previews attached.
Mobile shows approval inbox and scheduled-post preview rather than a squeezed calendar grid.
VIDEO GENERATION PIPELINE
Render Pipeline And Review Room
A dark media stage supports prompt, source, generation, render, review, approval, export, version comparison, and render-error recovery.
Mobile keeps render status plus approve, reject, and request-change decision controls visible.
- Each example must include desktop and 390px mobile behavior, not only a desktop composition.
- Each example must show one next useful decision and at least one failure or recovery state.
- Each example must use component contracts from this document and the full source spec, not local styling inventions.
React, Tailwind, And Shadcn-Style Implementation
The implementation bias is open, copied, token-first component ownership: use mature primitives for anatomy and accessibility, then restyle through INTO tokens, type, radius, density, and state rules.
IMPLEMENTATION CONTRACT
Copy the primitive. Own the system.
Component anatomy comes from mature primitives; every visible decision comes from INTO tokens, state grammar, and governance rules.
Dialog, sheet, tabs, command, toast, tooltip, select, and table behavior stay accessible by default.
CSS variables feed semantic utilities. No raw color, arbitrary spacing, or custom root font-size.
Variants encode tone, size, density, loading, current, blocked, permission, and destructive intent.
Keyboard, focus-visible, reduced motion, mobile, partial data, and recovery are acceptance criteria.
variant="primary" tone="petrol" state="blocked" density="compact"
maps to INTO tokens, not local screen CSS.
Use copied React/TypeScript components, Radix-style primitives, CSS-variable theming, and Lucide icon defaults as anatomy. Do not copy the default visual identity.
Expose INTO variables through Tailwind theme utilities or @theme inline. Component classes reference semantic --into-* variables instead of raw values.
Build reusable variants for variant, size, density, tone, state, isLoading, isCurrent, permissionReason, and destructiveLevel.
Use familiar command icons with currentColor, accessible names, tooltips for icon-only controls, and no decorative badge fields.
Use Motion/Framer Motion for mounted surfaces, layout changes, and workflow transitions only when motion clarifies state. Provide reduced-motion behavior that removes transform-heavy travel.
Every component renders light/dark, keyboard, focus-visible, loading, disabled, error, success, partial-data, permission, conflict, and reduced-motion states where relevant.
Design QA Checklist
| Gate | Pass Condition |
|---|---|
| Routing | Builder read ai/START_HERE.md, this hybrid context, media/web-apps.md, brand/ai-software-platform-system.md, and templates/web-app/style-system.md. |
| Tokens | No raw colors, arbitrary spacing, custom root font-size, negative tracking, or non-tokenized shadows where a token exists. |
| Components | Variants and states are encoded in component props/CVA rather than one-off screen classes. |
| AI governance | AI actions show source/context, proposed change, approval, confidence/caveat when useful, audit, and rollback where needed. |
| Accessibility | Keyboard path, focus-visible, labels, error summary, live regions, touch target, contrast, and 200% zoom are verified. |
| Responsive | Desktop, tablet, and 390px mobile show no squeezed full boards, hidden critical state, cropped buttons, overlap, or sticky-control obstruction. |
| Motion | Animations have a communication job, duration/ease token, cleanup, reduced-motion path, and static final state. |
| Brand defects | No decorative badge walls, nested cards, generic SaaS chrome, purple-blue AI styling, stock imagery, or wrong favicon source. |
Reference Applications Must Be Buildable
The three reference applications are not moodboards. Each one needs enough primitives, states, responsive behavior, and QA proof for a coding AI to implement without guessing.
| Reference App | Required Screens / Regions | Required States | Must Prove Before Final |
|---|---|---|---|
| Collaborative workshop / agent operations room | Agenda, prompt, participant input, poll/vote, evidence panel, owner assignment, timer, AI proposal, approval gate, export state. | Live, paused, empty participant input, submitted, partial evidence, permission blocked, AI streaming, approval requested, approved, export held. | Facilitator can move from prompt to evidence-backed decision to approval/export without losing keyboard access or mobile task priority. |
| Timesheet approval surface | Weekly grid, person/project rows, exceptions, totals, missing-note recovery, approval queue, export/report, audit trail. | Draft, submitted, exception, missing note, approved, rejected, locked, partial export, sync delayed, permission denied. | Reviewer can identify the exception, request correction, approve valid rows, and export with clear totals on desktop and mobile. |
| Polling / route-confidence app | Question, options, live results, response count, abstentions, evidence link, close state, result explanation, reduced-motion result view. | Not started, live, user voted, abstained, closed, tied, low confidence, evidence missing, result published, permission blocked. | Participant can vote or abstain; operator can close the poll, explain the result, and publish only when evidence and permissions pass. |
- Each reference app needs a desktop specimen, 390px mobile specimen, state inventory, keyboard path, and failure/recovery path.
- Final examples must show real data and one next useful decision, not placeholders or generic dashboards.
- If a reference app cannot satisfy this table, repair the system or app spec before building screens.
Responsive Behavior Is A Component Contract
Breakpoints, touch floors, gestures, data-collapse decisions, shell transitions, and density reflow are specified before screen implementation so mobile preserves the work instead of shrinking it.
RESPONSIVE PLAYBOOK
Mobile keeps read, approve, and light edit.
Desktop comparison becomes tablet drawers and mobile stacked records. Gesture shortcuts always have visible controls and keyboard alternatives.
| Gesture | Allowed Use | Required Fallback |
|---|---|---|
| Tap | Primary activation, row expansion, tab switch. | Keyboard Enter/Space and visible focus. |
| Swipe | Non-destructive archive or dismiss where the app teaches it. | Explicit action button and undo when reversible. |
| Drag/drop | Ordering or board movement when movement clarifies state. | Keyboard move control or action menu alternative. |
Mobile Keeps Read, Approve, And Light Edit
The mobile interface is not a squeezed dashboard. It preserves the operator's primary task and moves dense tables into stacked record summaries.
TODAY / NEEDS REVIEW
Data import cannot go client-visible.
Assign an owner before the client packet is generated.
RESPONSIVE TASK MAP
MOBILE REVIEW RULE
Below 768px, mobile preserves the next useful decision. Touch targets stay at least 44px, sticky save bars must not cover fields, and dense data turns into ranked records rather than horizontal squeeze.
GSAP And PixiJS Are Capabilities, Not Decoration
Use GSAP for precise interface sequencing and PixiJS for simple 2D canvas renderings only when static HTML, CSS, or SVG would make the interaction less clear or less performant.
GSAP / INTERACTION
Sequence State, Not Ornament
Allowed for drawer transitions, workflow step changes, evidence reveal, AI stream settling, chart callouts, command palette entrance, and drag/drop feedback.
gsap.matchMedia().add({
reduceMotion: "(prefers-reduced-motion: reduce)"
}, ({ conditions }) => {
return conditions.reduceMotion
? gsap.set(node, { autoAlpha: 1 })
: gsap.to(node, { autoAlpha: 1, y: 0 });
});
PIXIJS / SIMPLE RENDERING
Canvas For Dense 2D Explanations
Allowed for lightweight node maps, dense 2D timelines, spatial queues, mini simulations, and canvas-heavy status views with static fallback.
const app = new Application();
await app.init({ resizeTo: container, backgroundAlpha: 0 });
container.appendChild(app.canvas);
app.ticker.add((ticker) => update(ticker.deltaTime));
Operational UX Is Part Of Styling
Core product surfaces must define lifecycle, permissions, audit trail, command palette, bulk actions, inline editing, sync, import/export, version history, null data, and destructive actions.
RECORD LIFECYCLE
Each state defines allowed actions, owner, audit event, recovery path, and mobile behavior.
COMMAND PALETTE
Commands expose scope, permission, confirmation level, shortcut, and recovery state.
ERROR SEVERITY
- Field error: inline message.
- Inline warning: affected element.
- Blocking error: recovery path.
Errors name what failed, what changed, and what the operator can do next.
SYNC STATES
Stale or partial data must say affected records and last successful sync.
Keyboard, Semantics, And Recovery Are Mandatory
Dense operator tools need explicit keyboard models, screen-reader semantics, validation recovery, and null-data rules before they are implementation-ready.
| Surface | Requirement | Failure To Avoid |
|---|---|---|
| Table | Caption, scoped headers, sortable state, row focus, keyboard row actions. | Hover-only actions or color-only state. |
| Form | Label, error summary focus, inline error, dirty/save state. | Placeholder as label or hidden validation. |
| Dialog | Title, description, focus trap, focus restore, escape behavior. | Modal used for primary browsing. |
| Canvas | Static fallback, accessible summary, keyboard equivalent controls. | PixiJS as the only source of data meaning. |
Component-Specific Accessibility Checklist
| Component | Keyboard / Focus | Screen Reader / Semantics | State / Recovery |
|---|---|---|---|
| App shell | Skip link, landmark order, current route, labelled collapsed nav. | Navigation names, current state, no icon-only primary route. | Offline and permission states keep safe routes visible. |
| Data table | Row selection, row action, expansion, and pagination reachable without hover. | Caption, scoped headers, aria-sort, selection count, partial-data copy. |
Loading, empty, filtered-empty, error, permission, and sync-delayed states. |
| Form field | Error summary receives focus; save/cancel follows field order. | Visible label, helper/error association, required text, native input first. | Dirty, validating, conflict, disabled reason, and read-only reason visible. |
| AI workspace shell | Approval controls precede irreversible execution and remain reachable on mobile. | Restrained live status, cited source links, model/tool metadata in text. | Needs-human, failed, reverted, and rollback states are explicit. |
| Modal / drawer / sheet | Focus trap when modal, focus restore, Escape behavior, close visible. | Dialog title, description, affected object, inert background. | Dirty, saving, destructive consequence, permission, and blocked states. |
| Toast / alert | Dismiss/retry actions keyboard reachable without covering primary work. | Live region and severity in text. | Critical alerts persist; severity is not color-only. |
Contrast Verification
| Pair | Warm Light | Blueprint Dark | Result |
|---|---|---|---|
| Primary text on page | 16.67:1 | 15.83:1 | AA pass |
| Secondary text on page | 13.01:1 | 11.60:1 | AA pass |
| Muted text on page | 7.14:1 | 7.10:1 | AA pass |
| Primary text on panel | 15.43:1 | 14.66:1 | AA pass |
| Inverse text on accent action | 9.44:1 | 7.57:1 | AA pass |
| Warning, positive, and critical state pairs | 5.02:1 to 11.14:1 | 6.71:1 to 11.78:1 | AA pass |
Rules For AI Implementers
Agents must route here before using legacy app drafts or external component references.
Need a source for the 61% evidence coverage before client view is enabled.