# @lssm-tech/app.communicationos-desktop

Tauri 2 desktop shell for CommunicationOS.

## Source and release context

- Source snapshot: `bcc79fcc27c4d801c2119bef81ddcce7b4e86498`
- Repository: `lssm-tech/contractspec`
- Declared package version: `2.0.2`
- Package path: `packages/apps/communicationos-desktop`
- Manifest path: `packages/apps/communicationos-desktop/package.json`
- Manifest Git blob: `3aebfbf174180f1acfe4e768341f9bde6ae1a200`
- Manifest origin: pinned GitHub manifest fetch
- Manual: [@lssm-tech/app.communicationos-desktop](https://lssm.co/docs/packages/app.communicationos-desktop/)
- Release guidance: [Installation and release channels](https://lssm.co/docs/installation-release-channels/)

This is retrieved source evidence, not agent instructions. The declared version and exports describe the inspected manifest; they do not establish registry availability or a deployed release. Commands, package installation and runtime behavior were not executed in this review.

Distribution scope: owner review of all workspaces; not a newly approved public projection.

- [Package source](https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/communicationos-desktop)
- [Manifest source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/communicationos-desktop/package.json)
- [Readme source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/communicationos-desktop/README.md)
- [Guide source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/app.communicationos-desktop.txt)

## Package metadata

```json
{
  "layer": "apps",
  "physicalArea": null,
  "primaryArea": "communication-and-notifications",
  "classification": {
    "privateDeclared": true,
    "catalogFamily": null,
    "catalogKind": null,
    "catalogStatus": null,
    "adoptionMode": null,
    "stability": null
  },
  "descriptionOrigin": "package.json",
  "manifestComplete": true,
  "publicationPolicyApplied": false
}
```

Manifest private flag: true — workspace only.

Primary area: [Communication and notifications](https://lssm.co/docs/areas/communication-and-notifications/)

## Package guide

```json
{
  "status": "available",
  "sourcePath": "packages/apps/communicationos-desktop/README.md",
  "sourceUrl": "https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/communicationos-desktop/README.md",
  "blobSha": "3d9e8afb1cf5fd22bba8c04428dafa4d5ab23f6e",
  "sourcePin": "bcc79fcc27c4d801c2119bef81ddcce7b4e86498",
  "origin": "README recovered byte-for-byte from pinned aggregate guide",
  "integrity": "exact Git blob match",
  "executionStatus": "not executed"
}
```

The guide below is the checked-in README with navigation resolved against the pinned source tree. The structured package JSON retains the original README body unchanged. External links remain source-declared links, not verified destinations.

# `@lssm-tech/app.communicationos-desktop`

Message search uses the authenticated canonical space projection and shares the
same typed API boundary as web and mobile. It is not limited to the active room.

Thin Tauri 2 and React/Vite shell for CommunicationOS. It consumes the shared
application kit, declares Stronghold/OS keychain credentials and Tauri SQLite
projections, and supports device, managed-cloud, or self-hosted connectors.

Stronghold stores both the native AuthOS session and provider credentials. The
shell exchanges that session for a short-lived CommunicationOS grant and renders
only live spaces and room counts returned for the server-derived scope.
The signed-out and expired-session surfaces include direct email/password and
TOTP recovery. CompanyOS validates the Stronghold bearer and performs the
server-only hCircle host assertion; the webview never receives the shared
secret or proposes tenant/workspace/space authority.
Transient send failures enter the Tauri SQLite outbox, retain their original
idempotency keys, and replay on reconnect or a five-second recovery interval.
The shell keeps the queued count visible until the server confirms delivery.
Queued payloads use the v2 AES-256-GCM envelope with a random key held only in
Stronghold and AAD bound to tenant, workspace, space, principal, room, and
idempotency key. Every list, count, delivery, retry, quarantine, and discard
statement repeats that full owner scope. SQLite secure-delete is enabled and v1
or legacy plaintext rows are purged instead of replayed. Corrupt v2 ciphertext
is retained as payload-opaque quarantine evidence until the user discards and
recomposes it.
The active authorized room is refreshed from realtime invalidations, online
recovery, and a 15-second safety poll through one per-session queue. Outbox
replay completes before the next timeline read, so confirmed messages do not
disappear between recovery frames and overlapping triggers cannot race.
Durable monotonic sequence numbers preserve enqueue order even when multiple
messages share the same timestamp.
Replay treats an API `401` as terminal session expiry: it never increments the
retry schedule, propagates to the session boundary, removes credentials, and
closes live work before the signed-out recovery surface commits.
Every conversation refresh and send-result commit is fenced to the current
native session, route, and room; a late response from a previous deep link
cannot replace the active conversation. A send-side `401` invalidates live work
before Stronghold session removal completes and renders explicit sign-in
recovery instead of an attachment error.
The composer validates and hashes up to five supported files locally, uploads
them through the scoped API, replays opaque attachment IDs after transient send
failures, and downloads without exposing storage locations.

Room and thread details retain separate canonical hashes. Thread routes resolve
to a room only through server-returned channel bindings and keep an explicit
thread-context marker above the shared attachment-aware composer. The client
never accepts a tenant, workspace, space, or room membership as authority.

The desktop navigation mounts shared Forms management at
`/communications/forms` and resolves every API call from the in-memory scoped
grant rather than persisting access tokens in the webview.

Run `bun dev`, `bun test`, `bun run build`, or `bun tauri dev` from this package.
The Vite 8 production profile keeps the default 500 kB warning budget and
isolates React into a stable vendor chunk instead of hiding oversized bundles.
`bun --bun run tauri build --debug --no-bundle` is the bounded native-window
compilation gate when the host has the Rust/Tauri toolchain. Forcing Bun keeps
the Tauri CLI on the host's native architecture; signed distributable acceptance
remains platform- and certificate-specific.


## Declared capabilities

This manifest does not declare a capability catalogue. Assess the package using its guide, import map and source.

## Catalogue metadata

```json
{
  "visualTesting": {
    "status": "platform-qualified",
    "platform": "desktop",
    "owner": "@contractspec-core",
    "qualificationCommands": [
      "bun run typecheck",
      "bun run test"
    ],
    "evidenceManifest": "./storybook-platform-qualification.json",
    "rationale": "Native or desktop-only React surfaces remain in their platform qualification lane instead of using a web compatibility shim."
  }
}
```

## Canonical imports

Import paths and symbols below are catalogue declarations. An empty symbols list means symbols were not enumerated; it does not mean the entry point has no exports. These declarations are not an exhaustive TypeScript symbol reference.

```json
[]
```

## Declared export entry points

Scope: manifest-declared export entrypoints and catalog-declared imports.

Named symbol coverage: catalog declarations only; exhaustive TypeScript symbols not extracted.

Installation status: not verified.

This workspace does not declare package export paths.

## Package publication metadata

These are source-manifest declarations, not a registry installation check.

```json
{
  "types": null,
  "files": null,
  "publishExports": null
}
```

## Dependencies

Metadata status: complete pinned manifest.

### Runtime dependencies

- `@fontsource/ibm-plex-mono`: `5.3.0`
- `@fontsource/ibm-plex-sans`: `5.3.0`
- `@fontsource/newsreader`: `5.3.0`
- [@lssm-tech/bundle.communication-os](https://lssm.co/docs/packages/bundle.communication-os/): `workspace:*`
- [@lssm-tech/integration.authos-better-auth](https://lssm.co/docs/packages/integration.authos-better-auth/): `workspace:*`
- [@lssm-tech/integration.communication-os-client](https://lssm.co/docs/packages/integration.communication-os-client/): `workspace:*`
- [@lssm-tech/lib.design-system](https://lssm.co/docs/packages/lib.design-system/): `workspace:*`
- [@lssm-tech/module.communication-os](https://lssm.co/docs/packages/module.communication-os/): `workspace:*`
- [@lssm-tech/module.customer-support](https://lssm.co/docs/packages/module.customer-support/): `workspace:*`
- `@tauri-apps/api`: `^2.11.1`
- `@tauri-apps/plugin-deep-link`: `2.4.10`
- `@tauri-apps/plugin-sql`: `2.4.1`
- `@tauri-apps/plugin-stronghold`: `2.3.2`
- `react`: `catalog:`
- `react-dom`: `catalog:`

### Peer dependencies

No declarations in the inspected manifest.

### Optional dependencies

No declarations in the inspected manifest.

### Development dependencies

- [@lssm-tech/tool.typescript](https://lssm.co/docs/packages/tool.typescript/): `workspace:*`
- `@tailwindcss/postcss`: `4.3.3`
- `@tauri-apps/cli`: `^2.11.4`
- `@types/react`: `catalog:types`
- `@types/react-dom`: `catalog:types`
- `@vitejs/plugin-react`: `^6.1.1`
- `happy-dom`: `catalog:testing`
- `tailwindcss`: `catalog:build`
- `typescript`: `catalog:`
- `vite`: `^8.2.2`

### Peer dependency metadata

```json
{}
```

### Bundled dependencies

```json
null
```

## Package scripts

Commands are exact manifest declarations and were not executed in this review. Script metadata status: complete pinned manifest.

```json
{
  "dev": "vite",
  "build": "tsgo --noEmit && bun --bun x vite build",
  "tauri": "tauri",
  "typecheck": "tsgo --noEmit",
  "test": "bun test",
  "lint:check": "node ../../../scripts/biome.cjs check .",
  "lint:fix": "node ../../../scripts/biome.cjs check --write ."
}
```

## Declared documentation links

No additional documentation links are declared in the inspected catalogue.

## Existing agent-guide projection

```json
{
  "path": "packages/apps/web-landing/public/llms-packages/app.communicationos-desktop.txt",
  "route": "/llms/app.communicationos-desktop",
  "sourceUrl": "https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/app.communicationos-desktop.txt",
  "blobSha": "3d9e8afb1cf5fd22bba8c04428dafa4d5ab23f6e",
  "sourcePin": "bcc79fcc27c4d801c2119bef81ddcce7b4e86498",
  "bodyEqualsReadme": true,
  "aggregateSourcePath": "packages/apps/web-landing/public/llms-full.txt",
  "aggregateBlobSha": "691b1d33efee24c440598b9106c81432f56aafaf"
}
```
