|
| ENTROPIC_EXPORT std::string | entropic::config::validate_allowed_tools (const std::vector< std::string > &tools) |
| | Validate allowed_tools entries use "server.tool" format.
|
| |
| ENTROPIC_EXPORT std::string | entropic::config::validate (const ModelConfig &config) |
| | Validate a ModelConfig.
|
| |
| ENTROPIC_EXPORT std::string | entropic::config::validate (const ModelsConfig &config) |
| | Validate ModelsConfig.
|
| |
| ENTROPIC_EXPORT std::string | entropic::config::validate (const CompactionConfig &config) |
| | Validate CompactionConfig.
|
| |
| ENTROPIC_EXPORT std::string | entropic::config::validate_fallback_tier (const std::string &fallback, const std::unordered_map< std::string, TierConfig > &tiers) |
| | Check fallback_tier exists in tiers.
|
| |
| ENTROPIC_EXPORT std::string | entropic::config::validate_tier_map (const std::unordered_map< std::string, std::string > &tier_map, const std::unordered_map< std::string, TierConfig > &tiers) |
| | Check all tier_map values exist in tiers.
|
| |
| ENTROPIC_EXPORT std::string | entropic::config::validate_handoff_rules (const std::unordered_map< std::string, std::vector< std::string > > &rules, const std::unordered_map< std::string, TierConfig > &tiers) |
| | Check all handoff_rules keys and values exist in tiers.
|
| |
| std::string | entropic::config::validate_classification_routable (const RoutingConfig &routing) |
| | A configured classification_prompt is inert without a tier_map.
|
| |
| ENTROPIC_EXPORT std::string | entropic::config::validate_routing (const RoutingConfig &routing, const ModelsConfig &models) |
| | Validate RoutingConfig against defined tiers.
|
| |
| ENTROPIC_EXPORT std::string | entropic::config::warn_auto_chain_without_targets (const std::unordered_map< std::string, TierConfig > &tiers, const std::unordered_map< std::string, std::vector< std::string > > &handoff_rules) |
| | Warn if tier has auto_chain but no handoff_rules entry.
|
| |
| ENTROPIC_EXPORT std::string | entropic::config::validate (const PromptCacheConfig &config) |
| | Validate PromptCacheConfig.
|
| |
| static std::string | entropic::config::validate_model_tiers (const ModelsConfig &models) |
| | Validate model tiers and router.
|
| |
| static bool | entropic::config::holds_grammars (const std::filesystem::path &dir) |
| | Whether a directory holds at least one .gbnf file.
|
| |
| ENTROPIC_EXPORT std::vector< std::filesystem::path > | entropic::config::grammar_search_paths (const ParsedConfig &config, const std::filesystem::path &data_dir) |
| | The directories a bare grammar stem is looked up in (gh#154).
|
| |
| static bool | entropic::config::grammar_stem_resolves (const std::string &stem, const std::vector< std::filesystem::path > &search_dirs) |
| | Whether <stem>.gbnf exists in any search directory.
|
| |
| static std::string | entropic::config::describe_search_dirs (const std::vector< std::filesystem::path > &search_dirs) |
| | Render the search-path list for an error message.
|
| |
| ENTROPIC_EXPORT std::string | entropic::config::warn_unresolved_tier_grammars (const ParsedConfig &config, const std::vector< std::filesystem::path > &search_dirs) |
| | Warn about a tier whose grammar: stem resolves to no .gbnf (gh#154).
|
| |
| ENTROPIC_EXPORT std::string | entropic::config::validate_config (const ParsedConfig &config, std::vector< std::string > &warnings) |
| | Validate the full ParsedConfig.
|
| |
Config validation implementation.
- Version
- 1.8.2
Definition in file validate.cpp.
| std::vector< std::filesystem::path > entropic::config::grammar_search_paths |
( |
const ParsedConfig & |
config, |
|
|
const std::filesystem::path & |
data_dir |
|
) |
| |
The directories a bare grammar stem is looked up in (gh#154).
Mirrors the runtime rule rather than inventing one: ModelOrchestrator::load_bundled_grammars reads <config_dir>/grammars, and the facade falls back to <data_dir>/grammars only when that produced nothing. Both are returned when the first holds no .gbnf, so the check accepts exactly what the registry will hold.
- Parameters
-
| config | Parsed engine config (supplies config_dir). |
| data_dir | Resolved bundled data directory. |
- Returns
- Search directories, most specific first. May be empty. @req REQ-INFER-007
- Version
- 2.13.0
- Parameters
-
| config | Parsed engine config (supplies config_dir). |
| data_dir | Resolved bundled data directory. |
- Returns
- Search directories, most specific first. @req REQ-INFER-007
- Version
- 2.13.0
Definition at line 370 of file validate.cpp.
Validate CompactionConfig.
Checks: warning_threshold_percent < threshold_percent, threshold_percent in [0.5, 0.99], preserve_recent_turns in [1, 10].
- Parameters
-
| config | Compaction config to validate. |
- Returns
- Empty string on success, error message on failure. @req REQ-CFG-006
- Version
- 1.8.1
- Parameters
-
| config | Compaction config to validate. |
- Returns
- Empty string on success, error message on failure. @req REQ-CFG-006
- Version
- 2.1.3
Definition at line 106 of file validate.cpp.
| std::string entropic::config::validate_classification_routable |
( |
const RoutingConfig & |
routing | ) |
|
A configured classification_prompt is inert without a tier_map.
v2.8.1 (gh#87 follow-up): routing.enabled + a classification_prompt instructs the router to emit a routing digit (see classify_task), but with an EMPTY tier_map no digit can resolve to a tier — every route burns a router generation and silently falls back to the default tier (the exact no-op the v2.8.0 classify_task fix closed). validate_tier_map only checks map VALUES, so an empty map passes it; reject the prompt+empty-map combination here so a misconfigured deployment fails loudly at load instead of degrading silently.
- Parameters
-
- Returns
- Error string if a classification_prompt is set with an empty tier_map.
- Version
- 2.8.1 @req REQ-CFG-006
Definition at line 222 of file validate.cpp.
| std::string entropic::config::warn_unresolved_tier_grammars |
( |
const ParsedConfig & |
config, |
|
|
const std::vector< std::filesystem::path > & |
search_dirs |
|
) |
| |
Warn about a tier whose grammar: stem resolves to no .gbnf (gh#154).
Warn about every tier whose grammar: stem resolves to no .gbnf (gh#154).
Names a documented fail-open early. GrammarRegistry::get() returns "" on a miss and the decode proceeds UNCONSTRAINED — which is undetectable from outside, because constrained and unconstrained output have the same shape whenever the prompt also describes the shape. A consumer measured speculative decode for three days believing a grammar was active; their harness wrote each arm's config where no matching .gbnf sat.
A WARNING and not an error, because at configure time "unresolved" does not yet mean "wrong". entropic_grammar_register and entropic_grammar_register_file both require an orchestrator, which exists only AFTER entropic_configure*, so registering a tier's grammar from the host application is necessarily a post-configure act. gh#154 first made this an error and thereby made that documented sequence impossible to perform; the refusal now lands at FIRST USE instead (ModelOrchestrator::refuse_unresolved_tier_grammar, which returns ENTROPIC_ERROR_GRAMMAR_NOT_FOUND and decodes nothing).
A runtime params.grammar_key is not checked at all: it is per-call and keeps its fail-open, reported through generations[].grammar.resolved.
- Parameters
-
| config | Parsed engine config (tiers carry the stems). |
| search_dirs | Directories from grammar_search_paths(). |
- Returns
- Empty string when every tier stem resolves, else one message naming EVERY unresolved tier, its stem, every directory searched, and how to register the grammar. @req REQ-INFER-007 @req REQ-CFG-006
- Version
- 2.13.0
- Parameters
-
| config | Parsed engine config. |
| search_dirs | Directories from grammar_search_paths(). |
- Returns
- Empty string when every stem resolves, else one message naming each unresolved tier and stem. @req REQ-INFER-007 @req REQ-CFG-006
- Version
- 2.13.0
Definition at line 443 of file validate.cpp.