# Domain Responsibility Contracts (YSD-0150–YSD-0162, YSD-0165)

Version 1.0.0 — 2026-07-18. The versioned adapter-boundary definitions for every
accountable owner in the proposal §3.2 responsibility matrix. Sections 1/2/6
implement against these definitions; YSD-0163 conformance tests and YSD-0164
architecture tests enforce them once adapters exist. This document is
superseded, never edited, when a boundary changes (YSD-0013).

## YSD-0150 — Versioned adapter boundary convention (all owners)

- Each accountable owner exposes exactly one study adapter package,
  `libs/<owner>/study-adapter`, owned by that domain (Nx tag `scope:<owner>`,
  CODEOWNERS entry), implementing contracts from the shared `libs/contracts`
  study namespace (YSD-1005). Yemaya never implements another domain's adapter.
- Every adapter exports `STUDY_ADAPTER_CONTRACT_VERSION` (semver). Breaking
  contract changes bump major and ship with a compatibility window; the YSD-2010
  breaking-change detector enforces.
- Every adapter implements capability discovery
  (`capabilities(): CapabilityDescriptor[]`) and returns the YSD-2007 response
  vocabulary (`unsupported`, `unavailable`, `forbidden`, `insufficient-rights`,
  `partial-success`, `degraded`) instead of throwing generic errors or
  fabricating results.
- Domain-native identifiers cross the boundary intact, wrapped — never re-minted
  (mapping tables per YSD-3002); YSD-0163 round-trip tests prove no lossy
  re-identification.
- Adapters call their domain's public API/service surface only — no direct
  cross-domain database access, no copied taxonomies (YSD-0164).

## YSD-0151 — Yemaya

- **Responsibilities:** workspace composition; StudyProject lifecycle;
  project-specific inspiration (collections, canvas, original concepts);
  CreativeDecision records; project transfer with originality safeguards.
- **Adapter boundary:** Yemaya is the composer, not a lens owner —
  `libs/yemaya/study-workspace` (YSD-1004) orchestrates via the other domains'
  adapters and owns only workspace-native aggregates
  (InspirationCollection/Item, OriginalConcept, CreativeDecision,
  ProjectTransfer).
- **Must not:** take over domain engines; re-implement analysis; store evidence
  or notebook records outside Sophia/Nisaba canonical stores.

## YSD-0152 — Nisaba

- **Responsibilities:** study semantics; source-grounded comparison
  (ComparisonSet); annotation (selector-union model extended with media
  selectors per the YSD-0113 assessment); typed links; notebooks and StudyCards
  (canonical identity); commentary; research continuity.
- **Adapter boundary:** `libs/nisaba/study-adapter` exposes
  notebook/annotation/comparison contracts; new media-study contracts are
  Nisaba-owned additions, not Yemaya copies.
- **Must not:** own media production, media storage, or rights decisions.

## YSD-0153 — Sophia

- **Responsibilities:** stable EvidenceAnchors; citations; provenance and
  acquisition lineage; retrieval; confidence-bearing claims; rights dependencies
  on evidence; source lineage across derivations.
- **Adapter boundary:** `libs/sophia/study-adapter` extends the existing
  `SourceAdapter` pattern (video-transcript adapter is the template); evidence
  records live in Sophia's store, referenced everywhere else.
- **Must not:** interpret; rank creative quality; duplicate Nisaba notebook
  semantics.

## YSD-0154 — Hathor

- **Responsibilities:** narrative, character, dramatic structure, directing,
  cinematography theory, and MDA lens outputs — bound to source anchors when
  surfaced in the workspace.
- **Adapter boundary:** `libs/hathor/study-adapter` wraps narrative-api /
  world-api surfaces; theory outputs return TaxonomyTerm-referenced,
  anchor-bound lens results.
- **Must not:** own the whole workspace (the §3.1 rejected alternative); emit
  unanchored theory prose as evidence.

## YSD-0155 — Aja

- **Responsibilities:** video, region annotation, tracking, pose, motion,
  action, animation reference, and correction semantics for visual motion.
- **Adapter boundary:** `libs/aja/study-adapter` wraps svc-reference-video and
  motion services per YSD-1007 — simulated paths (probe, scene detection)
  surface as `unsupported` until rewired to the real `libs/shared/encoding`
  primitives; the dual annotation models stay behind the adapter, translated to
  the shared contract.
- **Must not:** expose fabricated frame statistics; own audio or narrative
  semantics.

## YSD-0156 — Euterpe

- **Responsibilities:** voice, dialogue sound, music, rhythm, listening,
  sound-event, and mix-analysis outputs with timecode-anchored results.
- **Adapter boundary:** `libs/euterpe/study-adapter` is Euterpe's first
  service-facing surface (no service exists today) — analysis libraries are
  wrapped with capability discovery; persistence stays in workspace stores until
  Euterpe owns a durable store.
- **Must not:** perform speaker identification or vocal-emotion truth claims
  (YSD-4052).

## YSD-0157 — Aglaea

- **Responsibilities:** garments, fabric, accessories, construction, material,
  fashion history, and cultural terminology — with taxonomy authorship and
  applicability limits (YSD-4072).
- **Adapter boundary:** `libs/aglaea/study-adapter` exposes garment/style
  knowledge keyed by media-region anchors supplied by the workspace; region
  grounding is workspace-side, terminology is Aglaea-side.
- **Must not:** body-shape inference or demographic classification.

## YSD-0158 — Bellona and product runtimes

- **Responsibilities:** signed session manifests; replay; engine state; gameplay
  events; telemetry; trustworthy synchronization; and the DCC/engine bridge —
  the Unreal/Unity/Godot/Blender/Houdini/Maya/DaVinci adapters, interchange, and
  DCC/engine backlinks consumed by Sections 5, 9.13, 12.2, and 15.4 — reusing
  the existing `apps/bellona/bridge-*` and `libs/bellona/remote-protocol`
  machinery rather than building parallel integrations.
- **Adapter boundary:** `libs/bellona/study-adapter` exposes the cross-game
  study contract (session manifests, replay references, telemetry streams);
  product runtimes (aphrodite OSHRPLY replay, V2 telemetry) plug in behind it —
  the workspace never imports product-runtime code directly.
- **Must not:** accept unsigned session manifests as instrumented truth; bridge
  external commercial titles into instrumented tiers.

## YSD-0159 — Metis

- **Responsibilities:** concept prerequisites; curricula; exercises; rubrics;
  assessment; feedback; spaced review (FSRS-5 scheduler); mastery
  (KnowledgeTracker); portfolios.
- **Adapter boundary:** `libs/metis/study-adapter` maps craft concepts into
  Metis's concept graph and returns MasteryRecords/SpacedReviewItems; the
  contract-visible mastery vocabulary is chosen once (schema-inventory conflict
  #9) and recorded here when Section 14 lands.
- **Must not:** interpret sources; score taste or originality (YSD-2047).

## YSD-0160 — Isis

- **Responsibilities:** approved inference/generation gateway returning
  versioned outputs (model, configuration, run identity) with provider
  substitution and residency enforcement (per the YSD-0131 draft).
- **Adapter boundary:** `libs/isis/study-adapter` is the only model-call path
  for the workspace; every response carries AnalysisRun identity.
- **Must not:** become the evidence, notebook, or rights system of record;
  persist study sources beyond processing scratch.

## YSD-0161 — Oshun

- **Responsibilities:** identity; authentication; tenancy; permissions; Studio
  navigation; Library continuity; audit infrastructure (canonical audit events +
  hash chain); shared collaboration behavior (presence, commenting substrate).
- **Adapter boundary:** consumed through existing platform libraries
  (`libs/oshun/auth`, `navigation`, `shell-core`, `persistence` projections) —
  the workspace registers its routes/projections rather than wrapping Oshun in a
  study adapter.
- **Must not:** own study semantics or domain analysis.

## YSD-0162 — Iris

- **Responsibilities:** accessibility policy; assistive alternatives; accessible
  visualization semantics (timeline/canvas/graph non-spatial equivalents);
  learning accommodations.
- **Adapter boundary:** policy + primitive consumption (`libs/iris` a11y
  packages) with workspace-specific patterns contributed back to Iris, not
  forked.
- **Must not:** be bypassed — every learner-facing surface passes Iris policy
  gates (Gate 10).

## YSD-0165 — Neith and Maya (engine domains)

- **Responsibilities:** sandboxed 3D asset, material, scene, and level
  parsing/inspection primitives consumed by Section 9.13 — mesh, UV, material,
  rig, scene-graph, and USD/glTF/FBX/OBJ/Alembic interchange
  (`neith-asset-import`, `neith-engine-interchange`, `neith-scene-graph`, maya
  engine-core crates).
- **Adapter boundary:** `libs/neith/study-adapter` (TypeScript face over the
  Rust crates via napi-rs/WASM per the stack policy) exposes inspection results
  inside the YSD-4093 sandbox/resource-limit envelope; Maya capability reuse
  routes through the same adapter.
- **Must not:** be reimplemented inside Yemaya — the workspace must not contain
  engine-grade geometry or scene inspection code.
