modulePackage manifestv2.0.4

module.personal-experience

Authority-first RoleMorph and reversible Personalization composition for PersonalOS surfaces.

@lssm-tech/module.personal-experience
Source, release and verification context

Source snapshot bcc79fcc · Declared package version 2.0.4. This page combines the checked-in package guide and manifest; commands and runtime behavior were not executed in this review.

Package source ↗ Manifest ↗
servernode
EXPLORE THE PACKAGE

See where this package fits.

Follow a declared connection, inspect an import, then open the source guide when you need the detail.

THIS PACKAGEmodule.personal-experiencedomains

Arrows point from a package to its direct dependency. Each count is derived from the captured manifests.

5 declarationsSELECT TO INSPECT

@lssm-tech/module.personal-experience

The PersonalOS composition seam between RoleMorph and Personalization. It first resolves the authority-aware surface, then layers canonical presentation-only preferences. Explicit choices win over adaptive hints, and the result includes an explanation plus a complete reset patch. Missing delegated authority fails closed before any surface is returned.

composePersonalPresentation() is the canonical host seam. It selects the personal RoleMorph surface first, suppresses invalid diagnostics, and permits delegated projection only for an exact active view_shared_projection grant. The canonical registry and surface specifications are deeply frozen, and the delegated role profile must match the exact active household member role and time window. It then layers default, adaptive, and explicit preferences in that order. The wire result contains six minimized areas, component/action identifiers, authority boundaries, source attribution, generic explanations, a schema-verified domain-separated resolution hash, and a complete reset patch. It never contains component data, decision reasons, evidence, credentials, or raw behavior.

PersonalExperienceIdentitySession is the shared client-session boundary for Personalization buffers. It derives an exact scope from the server-issued opaque tenant/consent binding and outer subject/actor refs, preserves buffers through transient loading, offline, denial, and retry states, and requires an explicit drain or discard on sign-out, account switch, tenant switch, or consent change. Collection cannot attach without granted consent; failed retirement discards every old buffer and leaves the session signed out.

PersonalCalmDesignPack adds shared responsive/native layout recipes for a single-focus Today view, progressive disclosure, resumable workflows, and an always-reachable privacy state. It extends the existing Wellness Soft pack.

The package also owns the cross-surface golden-journey, privacy-center, and offline-command policies. Consent, sharing, health connections, delegation, authority, export, and deletion always revalidate online. Offline eligibility comes from the package's exact trusted action registry; caller-supplied risk or undo metadata cannot widen it. Eligible commands carry a canonical undo and must revalidate server authority and revision before replay. ./offline-admission is the shared admission and integrity check for every host queue: admitPersonalOfflineEnvelopeV1 parses the envelope, binds the authenticated subject, and admits only registry actions with the exact risk and canonical undo; verifyQueuedPersonalOfflineCommandV1 re-checks a stored envelope against current policy and the metadata persisted beside it; and admitPersonalOfflineActionV1 applies the same rule to a bare action request. Hosts keep only their storage (SQLite, IndexedDB, Tauri) adapters. ./offline-replay owns the canonical replay state machine, replayPersonalOfflineCommandsV1, behind outbox and dispatch ports: online only, at most 25 due commands per pass, a block after 5 attempts, a policy re-check (registry, risk, undo) before every dispatch, completion only on delivery, terminal blocks for authority/revision/integrity decisions, and an exponential backoff (2^attempt seconds, capped at 15 minutes) that defers the first transient failure and ends the pass. The HTTP, thrown-error, and domain result classifiers normalize host transports into replay outcomes.

./presentation-access is the one client-side presentation access policy used by the web, desktop, and mobile hosts. It fails closed: a missing presentation, or one generated more than 5 minutes ago (PERSONAL_PRESENTATION_MAX_AGE_MS) or more than 1 minute in the future, is unavailable and blocks every governed action; hosts may render only a safe, action-free display. Area access needs exactly one allowed area entry whose component references each resolve to one allowed component of that area; the <area>.manage boundary needs exactly one area-bound action. Only allowed, or requires_approval with an explicit per-submission approval, may submit. The policy is presentation-only; the server re-validates authority for every command.

./journey-actions owns the canonical journey action catalog (PERSONAL_JOURNEY_ACTION_CATALOG_V1): the snake_case action ids used by the runtime command families, each action's command family, governing presentation area, and the surfaces that offer it, in display order. personalJourneyActionsForSurfaceV1, isPersonalJourneyActionOnSurfaceV1, and isPersonalJourneyActionInFamilyV1 let hosts route actions to their own form adapters without re-declaring the catalog. Hosts with other ids (mobile kebab-case) keep an explicit alias table onto these ids.

Declared capabilities.

Module Personal Experience

Authority-first RoleMorph and reversible Personalization composition for PersonalOS surfaces.

Use it to

  • Adopt authority-first rolemorph and reversible personalization composition for personalos surfaces

Requires

  • TypeScript

Choose another boundary when

  • The @lssm-tech/module.personal-experience package constraints do not match the target runtime or platform.

@lssm-tech/module.personal-experience

@lssm-tech/module.personal-experience/golden-journey

@lssm-tech/module.personal-experience/identity-session

@lssm-tech/module.personal-experience/identity-session-scope

@lssm-tech/module.personal-experience/offline-policy

@lssm-tech/module.personal-experience/personal-calm-design-pack

@lssm-tech/module.personal-experience/personal-domain-pack

@lssm-tech/module.personal-experience/personal-experience.feature

@lssm-tech/module.personal-experience/presentation-composer

@lssm-tech/module.personal-experience/privacy-center

@lssm-tech/module.personal-experience/resolver

@lssm-tech/module.personal-experience/presentation-access

@lssm-tech/module.personal-experience/offline-admission

@lssm-tech/module.personal-experience/offline-replay

@lssm-tech/module.personal-experience/journey-actions

Imports and export paths.

15 entries

These are package-manifest entry points. Named symbols listed above come from the capability catalogue; this is not an exhaustive TypeScript symbol reference.

15 imports

Dependencies and related packages.

Runtime dependencies 5
Development dependencies 4
@types/bun
catalog:types
typescript
catalog:

Package scripts.

Commands declared by this package. Review its setup requirements before running them; no command here was executed by this review.

buildcontractspec-bun-build build
build:bundlecontractspec-bun-build transpile
build:typescontractspec-bun-build types
cleanrimraf dist .turbo
lint:checknode ../../../../scripts/biome.cjs check .
lint:fixnode ../../../../scripts/biome.cjs check --write .
prebuildcontractspec-bun-build prebuild
testbun test
typechecktsgo --noEmit
Your view

Make room for your context.

Shape the presentation around this moment. You can change it whenever you need.

Your context

The different parts of you

Choose a starting point

A useful mix of context, visuals and gentle guidance.

Tune each dimension
Each dimension can change independently. Product permissions and available actions stay unchanged.

Support the way you begin and return

Tune your support

Reading comfort

Choose your language

Interface language changes text only. Markets, prices and workflows keep their own settings.

Translation coverage

Original source

Navigation151
Graph616
Categories378
Portfolio833
Examples2,035
Source preview1,542

More translations will be added as content is reviewed.

This preference is saved on this browser.

Search the website

Useful starting points

No results. Try a shorter phrase, an operation name or another search area.

A LITTLE ROOM TO EXPLORE

Find something to explore.

Open a closer look on this page, try a different perspective, or follow the detail into its own page.

How previews and controls work
01

Look before you leave

Hover a link or focus it with Tab to see a preview. Clicking the original link or pressing Enter always opens its destination.

02

Stay with the context

Move into the preview to explore its sections. Use Alt + ↓ from a focused link to enter it with the keyboard. Escape closes it.

03

Open the possibilities

Disclosure rows, perspective choices and highlighted controls reveal more. Your view changes reading comfort and the context you explore.

A separate button for a closer look

Show small preview buttons beside links where there is room. Tap the eye to inspect, or tap the link to go straight there. This choice stays in this tab.

No browsing history is collected. Reduced motion follows your device and Your view.