63 lines
1.6 KiB
Markdown
63 lines
1.6 KiB
Markdown
# 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
|