Back to changelog index

10.0.2

May 26, 2026 · 5 packages · 12 unique changes · 6 release entries

libsBreaking changes

This release affects the contracts, sharedLibs familyies.

Run contractspec connect adoption resolve --family contracts to see how it impacts your project.

Release summaries

  • adaptive-adoption-toolkit

    Add adaptive-experience templates, onboarding flows, explanations, and adoption recipes.

    maintainer

    Personalization now includes reusable adaptive templates, onboarding flow definitions, explanation copy, risk policy helpers, adoption recipes, scenarios, and migration paths.

    integrator

    Applications can pick a starting template, render UI-agnostic onboarding questions, show explainable recommendations, and evolve scoped preferences safely.

    customer

    Adaptive changes can be explained as reversible, scoped suggestions based on observable patterns rather than hidden user labels.

  • adaptive-application-integration

    Add reusable adaptive-experience integration helpers for applications.

    maintainer

    Adaptive experience primitives now have package-level integration helpers for events, presentation defaults, forms, and DataView/DataTable interaction surfaces.

    integrator

    Applications can plug in adaptive defaults and behavior-event emission without making design-system components depend on personalization storage.

    customer

    Applications can remember or suggest scoped view, density, data-depth, and support changes in a way users can inspect and override.

  • adaptive-experience-foundation

    Add transparent adaptive-experience primitives to the personalization library.

    maintainer

    Personalization now separates interaction preferences, behavior support strategy, behavior evidence, and runtime adaptive decisions into additive public contracts.

    integrator

    Apps can recommend editable interaction and behavior support presets, represent behavior signals as scoped evidence, and resolve runtime-only adaptive actions bounded by permissions and policy.

    customer

    Adaptive experiences can explain what changed, why it changed, and how users can override or undo the change.

  • adaptive-shell-personalization

    Add runtime-only adaptive shell projection helpers that map existing personalization preferences into shell layout/navigation hints while preserving fail-closed safety boundaries and adaptive runtime-action evidence.

    maintainer

    Add runtime-only adaptive shell projection helpers that map existing personalization preferences into shell layout/navigation hints while preserving fail-closed safety boundaries and adaptive runtime-action evidence.

    integrator

    Add runtime-only adaptive shell projection helpers that map existing personalization preferences into shell layout/navigation hints while preserving fail-closed safety boundaries and adaptive runtime-action evidence.

  • integration-hub-uplift-phase-2-personalization

    Add integration-hub adaptive recipes and auditor/founder-approver lenses to lib.personalization.

    integrator

    New `src/adaptive-recipes/integrations/` module adds density profiles per persona (5 personas × 3 dimensions), top-N integration ranking by behavior signal × persona affinity (3 seed scenarios, deterministic), auditor evidence-export lens, and founder approval-flow ribbon. Consume via existing `lib.personalization` public API — no new entry points required.

    maintainer

    Integration-hub recipes are read-only consumers of the frozen integration-rolemorph.ts capability table (Lane 0, bundle.managed-companyos). Fixtures live in `adaptive-recipes/integrations/fixtures.ts` and are deterministic across the 3 seed scenarios tested by Lane T.

  • rich-ref-personalization-s4

    S-4: Hybrid RichReference personalization (server-coarse + client-fine) implementing the `CoarsePreferencesProvider` port. Subpath rename `./rich-code-preferences` → `./rich-reference/preferences`.

    maintainer

    Server-coarse (enrichedKinds, density) resolved via `(tenantId, subjectId, scopeHash)` cache key (F-7). Client-fine (verbosity, trigger, panelMode, expansion, perKindOptOut) in a session-only store; only `persistPreferences()` propagates (R-7). `toAgentPayloadPreferences` strips fine-layer dimensions (AC-14). `resolveInherited` enforces explicit last-wins precedence (AC-13).

    integrator

    Update imports from `@lssm-tech/lib.personalization/rich-code-preferences` to `@lssm-tech/lib.personalization/rich-reference/preferences`. Codemod ships in `@lssm-tech/tools.contractspec-codemods` (`personalization-imports`). No transitional alias per consensus Non-Goal N-1.

Deprecations

  • - Removed subpath export `@lssm-tech/lib.personalization/rich-code-preferences`.

Migration guide

  • Run the personalization-imports codemod

    Required

    Mechanical rewrite of `rich-code-preferences` imports to `rich-reference/preferences`.

    1. bun packages/tools/contractspec-codemods/scripts/apply.ts --codemod personalization-imports --roots <your-roots>

Upgrade steps

  • Review Adaptive Shell Personalization adoption

    manual

    Add runtime-only adaptive shell projection helpers that map existing personalization preferences into shell layout/navigation hints while preserving fail-closed safety boundaries and adaptive runtime-action evidence.

    Packages: @lssm-tech/lib.personalization

    1. Review the paired changeset summary and update consumers only if they use the affected package surface.
  • Update personalization imports

    assisted

    Move `rich-code-preferences` consumers to `rich-reference/preferences`.

    Packages: @lssm-tech/lib.personalization

    1. Run the bundled codemod, or grep-replace `@lssm-tech/lib.personalization/rich-code-preferences` → `@lssm-tech/lib.personalization/rich-reference/preferences`.
    2. Re-typecheck affected packages.
  • Start adaptive experiences from templates and onboarding flows

    assisted

    Use templates, onboarding flows, explanation messages, and recipes as additive adoption helpers on top of the existing adaptive-experience primitives.

    Packages: @lssm-tech/lib.personalization

    1. Pick an adaptive template as an editable starting point.
    2. Render UI-agnostic onboarding questions in the host application.
    3. Show recommendation reasons, alternatives, fallback dimensions, and safety notes.
    4. Use risk helpers to require confirmation for high-impact or never-silent changes.
    5. Keep product-specific templates and policies outside the generic ContractSpec OSS layer.
  • Adopt adaptive runtime adapters at application boundaries

    assisted

    Resolve adaptive experience once in the runtime layer, pass plain props into UI components, and emit explicit behavior evidence when users manually change settings.

    Packages: @lssm-tech/lib.personalization, @lssm-tech/lib.presentation-runtime-core, @lssm-tech/lib.presentation-runtime-react, @lssm-tech/lib.contracts-runtime-client-react, @lssm-tech/lib.design-system

    1. Use `AdaptiveExperienceEmitter` and adaptive event builders for runtime events.
    2. Use `resolveAdaptivePresentationDataView` or `useAdaptiveDataView` to produce DataView props.
    3. Keep product-specific persistence and policy in the application package.
    4. Do not persist `ResolvedAdaptiveExperience` as a hidden profile.
  • Use adaptive experience primitives for transparent personalization

    assisted

    Layer behavior support and evidence-based suggestions on top of existing PreferenceDimensions without replacing authorization or business rules.

    Packages: @lssm-tech/lib.personalization

    1. Keep `PreferenceDimensions` focused on software/tool interaction.
    2. Use `BehaviorSupportDimensions` for action, recovery, reflection, and accountability support.
    3. Represent observed behavior with `BehaviorSignalModel` and user-facing reasons.
    4. Resolve `ResolvedAdaptiveExperience` at runtime instead of storing it as a hidden profile.

Unique release changes

  • - Add reusable adaptive-experience integration helpers for applications.

    5 packages · 5 occurrences

  • - Resolve adaptive experience once in the runtime layer, pass plain props into UI components, and emit explicit behavior evidence when users manually change settings.

    5 packages · 5 occurrences

  • - Add runtime-only adaptive shell projection helpers that map existing personalization preferences into shell layout/navigation hints while preserving fail-closed safety boundaries and adaptive runtime-action evidence.

    1 packages · 2 occurrences

  • - Add adaptive-experience templates, onboarding flows, explanations, and adoption recipes.

    1 packages · 1 occurrences

  • - Add integration-hub adaptive recipes and auditor/founder-approver lenses to lib.personalization.

    1 packages · 1 occurrences

  • - Add transparent adaptive-experience primitives to the personalization library.

    1 packages · 1 occurrences

  • - Layer behavior support and evidence-based suggestions on top of existing PreferenceDimensions without replacing authorization or business rules.

    1 packages · 1 occurrences

  • - Mechanical rewrite of `rich-code-preferences` imports to `rich-reference/preferences`.

    1 packages · 1 occurrences

  • - Move `rich-code-preferences` consumers to `rich-reference/preferences`.

    1 packages · 1 occurrences

  • - Removed subpath export `@lssm-tech/lib.personalization/rich-code-preferences`.

    1 packages · 1 occurrences

  • - S-4: Hybrid RichReference personalization (server-coarse + client-fine) implementing the `CoarsePreferencesProvider` port. Subpath rename `./rich-code-preferences` → `./rich-reference/preferences`.

    1 packages · 1 occurrences

  • - Use templates, onboarding flows, explanation messages, and recipes as additive adoption helpers on top of the existing adaptive-experience primitives.

    1 packages · 1 occurrences

Impacted packages

  • @lssm-tech/lib.contracts-runtime-client-react

    Layer: libs · 2 changes

  • @lssm-tech/lib.design-system

    Layer: libs · 2 changes

  • @lssm-tech/lib.personalization

    Layer: libs · 2 changes

  • @lssm-tech/lib.presentation-runtime-core

    Layer: libs · 2 changes

  • @lssm-tech/lib.presentation-runtime-react

    Layer: libs · 2 changes