# Audita Prompt Registry ## Scope This document describes embedded prompt assets, prompt metadata, and rendering behavior. ## Registry Ownership Prompt registry lives in `internal/prompts` and embeds assets under `internal/prompts/assets/**`. Registered prompt IDs: - `modules.glossary.proposal` - `modules.homophones.proposal` - `modules.spoken_word.proposal` - `modules.grammar.proposal` - `validators.spoken_form_plausibility` - `validators.meaning_reversal_review` - `validators.editorial_review` - `validators.grammar_review` - `validators.spoken_word_review` ## Metadata Model Each prompt has metadata: - `prompt_id` - `prompt_version` - `prompt_source` - `embedded_path` - `sha256` Current source/version values: - `prompt_source = builtin` - `prompt_version = v1` ## Rendering `prompts.RenderUserSystem(promptID, data)` renders system/user templates. Template behavior: - uses Go `text/template`; - `missingkey=error` is enabled; - output is trimmed. A shared hardening fragment is embedded once and referenced by prompt templates. ## Prompt Context Inputs Shared prompt payload helpers: - transcript section JSON (`internal/framework/promptcontext/MarshalTranscriptSectionJSON`) - transcript description block (`TranscriptDescriptionBlock`) Modules and LLM validators provide typed data maps to render prompt assets. ## Diagnostics Integration Prompt metadata is attached to proposal/validator diagnostics request metadata using `Metadata.DiagnosticsMap()`. ## Key Tests - `internal/prompts/registry_test.go` - `internal/framework/promptcontext/*_test.go` - module and validator prompt builder tests