# @oshun/domain-veritas

Typed Veritas domain adapter package for the OSHUN shell.

## Included

- Canonical Veritas object model for stories, claims, explanations, timelines,
  and counterclaims
- Canonical relationship helpers between Veritas claims and Sophia evidence
  packs
- Canonical relationship helpers between Veritas stories and Nisaba lineage or
  primary-text trails
- Canonical trust/confidence display rules aligned to Oshun trust-signal
  behavior contracts
- Canonical unsupported-claim fallback rules for briefing, claim, assistant, and
  compact mobile surfaces
- Veritas API adapter contracts (`VeritasApiAdapter`)
- Canonical shell-facing Veritas adapter contract (`VeritasDomainAdapter`)
- Article, claim, topic, save/follow, and trust-signal response models
- Adapter factory (`createVeritasDomainAdapter`) with typed error handling
- Canonical adapter factory (`createCanonicalVeritasDomainAdapter`) behind the
  shared shell interface
- Home/Explore Veritas card model builders for OSHUN shell surfaces
- Veritas launch-action mapping helpers for article, claim, and topic flows
- Canonical Veritas deep-link and web-link builders
- Canonical Veritas adapter helpers for metadata, availability, continuation,
  search composition, launch resolution, saved-article toggling, topic follow
  toggling, and cross-domain bridge contexts
- Object-model normalization helpers for evidence summaries, timeline ordering,
  and story coverage
- Sophia-grounding bridge helpers for evidence-pack query generation,
  freshness/status inference, and claim-inspection routing
- Nisaba bridge helpers for source-lineage and primary-text trail handoff
  routing
- Trust display helpers for confidence qualifiers, provenance states, and
  surface-ready badge rules
- Unsupported-claim fallback helpers for support-state inference, surface-aware
  fallback copy, and Sophia recovery handoffs

## Usage

```ts
import { createCanonicalVeritasDomainAdapter } from '@oshun/domain-veritas';

const veritas = createCanonicalVeritasDomainAdapter({
  baseUrl: 'https://veritas.internal',
  searchUserId: 'user-123',
});

const cards = await veritas.getHomeCards({ userId: 'user-123' });
```
