# @oshun/persona-policy-lilith

Canonical Lilith contemplative persona policy adapter contracts for OSHUN.

This package defines the product-facing Lilith interface that OSHUN uses when it
needs contemplative teacher policy packs, tone guidance, spiritual-domain safety
overlays, abstain/refer behavior, topic-scope checks, and voice-safety
requirements for persona-linked guidance.

It deliberately normalizes the fragmentation that already exists across Lilith:

- moderation policy packs own persona-specific boundaries and abstain/refer
  rules
- spiritual-guidance services own contemplative personas, tone, and topic scope
- safety services own crisis detection, resource routing, and disclaimer logic
- voice services own watermarking, clone abuse scoring, and quality gates

The adapter contract exposes one canonical policy pack, one safety/tone
evaluation surface, and one prompt-overlay model for OSHUN shell and admin
integration work.

## Scope

- canonical persona-pack, tone-guidance, safety-assessment, topic-scope, and
  prompt-overlay DTOs
- low-level adapter interface for Lilith persona policy, spiritual-guidance,
  safety, registry, archetype, and voice-safety primitives
- canonical adapter factory (`createCanonicalLilithPersonaPolicyAdapter`) that
  wraps an injected low-level Lilith adapter
- normalization helpers that align fragmented Lilith persona and safety inputs
  with OSHUN policy contracts

## Usage

```ts
import { createCanonicalLilithPersonaPolicyAdapter } from '@oshun/persona-policy-lilith';

const lilith = createCanonicalLilithPersonaPolicyAdapter({ apiAdapter });

const evaluation = await lilith.evaluateInteraction({
  consumer: 'assistant',
  activeDomain: 'tara',
  userMessage: 'Can you guide me through a grief meditation?',
  topic: 'grief meditation',
  userExperienceLevel: 'beginner',
});
```
