Table Config
This page is the control-plane map for ConvEngine. It explains the important ce_* tables, what each one controls, which step reads it, and which config families shape the runtime without requiring custom Java branching.
If you are debugging behavior, start with the table that owns the decision. If you are tuning behavior, start with the config family that shapes the step before you touch custom code.
Quick jump
- Detailed static table reference
- Core static control tables
- What these tables actually do
- Runtime persistence tables
- Semantic Query metadata tables
- Config families and values
- High-impact lookup map
Detailed static table reference
The sections below go one table at a time for the primary static control-plane tables. Each table shows the important columns, the typical values, and what those values actually do at runtime.
ce_intent
ce_intent is the root business-intent registry. If an intent does not exist here, later scoped rows should not depend on it.
ce_intent columns
| Column | Typical values | What it does |
|---|---|---|
| intent_code | GREETING, LOAN_APPLICATION, ORDER_DIAGNOSTICS, SEMANTIC_QUERY_DIAGNOSTICS | Primary intent identifier used everywhere else in scoped config. |
| description | Free text | Human-readable explanation of the intent. |
| priority | Integer | Used when multiple intents need deterministic ordering. |
| enabled | true / false | Disables the intent without deleting the row. |
| display_name | User-friendly text | UI/admin-facing label for the intent. |
| llm_hint | Prompt-style hint text | Optional LLM biasing hint used by current classifier/runtime helpers. |
| created_at | Timestamp | Row creation audit timestamp. |
ce_intent_classifier
ce_intent_classifier is the first business-routing layer. It maps raw user text into intent and initial state.
ce_intent_classifier columns
| Column | Typical values | What it does |
|---|---|---|
| classifier_id | Integer / PK | Unique classifier row id. |
| intent_code | Any enabled ce_intent.intent_code | Intent selected when the classifier row matches. |
| state_code | ANY, UNKNOWN, or concrete state values | Initial state set along with the intent. |
| rule_type | Consumer-defined pattern mode (commonly REGEX / EXACT / CONTAINS style semantics) | Controls how pattern matching should be interpreted. |
| pattern | Regex or literal text | The text expression checked against user input. |
| priority | Integer | Lower/higher priority ordering depending on consumer precedence rules. |
| enabled | true / false | Turns the classifier row on or off. |
| description | Free text | Explains why the classifier row exists. |
ce_config
ce_config is the generic key/value fallback control table for framework defaults and legacy configuration paths.
ce_config columns
| Column | Typical values | What it does |
|---|---|---|
| config_id | Integer / PK | Unique config row id. |
| config_type | McpPlanner, Flow, Audit, etc. | Groups related config keys. |
| config_key | String key | The specific setting name inside the type group. |
| config_value | String / JSON text | The configured value read by the framework. |
| enabled | true / false | Disables the config row without deleting it. |
| created_at | Timestamp | Row creation audit timestamp. |
ce_container_config
ce_container_config maps an input parameter to a concrete page / section / container location for a given intent and state.
ce_container_config columns
| Column | Typical values | What it does |
|---|---|---|
| id | Integer / PK | Unique row id. |
| intent_code | Concrete intent code | Scopes the container row to an intent. |
| state_code | Concrete state code | Further scopes the row to a state. |
| page_id | Integer page identifier | UI page identifier for the mapping. |
| section_id | Integer section identifier | UI section identifier within the page. |
| container_id | Integer container identifier | Specific container slot for the mapping. |
| input_param_name | customerId, accountId, accLocId | The runtime input param name associated with this UI container. |
| priority | Integer | Controls which rows apply first if multiple are eligible. |
| enabled | true / false | Disables the row without deleting it. |
| created_at | Timestamp | Row creation audit timestamp. |
ce_output_schema
ce_output_schema defines the structured extraction and collection contract for a given intent/state.
ce_output_schema columns
| Column | Typical values | What it does |
|---|---|---|
| schema_id | Integer / PK | Unique schema row id. |
| intent_code | Concrete intent code | Scopes the schema to an intent. |
| state_code | Concrete state | Scopes the schema to a state. |
| json_schema | JSON Schema text | Defines required fields, property types, and extraction contract. |
| description | Free text | Explains the purpose of the schema. |
| enabled | true / false | Turns the schema on or off. |
| priority | Integer | Controls schema selection order. |
ce_prompt_template
ce_prompt_template now controls both prompt text and turn semantics.
ce_prompt_template columns
| Column | Typical values | What it does |
|---|---|---|
| template_id | Integer / PK | Unique prompt row id. |
| intent_code | Concrete intent code | Scopes the prompt to an intent. |
| state_code | Concrete state | Scopes the prompt to a state. |
| response_type | EXACT, DERIVED and related consumer response strategies | Selects which prompt path this row belongs to. |
| system_prompt | Prompt text | System-level prompt text. |
| user_prompt | Prompt text | User-facing prompt template text. |
| temperature | Decimal | Optional LLM temperature override. |
| interaction_mode | NORMAL, IDLE, COLLECT, CONFIRM, PROCESSING, FINAL, ERROR, DISAMBIGUATE, FOLLOW_UP, PENDING_ACTION, REVIEW | Broad turn-behavior contract used by current routing. |
| interaction_contract | JSON text such as {"allows":[...],"expects":[...]} | Fine-grained capabilities and input expectations used by routing and correction. |
| enabled | true / false | Turns the prompt row on or off. |
| created_at | Timestamp | Row creation audit timestamp. |
ce_response
ce_response is still the final response authority even when MCP or semantic query runtime computes internal answers.
ce_response columns
| Column | Typical values | What it does |
|---|---|---|
| response_id | Integer / PK | Unique response row id. |
| intent_code | Concrete intent code | Scopes the response row to an intent. |
| state_code | Concrete state | Scopes the response row to a state. |
| output_format | TEXT, JSON | Controls the transport/output shape. |
| response_type | EXACT, DERIVED | Controls whether text is direct or derived from runtime context. |
| exact_text | Prompt/result text | Returned directly for EXACT responses. |
| derivation_hint | Path or expression hint | Tells the resolver where to derive output for DERIVED responses. |
| json_schema | Optional JSON schema | Output schema contract for structured responses. |
| priority | Integer | Controls which response row wins when multiple are eligible. |
| enabled | true / false | Turns the response row on or off. |
| description | Free text | Human-readable explanation. |
| created_at | Timestamp | Row creation audit timestamp. |
ce_rule
ce_rule is the biggest behavior table in the framework. Most domain flow changes should start here.
ce_rule columns
| Column | Typical values | What it does |
|---|---|---|
| rule_id | Integer / PK | Unique rule row id. |
| phase | POST_DIALOGUE_ACT, POST_SCHEMA_EXTRACTION, PRE_AGENT_MCP, PRE_RESPONSE_RESOLUTION, POST_AGENT_INTENT, POST_AGENT_MCP, POST_TOOL_EXECUTION | Controls when the rule is evaluated. |
| intent_code | Concrete intent, ANY, UNKNOWN | Scopes the rule by intent. |
| state_code | Concrete state, ANY, UNKNOWN | Scopes the rule by state. |
| rule_type | EXACT, REGEX, JSON_PATH or consumer-supported matcher mode | Controls how match_pattern is interpreted. |
| match_pattern | Pattern or JSON_PATH expression | The actual condition expression. |
| action | SET_INTENT, SET_STATE, SET_DIALOGUE_ACT, SET_JSON, GET_CONTEXT, GET_SCHEMA_JSON, GET_SESSION, SET_TASK, SET_INPUT_PARAM | The mutation or retrieval action performed on match. |
| action_value | State code, JSON path, input-param payload, etc. | Payload used by the selected action. |
| priority | Integer | Controls ordering when multiple rules match. |
| enabled | true / false | Turns the rule row on or off. |
| description | Free text | Explains rule purpose. |
| created_at | Timestamp | Row creation audit timestamp. |
ce_policy
ce_policy is the pre-intent governance layer.
ce_policy columns
| Column | Typical values | What it does |
|---|---|---|
| policy_id | Integer / PK | Unique policy row id. |
| rule_type | REGEX, EXACT, CONTAINS or consumer-defined matcher mode | Controls how the pattern is interpreted. |
| pattern | Literal text or regex | The condition used by the policy check. |
| response_text | User-facing policy response text | The response text returned when the policy row triggers. |
| priority | Integer | Controls ordering across policy rows. |
| enabled | true / false | Turns the policy row on or off. |
| description | Free text | Explains the policy. |
| created_at | Timestamp | Row creation audit timestamp. |
ce_pending_action
ce_pending_action is the static task catalog. The runtime lifecycle is stored in context, not in this table.
ce_pending_action columns
| Column | Typical values | What it does |
|---|---|---|
| pending_action_id | Integer / PK | Unique pending-action row id. |
| intent_code | Concrete intent code | Scopes the action to an intent. |
| state_code | Concrete state code | Scopes the action to a state. |
| action_key | Business action key | Stable identifier used during routing and execution. |
| bean_name | Spring bean name | The consumer bean invoked by the task executor. |
| method_names | Comma-separated method names or configured handler methods | The callable methods available for the action. |
| priority | Integer | Controls precedence when multiple actions are eligible. |
| enabled | true / false | Turns the row on or off. |
| description | Free text | Explains the action. |
| created_at | Timestamp | Row creation audit timestamp. |
ce_mcp_tool
ce_mcp_tool is the scoped MCP tool registry. In the current v2 line, scope is explicit and mandatory.
ce_mcp_tool columns
| Column | Typical values | What it does |
|---|---|---|
| tool_id | Integer / PK | Unique tool row id. |
| tool_code | Unique tool identifier | Primary tool lookup key used by planners and direct tool requests. |
| tool_group | DB, HTTP_API, WORKFLOW_ACTION, DOCUMENT_RETRIEVAL, CALCULATOR_TRANSFORM, NOTIFICATION, FILES | Normalizes tool execution path and adapter selection. |
| intent_code | Concrete intent, ANY, UNKNOWN | Mandatory intent scope for the tool. |
| state_code | Concrete state, ANY, UNKNOWN | Mandatory state scope for the tool. |
| enabled | true / false | Turns the tool on or off. |
| description | Free text | Explains what the tool does. |
| created_at | Timestamp | Row creation audit timestamp. |
ce_mcp_db_tool
ce_mcp_db_tool is the SQL-template fallback configuration when the DB tool path is template-driven.
ce_mcp_db_tool columns
| Column | Typical values | What it does |
|---|---|---|
| tool_id | FK to ce_mcp_tool.tool_id | Binds the DB-specific config to a tool row. |
| dialect | POSTGRES, SQLITE, ORACLE | Selects the SQL dialect for the template. |
| sql_template | SQL text | Deterministic SQL template used for execution. |
| param_schema | JSON schema | Declares the expected input params and their shape. |
| safe_mode | true / false | Enables the safer execution path for DB SQL templates. |
| max_rows | Integer | Hard cap on returned rows for this tool template. |
| created_at | Timestamp | Row creation audit timestamp. |
| allowed_identifiers | JSON array/object | Optional allowlist for dynamic identifiers in the SQL template. |
ce_mcp_sql_guardrail
ce_mcp_sql_guardrail is the shared SQL safety table for MCP DB execution. It keeps the runtime read-only while still letting you explicitly allow or block SQL functions and extra SQL keywords.
ce_mcp_sql_guardrail columns
| Column | Typical values | What it does |
|---|---|---|
| guardrail_id | Integer / PK | Unique SQL guardrail row id. |
| rule_type | ALLOW_FUNCTION, BLOCK_FUNCTION, BLOCK_KEYWORD | Determines whether the row extends the function allowlist or blocks a function/keyword. |
| match_value | date_part, pg_sleep, explain | The SQL function name or keyword matched by the rule. |
| enabled | true / false | Turns the rule on or off. |
| description | Free text | Explains why this SQL guardrail row exists. |
| created_at | Timestamp | Row creation audit timestamp. |
ce_mcp_sql_guardrail example values
| rule_type | match_value | Runtime effect |
|---|---|---|
| ALLOW_FUNCTION | date_part | Adds `date_part(...)` to the allowed function set on top of the built-in safe defaults. |
| BLOCK_FUNCTION | pg_sleep | Blocks sleep-style functions even though the query is still otherwise read-only. |
| BLOCK_KEYWORD | explain | Blocks `EXPLAIN` if your policy does not want query-plan inspection through MCP. |
Example entry:
INSERT INTO ce_mcp_sql_guardrail (
rule_type,
match_value,
enabled,
description
) VALUES (
'BLOCK_FUNCTION',
'pg_sleep',
TRUE,
'Prevent delay or sleep-style SQL calls in all MCP DB execution paths.'
);
Allowed function example:
-- Lets read-only MCP SQL use:
-- select * from fetch_inventory_status(123)
INSERT INTO ce_mcp_sql_guardrail (
rule_type,
match_value,
enabled,
description
) VALUES (
'ALLOW_FUNCTION',
'fetch_inventory_status',
TRUE,
'Allow inventory lookup function calls used by read-only MCP diagnostics.'
);
Important:
- the guard only checks that the SQL stays in a read-only
SELECT/WITHshape and thatfetch_inventory_statusis on the allowlist - it does not inspect the database function body
- if
fetch_inventory_status(...)performs writes internally, the SQL layer cannot detect that, so only addALLOW_FUNCTIONrows for functions your DB team guarantees are side-effect free
ce_mcp_planner
ce_mcp_planner makes planner prompts data-driven and scope-aware.
ce_mcp_planner columns
| Column | Typical values | What it does |
|---|---|---|
| planner_id | Integer / PK | Unique planner row id. |
| intent_code | Concrete intent, ANY, UNKNOWN | Mandatory intent scope for planner prompt selection. |
| state_code | Concrete state, ANY, UNKNOWN | Mandatory state scope for planner prompt selection. |
| system_prompt | Prompt text | System prompt used by the planner. |
| user_prompt | Prompt text | User prompt template used by the planner. |
| enabled | true / false | Turns the planner row on or off. |
| created_at | Timestamp | Row creation audit timestamp. |
ce_verbose
ce_verbose is the runtime progress/error message control table added in the later v2 line.
ce_verbose columns
| Column | Typical values | What it does |
|---|---|---|
| verbose_id | Integer / PK | Unique verbose row id. |
| intent_code | Concrete intent, ANY, UNKNOWN | Scopes the verbose rule by intent. |
| state_code | Concrete state, ANY, UNKNOWN | Scopes the verbose rule by state. |
| step_match | EXACT, REGEX, JSON_PATH | Controls how step_value is matched. |
| step_value | Step name, regex, or JSON_PATH target | The runtime step selector. |
| determinant | STEP_ENTER, STEP_EXIT, STEP_ERROR, MCP_TOOL_CALL, RESOLVE_RESPONSE_SELECTED, etc. | The runtime event that triggers the message. |
| rule_id | Optional integer | Optional rule-specific filter. |
| tool_code | Optional tool code | Optional tool-specific filter. |
| message | Verbose text template | Normal progress message. |
| error_message | Verbose text template | Error-specific message variant. |
| priority | Integer | Controls winner selection when multiple rows match. |
| enabled | true / false | Turns the verbose row on or off. |
| created_at | Timestamp | Row creation audit timestamp. |
Summary View
Core static control tables
Primary static ce_* control tables
| Table | Primary purpose | Main step(s) that use it | Key fields that matter most |
|---|---|---|---|
| ce_config | Global key/value feature flags and defaults. | Multiple steps and bootstrapping services. | config_type, config_key, config_value, enabled |
| ce_container_config | Container-position mapping for input params. | AddContainerDataStep. | intent_code, state_code, page_id, section_id, container_id, input_param_name, priority |
| ce_intent | Intent registry and intent metadata. | IntentResolutionStep, startup cache preload. | intent_code, description, priority, enabled, display_name, llm_hint |
| ce_intent_classifier | Classifier rules that map user text into intent + initial state. | IntentResolutionStep. | intent_code, state_code, rule_type, pattern, priority, enabled |
| ce_output_schema | Schema contract for structured extraction and follow-up collection. | SchemaExtractionStep, CorrectionStep, ResponseResolutionStep. | intent_code, state_code, json_schema, priority, enabled |
| ce_prompt_template | Prompt templates and interaction semantics. | SchemaExtractionStep, ResponseResolutionStep, CorrectionStep, MCP planner prompt selection. | intent_code, state_code, response_type, system_prompt, user_prompt, interaction_mode, interaction_contract |
| ce_response | Final response selection and derivation behavior. | ResponseResolutionStep. | intent_code, state_code, output_format, response_type, exact_text, derivation_hint, priority |
| ce_rule | Rule engine transitions and mutations. | RulesStep and phase-specific rule hooks. | phase, intent_code, state_code, rule_type, match_pattern, action, action_value, priority |
| ce_policy | Pre-intent policy-response rows. | PolicyEnforcementStep. | rule_type, pattern, response_text, priority, enabled |
| ce_pending_action | Static catalog of confirmable pending tasks. | ActionLifecycleStep, DisambiguationStep, PendingActionStep. | action_key, bean_name, method_names, intent_code, state_code, priority, enabled |
| ce_mcp_tool | MCP tool registry with strict intent/state scope. | McpToolStep, ToolOrchestrationStep, McpToolRegistry. | tool_code, tool_group, intent_code, state_code, enabled |
| ce_mcp_db_tool | SQL-template fallback configuration for DB tools. | McpDbToolExecutor / DB tool fallback paths. | tool_id, dialect, sql_template, param_schema, safe_mode, max_rows |
| ce_mcp_sql_guardrail | Read-only SQL safety extensions for MCP DB paths. | McpSqlGuardrail, McpDbExecutor, SemanticQueryTemplateStepExecutor. | rule_type, match_value, enabled, description |
| ce_mcp_planner | Planner prompts scoped by intent/state. | McpPlanner. | planner_id, intent_code, state_code, system_prompt, user_prompt, enabled |
| ce_verbose | Config-driven runtime progress and error messages. | Verbose publishing adapters across many steps. | intent_code, state_code, determinant, step_match, step_value, message, error_message, priority |
What these tables actually do
Intent and routing
Intent + routing tables
| Table | What it decides | Important values / examples | Why it matters |
|---|---|---|---|
| ce_intent | Which business intents exist. | ORDER_DIAGNOSTICS, LOAN_APPLICATION, SEMANTIC_QUERY_DIAGNOSTICS, GREETING | Every later scoped decision depends on a valid intent. |
| ce_intent_classifier | How raw text maps to intent/state. | rule_type is pattern-driven and consumer-defined (for example REGEX-style classification rows) | This is the earliest business routing decision. |
| ce_rule | How the engine mutates state, input params, JSON, tasks, and dialogue act after each phase. | phase values include POST_AGENT_INTENT, POST_SCHEMA_EXTRACTION, PRE_AGENT_MCP, POST_AGENT_MCP, PRE_RESPONSE_RESOLUTION, POST_TOOL_EXECUTION, POST_DIALOGUE_ACT | Most domain behavior should live here instead of hardcoded Java. |
| ce_policy | Whether a turn should be short-circuited with a policy response before intent work continues. | pattern and response_text form the policy contract | This is the early safety boundary before expensive work starts. |
Schema, prompts, and responses
Schema + response tables
| Table | What it controls | Important values / examples | Why it matters |
|---|---|---|---|
| ce_output_schema | The structured fields the engine tries to collect or extract. | JSON Schema with required fields and property metadata | Controls missing-field prompting, schema completeness, and correction targeting. |
| ce_prompt_template | Prompt text and turn semantics. | interaction_mode examples: NORMAL, IDLE, COLLECT, CONFIRM, PROCESSING, FINAL, ERROR, DISAMBIGUATE, FOLLOW_UP, PENDING_ACTION, REVIEW | This now shapes routing semantics as well as prompt text. |
| ce_response | How the final assistant message is resolved. | output_format examples: TEXT, JSON; response_type examples: EXACT, DERIVED | This remains the final response authority even when MCP produces internal answers. |
Actions, tools, and orchestration
Task + MCP tables
| Table | What it controls | Important values / examples | Why it matters |
|---|---|---|---|
| ce_pending_action | Which pending tasks are available in a given intent/state. | runtime lifecycle states are OPEN, IN_PROGRESS, EXECUTED, REJECTED, EXPIRED | This keeps user confirmations and task execution table-driven. |
| ce_mcp_tool | Which tools are visible for a given intent/state. | tool_group values: DB, HTTP_API, WORKFLOW_ACTION, DOCUMENT_RETRIEVAL, CALCULATOR_TRANSFORM, NOTIFICATION, FILES | Prevents cross-intent tool leakage and drives both direct and planner MCP flows. |
| ce_mcp_db_tool | How DB tools can fall back to deterministic SQL templates. | dialect values such as postgres/sqlite/oracle depending on consumer setup | Used when DB execution is template-driven rather than handler-driven. |
| ce_mcp_sql_guardrail | How read-only SQL is further constrained or extended. | rule_type values: ALLOW_FUNCTION, BLOCK_FUNCTION, BLOCK_KEYWORD | Lets you stay read-only while still governing which SQL functions and extra keywords are permitted. |
| ce_mcp_planner | How planner prompts change by domain and state. | resolution order is exact scope -> intent+ANY -> ANY+ANY -> legacy ce_config fallback | This makes MCP planning data-driven instead of globally hardcoded. |
Runtime persistence tables
Runtime / audit tables
| Table | What it stores | Written by | Why it matters |
|---|---|---|---|
| ce_conversation | Current conversation snapshot and context JSON. | LoadOrCreateConversationStep, PersistConversationStep. | This is the main persisted runtime state. |
| ce_conversation_history | Turn history snapshots. | Async/history persistence path. | Used for replay, continuity, and follow-up context. |
| ce_audit | Structured audit trail across pipeline stages. | Almost every step. | This is the first place to inspect when behavior is unexpected. |
| ce_llm_call_log | Prompt/completion traces for LLM calls. | LLM integration + async persistence path. | Useful when debugging prompt selection and LLM outputs. |
Semantic Query metadata tables
Semantic Query ce_semantic_* tables
| Table | Purpose | Used by | What it makes possible |
|---|---|---|---|
| ce_semantic_concept | Business concepts (ENTITY/STATUS/INTENT). | SemanticInterpretService. | Maps user language into domain concepts. |
| ce_semantic_synonym | Synonym table for concept matching. | SemanticInterpretService. | Improves recall for natural-language variants. |
| ce_semantic_query_class | Query class contracts (filters/sorts/defaults). | SemanticInterpretService, SemanticLlmQueryService. | Constrains query intent and default behavior. |
| ce_semantic_mapping | Business field -> physical mapping. | SemanticInterpretService, SemanticLlmQueryService. | Enables SQL generation from canonical intent. |
| ce_semantic_ambiguity_option | Explicit clarification options. | SemanticInterpretService. | Provides deterministic disambiguation choices. |
| ce_semantic_concept_embedding | Embedding corpus for concepts. | SemanticInterpretService. | Vector-assisted concept/entity retrieval. |
| ce_semantic_entity | Entity-level override metadata. | SemanticInterpretService. | Patch behavior without Java changes. |
| ce_semantic_relationship | Relationship override metadata. | SemanticInterpretService. | Override join relationships without Java changes. |
| ce_semantic_join_hint | Join hints metadata. | SemanticInterpretService. | Steers join planning for complex schemas. |
| ce_semantic_value_pattern | Value extraction patterns. | SemanticInterpretService. | Improves value parsing from natural language. |
| ce_semantic_query_failures | Failure memory + corrected SQL + embeddings. | SemanticLlmQueryService, SemanticFailureFeedbackService. | Supports retry, retrieval, and correction learning. |
Config families and values
convengine.flow.dialogue-act.*
Dialogue act config
| Setting / value | Possible values | What it changes |
|---|---|---|
| resolveMode | REGEX_ONLY, REGEX_THEN_LLM, LLM_ONLY | Controls whether dialogue act is cheap regex only or escalates to LLM. |
| regex patterns | consumer-defined string patterns | Controls fast-path matches for AFFIRM / NEGATE / EDIT / RESET / QUESTION / NEW_REQUEST / ANSWER. |
| confidence thresholds | numeric | Controls when LLM fallback or confidence-based routing should happen. |
convengine.flow.interaction-policy.*
Interaction policy config
| Setting / value | Possible values | What it changes |
|---|---|---|
| matrix | consumer-defined combinations | Lets you map pending-action / pending-slot / dialogue-act combinations into policy decisions. |
| executePendingOnAffirm | true / false | AFFIRM can trigger EXECUTE_PENDING_ACTION. |
| rejectPendingOnNegate | true / false | NEGATE can trigger REJECT_PENDING_ACTION. |
| fillPendingSlotOnNonNewRequest | true / false | Non-new turns can continue slot filling instead of reclassifying intent. |
| requireResolvedIntentAndState | true / false | Makes interaction policy depend on already having a stable intent/state. |
convengine.flow.action-lifecycle.*
Pending action lifecycle config
| Setting / value | Possible values | What it changes |
|---|---|---|
| ttlTurns | integer | How many turns a pending action remains alive. |
| ttlMinutes | integer | How long a pending action remains valid by wall-clock time. |
| enabled | true / false | Turns ActionLifecycleStep TTL enforcement on or off. |
convengine.flow.guardrail.*
Guardrail config
| Setting / value | Possible values | What it changes |
|---|---|---|
| enabled | true / false | Turns GuardrailStep on or off. |
| blocked patterns / sanitizers | consumer-defined | Defines what should be blocked or rewritten before later steps run. |
| approval behavior | consumer-defined | Controls when a turn is allowed, blocked, or requires extra approval handling. |
convengine.flow.tool-orchestration.*
Direct tool path config
| Setting / value | Possible values | What it changes |
|---|---|---|
| enabled | true / false | Turns direct request-driven tool execution on or off. |
| group policies | consumer-defined | Controls how tool groups are routed when a direct tool_request arrives. |
convengine.flow.memory.*
Memory config
| Setting / value | Possible values | What it changes |
|---|---|---|
| enabled | true / false | Turns MemoryStep session-summary writing on or off. |
| recentTurnsForSummary | integer | Controls how many recent turns feed memory summarization. |
| store behavior | consumer-defined implementation choice | Controls where memory is written and how recall is handled. |
convengine.flow.query-rewrite.*
Query rewrite config
| Setting / value | Possible values | What it changes |
|---|---|---|
| enabled | true / false | Turns standalone query rewrite on or off. |
| rewrite behavior | consumer/LLM-path dependent | Controls when follow-up turns produce standalone_query and resolved_user_input. |
convengine.mcp.guardrail.*
MCP next-tool guardrail config
| Setting / value | Possible values | What it changes |
|---|---|---|
| enabled | true / false | Turns the next-tool guardrail on or off. |
| failClosed | true / false | When true, missing allowed-next config can block planner proposals. |
| allowedNextByCurrentTool | map of currentTool -> allowed next tools | Whitelists legal planner transitions between tool calls. |
convengine.mcp.http-api.defaults.*
HTTP tool defaults
| Setting / value | Possible values | What it changes |
|---|---|---|
| timeouts | integer ms values | Controls connect/read limits for framework-managed HTTP calls. |
| retry | attempt count / backoff values | Controls automatic retry policy. |
| circuit breaker | threshold / window values | Controls temporary short-circuit behavior for unstable downstreams. |
| auth hooks | consumer-defined provider config | Controls how outbound auth is attached. |
convengine.mcp.db.semantic.*
Semantic Query config
| Setting / value | Possible values | What it changes |
|---|---|---|
| enabled | true / false | Turns semantic runtime on/off. |
| toolCode | db.semantic.query | Primary semantic query tool code. |
| semanticModelSource | DB tables (`ce_semantic_*`) | Semantic model source assembled from DB tables (no YAML path). |
| defaultLimit / maxLimit | integer | Default and max row limits. |
| sqlDialect / timezone | string | Dialect and timezone controls for query generation. |
| retrieval.* | weights + limits | Controls semantic retrieval ranking behavior. |
| vector.* | enabled/table/columns/maxResults | Controls embedding-based retrieval settings. |
| clarification.* | threshold + option limits | Controls ambiguity clarification behavior. |
High-impact lookup map
If you want to change X, start with Y
| What you want to change | Start with this table/config | Why |
|---|---|---|
| Intent classification | ce_intent + ce_intent_classifier | That is where raw text becomes an intent/state. |
| State transitions | ce_rule | Most state changes should stay rule-driven. |
| Required structured fields | ce_output_schema | That defines extraction and collection requirements. |
| Prompt text or confirmation semantics | ce_prompt_template | Prompt content and interaction_mode/interaction_contract live there. |
| Final assistant wording | ce_response | ResponseResolutionStep still resolves the final payload from here. |
| Pending confirmations or task execution | ce_pending_action + convengine.flow.action-lifecycle.* | Those control the multi-turn task path. |
| Direct tool availability | ce_mcp_tool + convengine.flow.tool-orchestration.* | That controls tool visibility and direct execution. |
| Planner behavior | ce_mcp_planner + convengine.mcp.guardrail.* | That controls tool order and whether transitions are allowed. |
| Semantic intent mapping | ce_semantic_concept + ce_semantic_synonym + ce_semantic_mapping | That controls how user text becomes canonical business intent. |
| Semantic query behavior | ce_semantic_query_class + ce_semantic_ambiguity_option + ce_semantic_join_hint | That controls query class constraints, clarification, and join guidance. |
| Semantic retry memory | ce_semantic_query_failures | That controls failure-memory examples and corrected-SQL reuse. |
| Runtime progress messages | ce_verbose | That is the control-plane source for verbose messages. |