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 déclarationsSELECT 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
Votre vue

Make room for your context.

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

Votre contexte

The different parts of you

Choose a starting point

Un mélange utile de contexte, de visuels et de guidage discret.

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

Confort de lecture

Choisir votre langue

La langue de l’interface change uniquement le texte. Les marchés, les prix et les parcours conservent leurs propres paramètres.

Couverture des traductions

Une partie du contenu est affichée en anglais.

Navigation151
Graphe616
Catégories378
Portfolio833
Exemples2 035
Aperçu de la source1 542

D’autres traductions seront ajoutées à mesure que le contenu sera relu.

Cette préférence est enregistrée dans ce navigateur.

Rechercher sur le site

Des points de départ utiles

Aucun résultat. Essayez une expression plus courte, un nom d’opération ou un autre périmètre de recherche.

UN PEU DE PLACE POUR EXPLORER

Trouvez quelque chose à explorer.

Ouvrez un aperçu détaillé sur cette page, essayez une autre perspective ou suivez le détail vers sa propre page.

Fonctionnement des aperçus et des commandes
01

Regarder avant de partir

Survolez un lien ou sélectionnez-le avec Tab pour voir un aperçu. Cliquer sur le lien d’origine ou appuyer sur Entrée ouvre toujours sa destination.

02

Rester dans le contexte

Entrez dans l’aperçu pour explorer ses sections. Depuis un lien sélectionné, utilisez Alt + ↓ pour y entrer au clavier. Échap le ferme.

03

Ouvrir les possibilités

Les lignes dépliables, les choix de perspective et les commandes mises en évidence révèlent davantage. Votre vue adapte le confort de lecture et le contexte exploré.

Un bouton séparé pour voir de plus près

Affichez de petits boutons d’aperçu à côté des liens quand l’espace le permet. Touchez l’œil pour examiner ou le lien pour y aller directement. Ce choix reste dans cet onglet.

Aucun historique de navigation n’est collecté. La réduction des animations suit votre appareil et Votre vue.