Release summaries
adaptive-object-reference-panel
Promote object-reference detail panels to a reusable adaptive sheet/drawer surface.
maintainer
Design-system now exposes AdaptivePanel as the shared responsive sheet/drawer primitive and wires object-reference details through it.
integrator
ObjectReferenceHandler supports same-page vs new-page detail opening, rich nested properties, and configurable sheet/drawer behavior with responsive defaults.
customer
Reference interactions can show richer details in a desktop sheet or mobile drawer without custom per-screen logic.
adaptive-panel-menu-migration
Route design-system mobile menu overlays through the shared AdaptivePanel primitive.
maintainer
Header and marketing header mobile menus now use AdaptivePanel instead of direct sheet composition, leaving sheet/drawer primitives behind the shared overlay adapter.
integrator
Design-system overlay behavior is more consistent because mobile menu panels and object references share the AdaptivePanel boundary.
customer
Mobile menus keep the same behavior while using the shared responsive panel implementation.
agent-workflow-ui-enhancements
Enhanced agent-workflow-command-center with comprehensive UI interactions
maintainer
Enhanced agent-workflow-command-center with comprehensive UI interactions including CRUD operations, workflow builder, review queue, and real-time dashboard.
customer
Users get enhanced UI with full CRUD operations for agents, workflow builder with templates, review queue with actions, and real-time dashboard with widgets.
application-shell-navigation
Add design-system application shell primitives with typed navigation, command search, breadcrumbs, native bottom-tab adaptation, and PageOutline support.
maintainer
Design-system maintainers now have a focused shell API for application frames, navigation sections, breadcrumbs, commands, and page outlines.
integrator
Web and Expo app developers can adopt AppShell and PageOutline from the shell subpath while existing AppLayout, AppSidebar, AppHeader, NavLink, and NavSection imports remain supported.
customer
Documentation readers get public library docs with copy-ready AI prompts for fresh application shell implementation and existing-app refactors.
appshell-notification-layout
Fix AppShell desktop sidebar collapse/layout and web notification dismissal behavior.
integrator
AppShell now keeps the desktop topbar inset beside the sidebar, exposes a shared sidebar collapse trigger, and dismisses the web notification panel on outside click, Escape, or trigger toggle.
billing-os-ui-uplift
Add BillingOS UI uplift — Cluster A + B ports, presenter seam, atoms, molecules, and templates.
maintainer
Seven new DS atoms (MoneyInput, PercentInput, AutocompleteCombobox, FieldLabel, FieldHint, FieldError, UndoToast) are exported from the lib.design-system root. billing-spec gains a ./contracts subpath with two search query contracts and a registry (8 entries total after Phase 3 status-transition contracts: InvoiceStatusTransitionContract, PaymentReconcileContract, ReviewDecisionContract). billing-runtime gains a ./fixtures-rich subpath with rich test fixtures. billing-os gains ports interfaces, a PortsProvider/usePorts React API, a spec→view-model presenter seam with documented losses, money/validator utilities, 6 new molecules, 4 new templates, atomic-layer barrel re-exports, QuoteEditor uplift (Phase 2), and Phase 3 other-surfaces uplift: 3 new state hooks (useInvoiceCard, usePaymentCard, useReviewItemCard), 2 new JSX-only organisms (InvoiceLineItemsSection, PaymentReconciliationPanel), refactored JSX-only organisms (InvoiceCard, PaymentCard, ReviewItemCard), all 6 workspace screens wrapped in BillingPageShell + WorkspaceHeader, and extended presenter losses for invoice and payment surfaces.
integrator
All existing consumer imports continue to resolve unchanged. New molecules, templates, hooks, and organisms are additive. The presenter seam documents which spec fields are dropped (losses array) so integrators can decide whether to map them in a later phase. Port interfaces must be wired through PortsProvider before the new autocomplete pickers operate. Status-transition actions (invoice, payment, review) are now contract-backed via billingContracts.
comm-os-cross-surface-consolidation
Move CommunicationOS composite presentational components from lib.design-system to module.communication-os (CommOsLegacyComposites).
maintainer
The design-system no longer owns CommunicationOS composite components. They live in the module layer where they have domain context. CI lint now enforces the old path is not re-imported.
integrator
Import CommunicationWorkQueue, CommunicationThreadTimeline, SourceEvidenceList, ReplyDraftReviewPanel, PolicyDecisionBanner, HandoffPacketCard, ActionCandidateList, IdentityLinkReviewCard, and ChannelCapabilityMatrixView from @lssm-tech/module.communication-os/ui instead of @lssm-tech/lib.design-system/components/communication-os.
commos-design-system-overlap
Migrate CommOS composite components out of lib.design-system into module.communication-os/ui (G010)
maintainer
The nine CommOS composite components previously under @lssm-tech/lib.design-system/components/communication-os are migrating to their canonical home in @lssm-tech/module.communication-os/ui. This changeset records the library-level impact. The G010 changeset records the module-level additions. Import from @lssm-tech/module.communication-os/ui for all new and migrated consumers. PENDING: If G010 removes the design-system subpath without a shim, this changeset must be reclassified as major/breaking and this release.yaml updated (isBreaking: true, releaseType: major) before the release is cut.
customer
CommOS UI components should be imported from @lssm-tech/module.communication-os/ui. The @lssm-tech/lib.design-system/components/communication-os import path is being deprecated and will be removed in an upcoming release.
data-table-ux-stability-upgrade
Harden the shared data-table stack and add a first-class composed toolbar for search, filter chips, selection summary, and hidden-column recovery.
maintainer
The shared table controller now sanitizes stale row and column state, and the design-system exports `DataTableToolbar` as the preferred composed UX layer above the primitive tables.
integrator
Integrators can adopt `DataTableToolbar` without changing the underlying `DataTable` or `useContractTable` API, and server-paginated tables now behave more defensively when data, columns, or totals change.
customer
The CRM and canonical data-grid examples now expose search, filter chips, selection summaries, safer column recovery, and less failure-prone table interactions across web and native paths.
dataview-renderer-split
Split DataViewRenderer.tsx into per-kind modules for extensibility.
maintainer
DataViewRenderer.tsx (809 lines) and DataViewRenderer.native.tsx (776 lines) are replaced by 13 focused modules. All public exports, props, and runtime behavior are preserved. New DataViewRendererSwitch with fallback prop enables adding graph/timeline kinds in Phase 3 without touching the orchestrator files.
integrator
No API changes. DataViewRenderer still exports the same props interface and renders the same output. Import paths from @lssm-tech/lib.design-system are unchanged.
design-system-adaptive-panel-native-behavior
Native AdaptivePanel now honors mode/side/direction props, adds gesture swipe-to-dismiss, focus trap + accessibilityViewIsModal + dialog role, tokenized styles, and reduced-motion-gated spring/slide. Previously these props were declared but ignored.
integrator
BREAKING (native only) — the native AdaptivePanel previously ignored mode/mobileMode/desktopMode/breakpoint/sheetSide/drawerDirection (no-ops) and rendered a fixed bottom sheet with a stray always-visible, inert trigger. It now resolves the mode via useResponsive.native, slides from the resolved side/direction, supports react-native-gesture-handler swipe-to-dismiss (fires onOpenChange(false)), traps focus with accessibilityViewIsModal + a dialog role and returns focus on close, tokenizes the scrim/radius/max-height, and gates motion on reduced-motion. The `trigger` prop is now optional and, when provided, is rendered as a button that calls onOpenChange(true) on press (web Radix Sheet/Drawer parity) instead of an inert sibling; omit it for fully host-controlled panels. Any native consumer that passed these props will now see active behavior.
agent
Web AdaptivePanel is unchanged in behavior (Radix Sheet/Drawer) aside from tokenized max-height. The breaking change is scoped to the React Native lane.
design-system-codeblock-actions
Add an opt-in download action and grouped action toolbar to the design-system CodeBlock.
maintainer
CodeBlock actions are now grouped in a token-aware toolbar, with copy preserved and an additive opt-in download action.
integrator
Consumers can enable code downloads with `showDownloadButton`, customize the saved filename with `downloadFilename`, and observe initiated downloads through `onDownload`.
design-system-codeblock-dual-theme
Consolidate CodeBlock syntax highlighting on the design-system molecule with Shiki dual-theme support.
maintainer
The shared CodeBlock molecule now owns Shiki dual-theme rendering and ContractSpec/Tailwind token framing; web landing no longer carries a duplicate CodeBlock implementation.
integrator
Apps can use the design-system CodeBlock for syntax highlighting that follows the standard `.dark` application theme and can override the light/dark Shiki theme pair through props.
design-system-codeblock-metadata
Add optional description and comment metadata slots to the design-system CodeBlock.
maintainer
CodeBlock can now carry filename-adjacent descriptions and footer comments without app-local wrapper text.
integrator
Use `description` to explain what a snippet is and `comment` to attach provenance, replay, safety, or interpretation notes.
customer
Evidence receipt code samples now include their replay context directly in the code block.
design-system-core-hardening
Add focused design-system subpaths and harden ThemeSpec runtime, Tailwind bridge, form-control helpers, and form renderer internals without changing root-import compatibility.
maintainer
Maintainers now have smaller internal design-system modules and focused subpaths for theme, controls, forms, layout, and renderers.
integrator
Integrators can keep root imports or adopt focused subpaths such as `@lssm-tech/lib.design-system/theme` and `@lssm-tech/lib.design-system/forms`.
customer
Contract-rendered forms and themed controls keep the same behavior while the design-system internals become easier to maintain.
design-system-dataview-native-uplift
Restore silently-dropped native DataView render props, replace Unicode mode-switcher glyphs with real icons, honor native field actions, add renderer-level empty/loading defaults with skeletons, and route FiltersToolbar copy through i18n.
integrator
Native DataViewRenderer now forwards renderFieldValue / getFieldClassName / getFieldLabelClassName / row-selection props (previously dropped at the native switch), renders real lucide-react-native mode icons (LayoutGrid/Table/List) instead of Unicode glyphs, honors intelligent field actions via the shared resolveFieldActionsPolicy (no longer hardcoded "hidden"), and provides renderer-level empty/loading defaults with animated skeletons. FiltersToolbar search/clear/remove copy is routed through resolveTranslationString (default English, localizable) instead of hardcoded French.
agent
fieldActions.shared.ts exposes the pure resolveFieldActionsPolicy(field,value,density,hostPolicy) resolver (guard precedence hidden->blocked->destructive->approval->auto; compact density trims copy) consumed read-only by both web and native field-action paths.
design-system-diffblock
Add a ContractSpec-owned DiffBlock molecule for web and native diff review surfaces.
maintainer
DiffBlock is now owned by the design-system package, exposing a shared diff review primitive for web and native surfaces.
integrator
Consumers can import DiffBlock from the design system instead of reimplementing diff layout per surface.
design-system-entity-workspace-uplift
Split EntityWorkspace web+native into internal modules, close native tone/feature parity, unify field rendering through a shared descriptor, add reduced-motion-gated micro-interactions, and render the detail empty-state inline in the master-detail pane.
integrator
EntityWorkspace public entries are unchanged; native now reaches parity — EntityMetricStrip/EntityEvidenceBlock gain tone coloring + useThemedPrimitive, the native results toolbar (search/filters/sort), toolbarActions, personalization, and renderDetail are wired, and native cards gain a reduced-motion-gated press micro-interaction. The web detail "select a record" empty-state now renders inline beside the list (no longer hidden behind a closed drawer when nothing is selected).
agent
Web and native field rendering are unified through internal/field-render.shared resolveEntityFieldDescriptor (descriptors, not JSX); the native NativeEntityDetail/NativeDetailField/formatNativeFieldValue reimplementation is removed. denial-token/redaction handling is shared across platforms.
design-system-select-groups
Add grouped option support to design-system Select controls across web and native.
maintainer
The design-system Select wrappers now share grouped-option normalization and expose a typed grouped Select API.
integrator
Existing flat Select options keep working, while callers can opt into translated grouped option sections on web and native.
customer
Select controls can now present options in labelled groups consistently across web and native surfaces.
design-system-themed-controls
Add a ThemeSpec-aware and TranslationSpec-aware design-system form/control layer with stack primitives, exported control wrappers, and FormSpec renderer alignment.
maintainer
Maintainers now have a shared design-system control boundary for forms, stacks, themes, translations, and FormSpec rendering.
integrator
Integrators can import themed and translated controls from `@lssm-tech/lib.design-system` instead of reaching into web or native UI kit primitives directly.
customer
Product surfaces and contract-rendered forms can now share the same ThemeSpec-aware and TranslationSpec-aware design-system controls across web and React Native.
design-system-token-backed-entity-primitives
Add token-backed neutral EntityWorkspace metric and evidence primitive paths and align entity-surface docs.
integrator
Product shells can import neutral EntityMetricStrip and EntityEvidenceBlock subpaths with native-paired entrypoints while keeping domain copy in adapters.
agent
Entity-surface docs now recommend EntityWorkspace for product shells and keep DataViewRenderer positioned as the lower-level renderer path.
design-system-ux-uplift-foundation
Add motion/elevation/density token scales, wire CVA tone/density variants, animate native skeletons, add useMotion(.native), and declare lane-split animation peer deps.
integrator
New motion (duration/easing), structured elevation (web box-shadow + native shadow object), and density token scales flow tokens.ts -> web CSS vars (--ds-motion/-elevation/-density-*) and native tokenBridge. New ./platform/useMotion(.native) hook returns reduced-motion-gated transition config. dsBaseVariants tone/density now emit token-backed classes.
agent
Animation libraries are declared as split-by-lane peers — framer-motion is a non-optional web peer (resolves via @lssm-tech/lib.ui-kit-web); react-native-reanimated/-gesture-handler/-svg are OPTIONAL native peers so web-only consumers are not required to install them.
entity-workspace-appshell-explicitness
Require explicit EntityWorkspace and AppShell contracts across web and native design-system surfaces.
maintainer
EntityWorkspace and AppShell public props now enforce explicit host-owned state, callbacks, shell slots, and customization contracts at the type level.
integrator
Consumers must pass explicit nulls, empty collections, and no-op callbacks instead of relying on optional defaults for EntityWorkspace and AppShell.
entity-workspace-detail-navigation
Add standardized EntityWorkspace detail-page navigation action props.
maintainer
EntityWorkspace now has first-class detail-page navigation props and tests covering web/native detail panel rendering.
integrator
Hosts can pass `buildDetailPageLink` and `onNavigateToDetailPage` to render a standard full-page navigation action inside the detail panel without coupling design-system to a router.
customer
Entity detail panels can now include a consistent full-page open action across web and native apps.
entity-workspace-listing-workbench
Add cross-platform EntityWorkspace listing workbench controls with contract-aware intent resolution and host-owned side effects.
maintainer
Maintainers get additive public types and tests for EntityWorkspace workbench intent resolution without provider/runtime coupling.
integrator
App teams can use built-in EntityWorkspace create, refresh, force-sync, and cache status controls while executing concrete side effects in host adapters.
entity-workspace-native-fixes
Fix React Native EntityWorkspace open actions, collection mode rendering, icon switcher affordances, and scrollable panels.
maintainer
Native EntityWorkspace now has regression coverage for Open row actions, native collection renderer resolution, icon switcher affordances, and scrollable AdaptivePanel content.
integrator
React Native and Expo hosts get working Open buttons on result cards/rows, distinct list/grid/table modes, accessible icon mode switching, and scrollable detail/edit panels.
customer
Native entity workspaces now open records from the Open button, show different list/grid/table views, and allow long detail or edit sheets to scroll.
forms-option-surface-aliases
Add ThemeSpec Tailwind aliases for FormSpec option surface backgrounds.
maintainer
The ThemeSpec Tailwind bridge now emits shadcn-compatible color aliases for popover, card, and input surfaces.
integrator
Apps using generated design-system theme CSS get the color aliases expected by Radix/shadcn select and combobox primitives.
customer
Contract-rendered select and combobox option panels keep a proper themed surface instead of falling back to transparency when the app relies on ThemeSpec CSS.
forms-password-visibility-toggle
Fix FormSpec password visibility toggles so rendered password fields can reveal and re-mask values.
maintainer
The web password primitive now keeps its computed `type` authoritative over upstream input props from FormSpec renderers.
integrator
Design-system FormSpec renderers can pass legacy `type: "password"` hints without disabling the visibility toggle.
customer
Contract-driven password fields now reveal the password when the visibility toggle changes from closed eye to open eye.
forms-phone-ux-regression
Fix FormSpec phone country-select rendering to remove duplicated country adornments.
customer
Split FormSpec phone fields now show one clear country selector instead of duplicating the flag and calling code beside the select.
integrator
Design-system phone country options now honor the configured flag/calling-code display parts, while the selected country control owns those adornments in select mode.
m3-design-system-template-prop-shapes
M3 — Breaking template prop shape changes across all 5 graph templates (remove onAction/isLive/time-scrub M2 props; add onDrilldown(node), p6, p7 tunnels). Density-state auto-shift. M3 engineer/manager signature treatments.
maintainer
All five graph templates have updated prop shapes. Remove M2 props (onAction, isLive, liveLabel, onRestoreView, steps, snapshotCursor, snapshotTimestamps, onScrub) and add M3 equivalents (onDrilldown, p6, p7).
integrator
Any code rendering WorkflowDagView, AgentTreeView, ConversationGraphView, EngineeringLoopView, or PersonActivityView must be updated to the M3 prop surface. onAction is removed; use onDrilldown(node). Time-scrub props replaced by TimeScrubber component.
customer
Graph template surfaces now support export, annotation, story-mode (via p6) and AI interaction (via p7). Analysis-mode triggers a visual density shift for richer exploration.
native-appshell-tabs
Replace native AppShell custom bottom tabs with Expo Router NativeTabs layout-adapter behavior as a breaking native-shell behavior change.
integrator
Native AppShell now expects Expo Router layout usage and renders primary navigation through `expo-router/unstable-native-tabs` instead of the design-system custom BottomTabs row.
maintainer
AppShell native tab mapping is governed by `AppShell.native-helpers.ts`; unsafe primary tab hrefs fail fast and the public BottomTabs export remains available for non-shell consumers.
native-design-system-platform-suffix
Migrate design-system platform implementation suffixes from `.mobile` to `.native`.
integrator
Design-system platform variants now use Metro's standard `.native` suffix and no longer publish `.mobile` subpaths.
maintainer
Package exports, registry metadata, and cross-platform UI docs now describe `.tsx` / `.native.tsx` renderer pairs.
native-form-renderer
Add a React Native FormSpec renderer variant for contract-driven mobile screens.
maintainer
The design-system form-contract renderer now has native conditional exports and native slot wiring while preserving the existing web renderer.
integrator
React Native hosts can import the form-contract renderer through native package conditions or explicit `.native` subpaths to render FormSpec screens with design-system native controls.
customer
Contract-driven forms can now appear in mobile/native screens using the same FormSpec surface as web forms.
notion-page-outline
Improve PageOutline desktop behavior with a Notion-like floating rail, and hide the AppShell page outline on small web screens to preserve layout stability.
integrator
AppShell consumers get a floating desktop PageOutline that no longer reserves a right content column, while small web screens hide the outline instead of rendering a compact dialog.
maintainer
Design-system maintainers can opt PageOutline into a floating variant while preserving existing rail and compact variants for direct component usage.
object-reference-handler
Add an extensible design-system object reference handler for actionable references.
maintainer
The design-system package now exposes a public object-reference component group with schema-friendly descriptors, runtime action handlers, and paired web/native implementations.
integrator
Product surfaces can replace inert addresses, phone numbers, users, customers, files, URLs, and custom references with one extensible interaction surface.
customer
Reference text can now offer quick actions such as copy, open, call, or maps navigation from a consistent interaction surface.
rich-reference-breaking-release
Rich-reference foundation — single coordinated release across 11 packages (S-0..S-13). See MIGRATION.md at the repo root.
maintainer
11-package coordinated release lands the rich-reference foundation. AC-17 release gate enforced via `.github/workflows/rich-reference-migration-gate.yml`.
integrator
Downstream consumers must run the bundled codemods (`@lssm-tech/tools.contractspec-codemods`) before bumping the 11 listed packages in lockstep. Chrome props (`filename`, `description`, `showDownloadButton`) are dropped on migrated `<CodeBlock>`/`<DiffBlock>` callsites — re-add per the patterns in `packages/tools/contractspec-codemods/MIGRATION.md`.
unified-design-system-tabs
Add a unified design-system Tabs primitive and migrate local tab consumers away from ui-kit leaf imports.
maintainer
Maintainers can expose tabbed product surfaces through the design-system root instead of choosing between web and native UI-kit tab APIs.
integrator
Integrators can use one `Tabs` API with optional `value`, `defaultValue`, and `onValueChange` props across web and native surfaces.
customer
Example dashboards and execution consoles keep their existing tabbed UX while using the cross-platform design-system primitive.
