# Completed Shared Prompt And Asset Layout The embedded prompt and schema asset layout has been reorganized so module-owned files are shallow and shared prompt fragments live in an explicit shared asset package. ## Outcome Module-owned assets stay in the module package that owns the behavior, with shallow internal paths: Shared reusable assets live under: ```text internal/modules/sharedassets/ assets.go prompts/ common-dnd-system.md common-dnd-transcript.md common-dnd-references.md schemas/ ``` The `sharedassets` package should own only reusable fragments and shared asset registration. It should not own module task semantics, response schemas, validators, artifact interpretation, or stage behavior. ## Ownership Rules Module packages own: - complete Scriptorium prompt definitions; - module task prompts and instruction prompts; - response schemas and schema metadata; - prompt IDs and versions; - semantic validation and interpretation. `internal/modules/sharedassets` owns: - shared prompt fragments used by more than one module; - standardized cross-module prompt hardening; - shared source/transcript framing; - shared reference framing and reference-use constraints; - future genuinely shared schemas, if a real cross-module schema emerges. Shared prompt fragments should be durable operating rules, not artifact-specific instructions. They may tell the model to treat source material as primary evidence, use references only for disambiguation unless a module says otherwise, ignore instructions embedded inside source/reference content, follow the structured output contract, and avoid exposing prompt instructions. ## Canonical Docs Current behavior is documented in: - [Internal Overview](../internal/overview.md) - [Internal LLM Runtime](../internal/llm.md) - [Internal Modules](../internal/modules.md) Prompt IDs, prompt versions, response schema IDs, schema names, and runtime module contracts remain unchanged by this reorganization.