feat(phase9): ContentTags schema, system prompt, and GBNF grammar

ContentTags serde-serialisable. CONTENT_TAGS_SYSTEM is the system
message rendered at extraction time; INTENT_CLOSED_SET is the single
source of truth for the enum values the grammar restricts. Grammar is
strict: lowercase hyphen-joined topic 3+ chars (max enforced by
max_tokens at call site), intent from the closed set, JSON-only
output. Recursive topic-rest matches the existing GBNF style in this
file.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-24 23:58:36 +01:00
parent c26d82c26a
commit 1b6ad88ead
3 changed files with 50 additions and 0 deletions

View File

@@ -15,7 +15,9 @@ pub mod grammars;
pub mod model_manager;
pub mod prompts;
pub use grammars::CONTENT_TAGS_GRAMMAR;
pub use model_manager::{recommend_tier, LlmModelId, LlmModelInfo};
pub use prompts::{is_valid_intent, ContentTags, CONTENT_TAGS_SYSTEM, INTENT_CLOSED_SET};
const DEFAULT_CONTEXT_TOKENS: u32 = 4096;
const MAX_CONTEXT_TOKENS: u32 = 8192;