Back to changelog index

2.1.2

Jul 16, 2026 · 4 packages · 9 unique changes · 4 release entries

libsmodules

This release affects the sharedLibs, solutions familyies.

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

Release summaries

  • m2-surface-runtime-rolemorph

    Additive: M2 surface-runtime — RoleMorph resolver for viewer-role-driven layout adaptation across graph templates.

    maintainer

    Additive: RoleMorph resolver in surface-runtime. resolveRoleMorph(role, spec) accepts a viewer role ('engineer' | 'manager') and a RoleMorphSpec, returning a RoleMorphResult with the resolved layout kind, header-panel fields, and available action ids. Used internally by all five M2 design-system graph templates.

    integrator

    New additive API. Import resolveRoleMorph and RoleMorphSpec from @lssm-tech/lib.surface-runtime to build custom role-adaptive surfaces following the same pattern as the M2 graph templates.

  • m3-surface-runtime-graph-template-registry

    M3 — RoleMorph graph template registry (5 templates × 2 variants = 10 surface specs) + createSSEGraphAdapter reference implementation.

    maintainer

    New registry exports are additive. ROLE_LAYOUT map enforces layout consistency across template variants. registerGraphTemplateVariant and createSSEGraphAdapter are new opt-in utilities.

    integrator

    Use registerGraphTemplateVariant to register custom graph template surface specs. Use createSSEGraphAdapter as a reference for building production SSE graph transports.

  • rolemorph-gap-closure

    Close the RoleMorph hardening slice with additional fixtures, Builder packets, Workbench panels, CompanyOS policy projection, and assurance/audit evidence refs.

    maintainer

    RoleMorph now has non-AirDesk fixtures, fail-closed CompanyOS projections, and evidence-backed Builder packet contracts for review and replay.

    integrator

    Hosts can render RoleMorph Workbench packet views and wire their own durable preference stores, assurance logs, and production authorization adapters without library side effects.

  • rolemorph-implementation-closure

    Add the first canonical RoleMorph runtime and Builder preview/inspection contract slice.

    maintainer

    RoleMorph now has a UI-agnostic surface runtime, AirDesk fixtures, Builder preview contracts, and backend-neutral preview helpers.

    integrator

    Hosts can preview role-specific operating surfaces and policy changes without generated UI code or provider side effects.

Upgrade steps

  • Use resolveRoleMorph for viewer-role-driven layout adaptation

    assisted

    resolveRoleMorph is the canonical way to derive layout, header, and actions from a viewer role. Replaces ad-hoc `role === 'engineer' ? dag : radial` conditionals in surface code.

    Packages: @lssm-tech/lib.surface-runtime

    1. Import resolveRoleMorph, RoleMorphSpec from @lssm-tech/lib.surface-runtime.
    2. Define a RoleMorphSpec with engineer and manager entries.
    3. Call resolveRoleMorph(viewerRole, spec) to get layout, headerFields, and actionIds.
    4. Pass resolved layout to GraphCanvas layout prop.
  • Use ROLE_LAYOUT map for engineer/manager layout enforcement

    manual

    Import ROLE_LAYOUT and use it in template variants instead of hard-coding layout strings.

    Packages: @lssm-tech/lib.surface-runtime

    1. Import ROLE_LAYOUT from surface-runtime.
    2. Replace hard-coded 'dag' / 'radial' layout strings with ROLE_LAYOUT[role].
  • Use createSSEGraphAdapter as a reference implementation

    manual

    For production SSE transports, copy or extend the reference adapter; do not use the reference directly in production.

    Packages: @lssm-tech/lib.surface-runtime

    1. Import createSSEGraphAdapter from surface-runtime.
    2. Use it as a starting point for a production SSE transport.
    3. Override the reconnect and event delivery logic with production-grade transport.
  • Wire RoleMorph packet helpers before host persistence

    auto

    Build RoleMorph Workbench packets and assurance evidence refs in Builder runtime, then pass serializable packets into host-owned storage and UI shells.

    Packages: @lssm-tech/lib.surface-runtime, @lssm-tech/lib.builder-spec, @lssm-tech/lib.builder-runtime, @lssm-tech/module.builder-workbench

    1. Import packet/evidence contracts from `@lssm-tech/lib.builder-spec`.
    2. Use `@lssm-tech/lib.builder-runtime/rolemorph-preview` helpers to create packets, authorization summaries, preference snapshots, replay bundles, and evidence readiness checks.
    3. Keep durable storage, provider calls, and production authorization enforcement in host/integration layers.
  • Preview RoleMorph surfaces from canonical contracts

    assisted

    Use surface-runtime RoleMorph contexts and Builder preview helpers to inspect actor-specific components, action boundaries, hidden-data explanations, and policy diffs.

    Packages: @lssm-tech/lib.surface-runtime, @lssm-tech/lib.builder-spec, @lssm-tech/lib.builder-runtime

    1. Import serializable RoleMorph contracts from @lssm-tech/lib.surface-runtime/rolemorph.
    2. Use Builder RoleMorph preview contracts for selector, inspection, diff, and repair artifacts.
    3. Keep rendering, storage, provider execution, and authorization enforcement in host layers.

Unique release changes

  • - Build RoleMorph Workbench packets and assurance evidence refs in Builder runtime, then pass serializable packets into host-owned storage and UI shells.

    4 packages · 4 occurrences

  • - Close the RoleMorph hardening slice with additional fixtures, Builder packets, Workbench panels, CompanyOS policy projection, and assurance/audit evidence refs.

    4 packages · 4 occurrences

  • - Add the first canonical RoleMorph runtime and Builder preview/inspection contract slice.

    3 packages · 3 occurrences

  • - Use surface-runtime RoleMorph contexts and Builder preview helpers to inspect actor-specific components, action boundaries, hidden-data explanations, and policy diffs.

    3 packages · 3 occurrences

  • - Additive: M2 surface-runtime — RoleMorph resolver for viewer-role-driven layout adaptation across graph templates.

    1 packages · 1 occurrences

  • - For production SSE transports, copy or extend the reference adapter; do not use the reference directly in production.

    1 packages · 1 occurrences

  • - Import ROLE_LAYOUT and use it in template variants instead of hard-coding layout strings.

    1 packages · 1 occurrences

  • - M3 — RoleMorph graph template registry (5 templates × 2 variants = 10 surface specs) + createSSEGraphAdapter reference implementation.

    1 packages · 1 occurrences

  • - resolveRoleMorph is the canonical way to derive layout, header, and actions from a viewer role. Replaces ad-hoc `role === 'engineer' ? dag : radial` conditionals in surface code.

    1 packages · 1 occurrences

Impacted packages

  • @lssm-tech/lib.builder-runtime

    Layer: libs · 2 changes

  • @lssm-tech/lib.builder-spec

    Layer: libs · 2 changes

  • @lssm-tech/lib.surface-runtime

    Layer: libs · 2 changes

  • @lssm-tech/module.builder-workbench

    Layer: modules · 2 changes