{"id":"@lssm-tech/module.personal-experience","slug":"module.personal-experience","name":"@lssm-tech/module.personal-experience","version":"2.0.4","path":"packages/domains/personal-agency/module","manifestPath":"packages/domains/personal-agency/module/package.json","manifestBlobSha":"a4589d0eb3c90ede2e5f855cba4059d67a51376d","layer":"domains","physicalArea":"personal-agency","primaryArea":"personal-and-learning","classification":{"privateDeclared":null,"catalogFamily":"solutions","catalogKind":"module","catalogStatus":"active","adoptionMode":"adoptable","stability":"experimental"},"description":"Authority-first RoleMorph and reversible Personalization composition for PersonalOS surfaces.","descriptionOrigin":"package.json","catalog":{"family":"solutions","kind":"module","status":"active","adoptionMode":"adoptable","stability":"experimental","platforms":["server"],"runtimes":["node"],"entrypoints":[".","./golden-journey","./identity-session","./identity-session-scope","./journey-actions","./offline-admission","./offline-policy","./offline-replay","./personal-calm-design-pack","./personal-domain-pack","./personal-experience.feature","./presentation-access","./presentation-composer","./privacy-center","./resolver"],"documentation":[{"title":"Module Personal Experience documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Fmodule.personal-experience","kind":"readme"}],"examples":[],"replacements":[],"capabilities":[{"id":"package.lssm.tech.module.personal.experience","title":"Module Personal Experience","description":"Authority-first RoleMorph and reversible Personalization composition for PersonalOS surfaces.","status":"active","useCases":["Adopt authority-first rolemorph and reversible personalization composition for personalos surfaces"],"aliases":["module","personal","experience"],"pythonEquivalents":[],"canonicalImports":[{"from":"@lssm-tech/module.personal-experience","symbols":[]},{"from":"@lssm-tech/module.personal-experience/golden-journey","symbols":[]},{"from":"@lssm-tech/module.personal-experience/identity-session","symbols":[]},{"from":"@lssm-tech/module.personal-experience/identity-session-scope","symbols":[]},{"from":"@lssm-tech/module.personal-experience/offline-policy","symbols":[]},{"from":"@lssm-tech/module.personal-experience/personal-calm-design-pack","symbols":[]},{"from":"@lssm-tech/module.personal-experience/personal-domain-pack","symbols":[]},{"from":"@lssm-tech/module.personal-experience/personal-experience.feature","symbols":[]},{"from":"@lssm-tech/module.personal-experience/presentation-composer","symbols":[]},{"from":"@lssm-tech/module.personal-experience/privacy-center","symbols":[]},{"from":"@lssm-tech/module.personal-experience/resolver","symbols":[]},{"from":"@lssm-tech/module.personal-experience/presentation-access","symbols":[]},{"from":"@lssm-tech/module.personal-experience/offline-admission","symbols":[]},{"from":"@lssm-tech/module.personal-experience/offline-replay","symbols":[]},{"from":"@lssm-tech/module.personal-experience/journey-actions","symbols":[]}],"constraints":{"platforms":["server"],"runtimes":["node"],"avoidWhen":["The @lssm-tech/module.personal-experience package constraints do not match the target runtime or platform."],"requires":["TypeScript"]},"alternatives":[],"relationships":[],"resolutionPriority":50}]},"canonicalImports":[{"capabilityId":"package.lssm.tech.module.personal.experience","from":"@lssm-tech/module.personal-experience","symbols":[]},{"capabilityId":"package.lssm.tech.module.personal.experience","from":"@lssm-tech/module.personal-experience/golden-journey","symbols":[]},{"capabilityId":"package.lssm.tech.module.personal.experience","from":"@lssm-tech/module.personal-experience/identity-session","symbols":[]},{"capabilityId":"package.lssm.tech.module.personal.experience","from":"@lssm-tech/module.personal-experience/identity-session-scope","symbols":[]},{"capabilityId":"package.lssm.tech.module.personal.experience","from":"@lssm-tech/module.personal-experience/offline-policy","symbols":[]},{"capabilityId":"package.lssm.tech.module.personal.experience","from":"@lssm-tech/module.personal-experience/personal-calm-design-pack","symbols":[]},{"capabilityId":"package.lssm.tech.module.personal.experience","from":"@lssm-tech/module.personal-experience/personal-domain-pack","symbols":[]},{"capabilityId":"package.lssm.tech.module.personal.experience","from":"@lssm-tech/module.personal-experience/personal-experience.feature","symbols":[]},{"capabilityId":"package.lssm.tech.module.personal.experience","from":"@lssm-tech/module.personal-experience/presentation-composer","symbols":[]},{"capabilityId":"package.lssm.tech.module.personal.experience","from":"@lssm-tech/module.personal-experience/privacy-center","symbols":[]},{"capabilityId":"package.lssm.tech.module.personal.experience","from":"@lssm-tech/module.personal-experience/resolver","symbols":[]},{"capabilityId":"package.lssm.tech.module.personal.experience","from":"@lssm-tech/module.personal-experience/presentation-access","symbols":[]},{"capabilityId":"package.lssm.tech.module.personal.experience","from":"@lssm-tech/module.personal-experience/offline-admission","symbols":[]},{"capabilityId":"package.lssm.tech.module.personal.experience","from":"@lssm-tech/module.personal-experience/offline-replay","symbols":[]},{"capabilityId":"package.lssm.tech.module.personal.experience","from":"@lssm-tech/module.personal-experience/journey-actions","symbols":[]}],"scripts":{"build":"contractspec-bun-build build","build:bundle":"contractspec-bun-build transpile","build:types":"contractspec-bun-build types","clean":"rimraf dist .turbo","lint:check":"node ../../../../scripts/biome.cjs check .","lint:fix":"node ../../../../scripts/biome.cjs check --write .","prebuild":"contractspec-bun-build prebuild","test":"bun test","typecheck":"tsgo --noEmit"},"scriptStatus":"complete pinned manifest","dependencies":{"@lssm-tech/lib.contracts-spec-core":"workspace:^","@lssm-tech/lib.design-catalog":"workspace:^","@lssm-tech/lib.personal-os-spec":"workspace:^","@lssm-tech/lib.personalization":"workspace:^","@lssm-tech/lib.surface-runtime":"workspace:^"},"devDependencies":{"@lssm-tech/tool.bun":"workspace:*","@lssm-tech/tool.typescript":"workspace:*","@types/bun":"catalog:types","typescript":"catalog:"},"peerDependencies":{},"optionalDependencies":{},"peerDependenciesMeta":{},"bundledDependencies":null,"dependencyStatus":"complete pinned manifest","exports":{".":"./src/index.ts","./golden-journey":"./src/golden-journey.ts","./identity-session":"./src/identity-session.ts","./identity-session-scope":"./src/identity-session-scope.ts","./journey-actions":"./src/journey-actions.ts","./offline-admission":"./src/offline-admission.ts","./offline-policy":"./src/offline-policy.ts","./offline-replay":"./src/offline-replay.ts","./personal-calm-design-pack":"./src/personal-calm-design-pack.ts","./personal-domain-pack":"./src/personal-domain-pack.ts","./personal-experience.feature":"./src/personal-experience.feature.ts","./presentation-access":"./src/presentation-access.ts","./presentation-composer":"./src/presentation-composer.ts","./privacy-center":"./src/privacy-center.ts","./resolver":"./src/resolver.ts"},"publishExports":{".":{"types":"./dist/index.d.ts","browser":"./dist/browser/index.js","bun":"./dist/index.js","node":"./dist/node/index.js","default":"./dist/index.js"},"./golden-journey":{"types":"./dist/golden-journey.d.ts","browser":"./dist/browser/golden-journey.js","bun":"./dist/golden-journey.js","node":"./dist/node/golden-journey.js","default":"./dist/golden-journey.js"},"./identity-session":{"types":"./dist/identity-session.d.ts","browser":"./dist/browser/identity-session.js","bun":"./dist/identity-session.js","node":"./dist/node/identity-session.js","default":"./dist/identity-session.js"},"./identity-session-scope":{"types":"./dist/identity-session-scope.d.ts","browser":"./dist/browser/identity-session-scope.js","bun":"./dist/identity-session-scope.js","node":"./dist/node/identity-session-scope.js","default":"./dist/identity-session-scope.js"},"./journey-actions":{"types":"./dist/journey-actions.d.ts","browser":"./dist/browser/journey-actions.js","bun":"./dist/journey-actions.js","node":"./dist/node/journey-actions.js","default":"./dist/journey-actions.js"},"./offline-admission":{"types":"./dist/offline-admission.d.ts","browser":"./dist/browser/offline-admission.js","bun":"./dist/offline-admission.js","node":"./dist/node/offline-admission.js","default":"./dist/offline-admission.js"},"./offline-policy":{"types":"./dist/offline-policy.d.ts","browser":"./dist/browser/offline-policy.js","bun":"./dist/offline-policy.js","node":"./dist/node/offline-policy.js","default":"./dist/offline-policy.js"},"./offline-replay":{"types":"./dist/offline-replay.d.ts","browser":"./dist/browser/offline-replay.js","bun":"./dist/offline-replay.js","node":"./dist/node/offline-replay.js","default":"./dist/offline-replay.js"},"./personal-calm-design-pack":{"types":"./dist/personal-calm-design-pack.d.ts","browser":"./dist/browser/personal-calm-design-pack.js","bun":"./dist/personal-calm-design-pack.js","node":"./dist/node/personal-calm-design-pack.js","default":"./dist/personal-calm-design-pack.js"},"./personal-domain-pack":{"types":"./dist/personal-domain-pack.d.ts","browser":"./dist/browser/personal-domain-pack.js","bun":"./dist/personal-domain-pack.js","node":"./dist/node/personal-domain-pack.js","default":"./dist/personal-domain-pack.js"},"./personal-experience.feature":{"types":"./dist/personal-experience.feature.d.ts","browser":"./dist/browser/personal-experience.feature.js","bun":"./dist/personal-experience.feature.js","node":"./dist/node/personal-experience.feature.js","default":"./dist/personal-experience.feature.js"},"./presentation-access":{"types":"./dist/presentation-access.d.ts","browser":"./dist/browser/presentation-access.js","bun":"./dist/presentation-access.js","node":"./dist/node/presentation-access.js","default":"./dist/presentation-access.js"},"./presentation-composer":{"types":"./dist/presentation-composer.d.ts","browser":"./dist/browser/presentation-composer.js","bun":"./dist/presentation-composer.js","node":"./dist/node/presentation-composer.js","default":"./dist/presentation-composer.js"},"./privacy-center":{"types":"./dist/privacy-center.d.ts","browser":"./dist/browser/privacy-center.js","bun":"./dist/privacy-center.js","node":"./dist/node/privacy-center.js","default":"./dist/privacy-center.js"},"./resolver":{"types":"./dist/resolver.d.ts","browser":"./dist/browser/resolver.js","bun":"./dist/resolver.js","node":"./dist/node/resolver.js","default":"./dist/resolver.js"}},"types":"./dist/index.d.ts","files":["dist","README.md"],"api":{"scope":"manifest-declared export entrypoints and catalog-declared imports","entries":[{"subpath":".","importPath":"@lssm-tech/module.personal-experience","target":"./src/index.ts","targets":[{"conditions":[],"target":"./src/index.ts","sourcePath":"packages/domains/personal-agency/module/src/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/personal-agency/module/src/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./golden-journey","importPath":"@lssm-tech/module.personal-experience/golden-journey","target":"./src/golden-journey.ts","targets":[{"conditions":[],"target":"./src/golden-journey.ts","sourcePath":"packages/domains/personal-agency/module/src/golden-journey.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/personal-agency/module/src/golden-journey.ts","sourceStatus":"verified source file"}]},{"subpath":"./identity-session","importPath":"@lssm-tech/module.personal-experience/identity-session","target":"./src/identity-session.ts","targets":[{"conditions":[],"target":"./src/identity-session.ts","sourcePath":"packages/domains/personal-agency/module/src/identity-session.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/personal-agency/module/src/identity-session.ts","sourceStatus":"verified source file"}]},{"subpath":"./identity-session-scope","importPath":"@lssm-tech/module.personal-experience/identity-session-scope","target":"./src/identity-session-scope.ts","targets":[{"conditions":[],"target":"./src/identity-session-scope.ts","sourcePath":"packages/domains/personal-agency/module/src/identity-session-scope.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/personal-agency/module/src/identity-session-scope.ts","sourceStatus":"verified source file"}]},{"subpath":"./journey-actions","importPath":"@lssm-tech/module.personal-experience/journey-actions","target":"./src/journey-actions.ts","targets":[{"conditions":[],"target":"./src/journey-actions.ts","sourcePath":"packages/domains/personal-agency/module/src/journey-actions.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/personal-agency/module/src/journey-actions.ts","sourceStatus":"verified source file"}]},{"subpath":"./offline-admission","importPath":"@lssm-tech/module.personal-experience/offline-admission","target":"./src/offline-admission.ts","targets":[{"conditions":[],"target":"./src/offline-admission.ts","sourcePath":"packages/domains/personal-agency/module/src/offline-admission.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/personal-agency/module/src/offline-admission.ts","sourceStatus":"verified source file"}]},{"subpath":"./offline-policy","importPath":"@lssm-tech/module.personal-experience/offline-policy","target":"./src/offline-policy.ts","targets":[{"conditions":[],"target":"./src/offline-policy.ts","sourcePath":"packages/domains/personal-agency/module/src/offline-policy.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/personal-agency/module/src/offline-policy.ts","sourceStatus":"verified source file"}]},{"subpath":"./offline-replay","importPath":"@lssm-tech/module.personal-experience/offline-replay","target":"./src/offline-replay.ts","targets":[{"conditions":[],"target":"./src/offline-replay.ts","sourcePath":"packages/domains/personal-agency/module/src/offline-replay.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/personal-agency/module/src/offline-replay.ts","sourceStatus":"verified source file"}]},{"subpath":"./personal-calm-design-pack","importPath":"@lssm-tech/module.personal-experience/personal-calm-design-pack","target":"./src/personal-calm-design-pack.ts","targets":[{"conditions":[],"target":"./src/personal-calm-design-pack.ts","sourcePath":"packages/domains/personal-agency/module/src/personal-calm-design-pack.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/personal-agency/module/src/personal-calm-design-pack.ts","sourceStatus":"verified source file"}]},{"subpath":"./personal-domain-pack","importPath":"@lssm-tech/module.personal-experience/personal-domain-pack","target":"./src/personal-domain-pack.ts","targets":[{"conditions":[],"target":"./src/personal-domain-pack.ts","sourcePath":"packages/domains/personal-agency/module/src/personal-domain-pack.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/personal-agency/module/src/personal-domain-pack.ts","sourceStatus":"verified source file"}]},{"subpath":"./personal-experience.feature","importPath":"@lssm-tech/module.personal-experience/personal-experience.feature","target":"./src/personal-experience.feature.ts","targets":[{"conditions":[],"target":"./src/personal-experience.feature.ts","sourcePath":"packages/domains/personal-agency/module/src/personal-experience.feature.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/personal-agency/module/src/personal-experience.feature.ts","sourceStatus":"verified source file"}]},{"subpath":"./presentation-access","importPath":"@lssm-tech/module.personal-experience/presentation-access","target":"./src/presentation-access.ts","targets":[{"conditions":[],"target":"./src/presentation-access.ts","sourcePath":"packages/domains/personal-agency/module/src/presentation-access.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/personal-agency/module/src/presentation-access.ts","sourceStatus":"verified source file"}]},{"subpath":"./presentation-composer","importPath":"@lssm-tech/module.personal-experience/presentation-composer","target":"./src/presentation-composer.ts","targets":[{"conditions":[],"target":"./src/presentation-composer.ts","sourcePath":"packages/domains/personal-agency/module/src/presentation-composer.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/personal-agency/module/src/presentation-composer.ts","sourceStatus":"verified source file"}]},{"subpath":"./privacy-center","importPath":"@lssm-tech/module.personal-experience/privacy-center","target":"./src/privacy-center.ts","targets":[{"conditions":[],"target":"./src/privacy-center.ts","sourcePath":"packages/domains/personal-agency/module/src/privacy-center.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/personal-agency/module/src/privacy-center.ts","sourceStatus":"verified source file"}]},{"subpath":"./resolver","importPath":"@lssm-tech/module.personal-experience/resolver","target":"./src/resolver.ts","targets":[{"conditions":[],"target":"./src/resolver.ts","sourcePath":"packages/domains/personal-agency/module/src/resolver.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/personal-agency/module/src/resolver.ts","sourceStatus":"verified source file"}]}],"entryCount":15,"namedSymbolCoverage":"catalog declarations only; exhaustive TypeScript symbols not extracted","installationStatus":"not verified"},"docsLinks":[{"title":"Module Personal Experience documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Fmodule.personal-experience","kind":"readme","pinnedUrl":null,"sourceStatus":"declared link; destination not verified"}],"sourceUrls":{"package":"https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/personal-agency/module","manifest":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/personal-agency/module/package.json","readme":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/personal-agency/module/README.md","guide":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/module.personal-experience.txt"},"readme":{"status":"available","body":"# `@lssm-tech/module.personal-experience`\n\nThe PersonalOS composition seam between RoleMorph and Personalization. It first\nresolves the authority-aware surface, then layers canonical presentation-only\npreferences. Explicit choices win over adaptive hints, and the result includes\nan explanation plus a complete reset patch. Missing delegated authority fails\nclosed before any surface is returned.\n\n`composePersonalPresentation()` is the canonical host seam. It selects the\npersonal RoleMorph surface first, suppresses invalid diagnostics, and permits\ndelegated projection only for an exact active `view_shared_projection` grant.\nThe canonical registry and surface specifications are deeply frozen, and the\ndelegated role profile must match the exact active household member role and\ntime window. It then layers default, adaptive, and explicit preferences in that\norder. The wire result contains six minimized areas, component/action\nidentifiers, authority boundaries, source attribution, generic explanations, a\nschema-verified domain-separated resolution hash, and a complete reset patch.\nIt never contains component data, decision reasons, evidence, credentials, or\nraw behavior.\n\n`PersonalExperienceIdentitySession` is the shared client-session boundary for\nPersonalization buffers. It derives an exact scope from the server-issued\nopaque tenant/consent binding and outer subject/actor refs, preserves buffers\nthrough transient loading, offline, denial, and retry states, and requires an\nexplicit drain or discard on sign-out, account switch, tenant switch, or\nconsent change. Collection cannot attach without granted consent; failed\nretirement discards every old buffer and leaves the session signed out.\n\n`PersonalCalmDesignPack` adds shared responsive/native layout recipes for a\nsingle-focus Today view, progressive disclosure, resumable workflows, and an\nalways-reachable privacy state. It extends the existing Wellness Soft pack.\n\nThe package also owns the cross-surface golden-journey, privacy-center, and\noffline-command policies. Consent, sharing, health connections, delegation,\nauthority, export, and deletion always revalidate online. Offline eligibility\ncomes from the package's exact trusted action registry; caller-supplied risk or\nundo metadata cannot widen it. Eligible commands carry a canonical undo and\nmust revalidate server authority and revision before replay.\n`./offline-admission` is the shared admission and integrity check for every\nhost queue: `admitPersonalOfflineEnvelopeV1` parses the envelope, binds the\nauthenticated subject, and admits only registry actions with the exact risk\nand canonical undo; `verifyQueuedPersonalOfflineCommandV1` re-checks a stored\nenvelope against current policy and the metadata persisted beside it; and\n`admitPersonalOfflineActionV1` applies the same rule to a bare action request.\nHosts keep only their storage (SQLite, IndexedDB, Tauri) adapters.\n`./offline-replay` owns the canonical replay state machine,\n`replayPersonalOfflineCommandsV1`, behind outbox and dispatch ports: online\nonly, at most 25 due commands per pass, a block after 5 attempts, a policy\nre-check (registry, risk, undo) before every dispatch, completion only on\ndelivery, terminal blocks for authority/revision/integrity decisions, and an\nexponential backoff (2^attempt seconds, capped at 15 minutes) that defers the\nfirst transient failure and ends the pass. The HTTP, thrown-error, and domain\nresult classifiers normalize host transports into replay outcomes.\n\n`./presentation-access` is the one client-side presentation access policy used\nby the web, desktop, and mobile hosts. It fails closed: a missing presentation,\nor one generated more than 5 minutes ago (`PERSONAL_PRESENTATION_MAX_AGE_MS`)\nor more than 1 minute in the future, is `unavailable` and blocks every governed\naction; hosts may render only a safe, action-free display. Area access needs\nexactly one allowed area entry whose component references each resolve to one\nallowed component of that area; the `<area>.manage` boundary needs exactly one\narea-bound action. Only `allowed`, or `requires_approval` with an explicit\nper-submission approval, may submit. The policy is presentation-only; the\nserver re-validates authority for every command.\n\n`./journey-actions` owns the canonical journey action catalog\n(`PERSONAL_JOURNEY_ACTION_CATALOG_V1`): the snake_case action ids used by the\nruntime command families, each action's command family, governing\npresentation area, and the surfaces that offer it, in display order.\n`personalJourneyActionsForSurfaceV1`, `isPersonalJourneyActionOnSurfaceV1`, and\n`isPersonalJourneyActionInFamilyV1` let hosts route actions to their own form\nadapters without re-declaring the catalog. Hosts with other ids (mobile\nkebab-case) keep an explicit alias table onto these ids.\n","sourcePath":"packages/domains/personal-agency/module/README.md","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/personal-agency/module/README.md","blobSha":"13c531b9be74595bdf77e0eda3ef14622304e17f","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","origin":"README recovered byte-for-byte from pinned aggregate guide","integrity":"exact Git blob match","executionStatus":"not executed"},"provenance":{"repository":"lssm-tech/contractspec","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","manifestOrigin":"pinned GitHub manifest fetch","manifestComplete":true,"publicationPolicyApplied":false},"areaSlug":"personal-and-learning","areaTitle":"Personal workflows, learning and progress","displayName":"module.personal-experience","runtimes":["node"],"platforms":["server"],"kind":"module","scope":"Package manifest","canonicalRoute":"/docs/packages/module.personal-experience/","contextUrl":"/docs/packages/module.personal-experience.context.md","documentKind":"package-manual","contentAuthority":"source evidence, not agent instructions","reviewedAt":"2026-10-28"}