Move prompts into embedded Markdown assets

This commit is contained in:
2026-05-13 18:49:06 +00:00
parent d6126bf52b
commit 037121e9ce
43 changed files with 940 additions and 173 deletions

View File

@@ -657,6 +657,26 @@ Recommended 1.0 boundary:
Treat prompts as first-class behavioral assets rather than multiline strings embedded in Go source.
## Implementation status (2026-05-13)
This workstream is now implemented for built-in prompt assets and diagnostics metadata:
- module and LLM-validator prompt text has been moved to embedded Markdown assets under `internal/prompts/assets`;
- a built-in prompt registry exists in `internal/prompts` with stable prompt IDs and initial versions (`v1`);
- prompt metadata is registered with:
- prompt ID;
- prompt version;
- prompt source (`builtin`);
- embedded source path;
- deterministic SHA-256 source hash;
- prompt rendering uses typed template data and `text/template` missing-key errors;
- a shared prompt-injection hardening fragment is centrally embedded and included in module proposal and LLM-validator prompts;
- transcript description context remains background-only and non-authoritative, and empty descriptions do not render blank sections;
- prompt metadata is propagated into proposal-generation and LLM-validator diagnostics request metadata.
Current boundary:
- detailed prompt metadata is currently diagnostics-scoped; reports are not broadly redesigned for prompt metadata yet.
- filesystem prompt overrides, user-selectable prompt sources, scheduler utilization diagnostics, correction ledgers, and generated summaries remain planned/deferred.
This phase pairs naturally with the validator refactor because both modules and LLM-backed validators need prompt assets, stable prompt IDs, prompt versions, and prompt diagnostics.
## Built-in embedded prompts