# Operator-controlled bindings. The model cannot override these settings. relations_file = "project-relations.vcore.toml" [project] type = "wow" profile = "vcore" [source] path = "/srv/viano-bug-analysis/viano-core" url = "https://gitea.viano-software.de/Nico/Viano-Core" commit = "0000000000000000000000000000000000000000" [database] host = "127.0.0.1" port = 3306 database = "cata_world" user = "buganalysis" password_env = "VIANO_DB_PASSWORD" snapshot_id = "CONFIGURE_ME" # Explicit allowlist: no account or character tables. tables = ["*"] # Explicit database scope: no auth, character or locale-reference access. [database.additional_databases] cata_hotfixes = ["*"] cata_locale = ["*"] [limits] max_rows = 50 max_result_bytes = 65536 max_files = 20000 max_file_bytes = 2097152 max_search_bytes = 134217728 max_lines = 80 timeout_seconds = 15 max_cached_queries = 256 [enrichment] max_queries = 24 max_depth = 3 max_relationships = 128 [[enrichment.texts]] table = "quest_template" id_column = "ID" context_role = "quest_definition" columns = ["LogTitle", "LogDescription", "QuestDescription"] [[enrichment.queries]] kind = "source.schema" text = "CREATE TABLE `creature`" path_prefix = "sql/base/" case_sensitive = true offset = 0 limit = 1 [[enrichment.queries]] kind = "source.schema" text = "CREATE TABLE `quest_template`" path_prefix = "sql/base/" case_sensitive = true offset = 0 limit = 1 # Deterministic entity resolution before the first LLM call; no diagnosis. [[enrichment.entities]] entity_type = "creature" table = "creature_template" column = "entry" name_column = "name" columns = ["entry", "name", "subname", "ScriptName", "AIName"] limit = 1 [[enrichment.entities]] entity_type = "quest" table = "quest_template" column = "ID" name_column = "LogTitle" columns = ["ID", "LogTitle", "LogDescription", "QuestDescription", "StartItem", "RequiredNpcOrGo1", "RequiredNpcOrGo2", "RequiredNpcOrGo3", "RequiredNpcOrGo4", "RequiredItemId1", "RequiredItemId2", "RequiredItemId3", "RequiredItemId4", "RequiredItemId5", "RequiredItemId6", "RequiredSpell"] limit = 1 [[enrichment.relationships]] from_table = "quest_template" from_id_column = "ID" from_column = "StartItem" relation = "quest_start_item" entity_type = "item" table = "item_script_names" column = "Id" columns = ["Id", "ScriptName"] [[enrichment.relationships]] from_table = "quest_template" from_id_column = "ID" from_column = "RequiredItemId1" relation = "quest_required_item" entity_type = "item" table = "item_script_names" column = "Id" columns = ["Id", "ScriptName"] [[enrichment.relationships]] from_table = "quest_template" from_id_column = "ID" from_column = "RequiredItemId2" relation = "quest_required_item" entity_type = "item" table = "item_script_names" column = "Id" columns = ["Id", "ScriptName"] [[enrichment.relationships]] from_table = "quest_template" from_id_column = "ID" from_column = "ID" relation = "quest_starter_records" table = "creature_queststarter" column = "quest" columns = ["id", "quest"] [[enrichment.relationships]] from_table = "creature_queststarter" from_id_column = "quest" from_column = "id" relation = "quest_giver" entity_type = "creature" table = "creature_template" column = "entry" columns = ["entry", "name", "AIName", "ScriptName"] [[enrichment.relationships]] from_table = "creature_template" from_id_column = "entry" from_column = "entry" when_column = "AIName" when_value = "SmartAI" relation = "creature_smartai_records" table = "smart_scripts" column = "entryorguid" columns = ["entryorguid", "source_type", "id", "link", "event_type", "event_param1", "event_param2", "event_param3", "event_param4", "action_type", "action_param1", "action_param2", "action_param3", "action_param4", "action_param5", "action_param6", "target_type", "target_param1", "target_param2", "target_param3", "comment"] filters = [{column = "source_type", operator = "eq", value = 0}] limit = 10 [[enrichment.relationships]] from_table = "creature_template" from_id_column = "entry" from_column = "ScriptName" relation = "creature_script_binding" kind = "source.symbol" path_prefix = "src/server/scripts/" limit = 5 [[enrichment.relationships]] from_table = "item_script_names" from_id_column = "Id" from_column = "ScriptName" relation = "item_script_binding" kind = "source.symbol" path_prefix = "src/server/scripts/" limit = 5 [[enrichment.relationships]] from_table = "quest_template" from_id_column = "ID" from_column = "RequiredSpell" relation = "quest_required_spell" entity_type = "spell" table = "spell_script_names" column = "spell_id" columns = ["spell_id", "ScriptName"] [[enrichment.relationships]] from_table = "spell_script_names" from_id_column = "spell_id" from_column = "ScriptName" relation = "spell_script_binding" kind = "source.symbol" path_prefix = "src/server/scripts/" limit = 5 [[enrichment.relationships]] from_table = "quest_template" from_id_column = "ID" from_column = "RequiredItemId3" relation = "quest_required_item" entity_type = "item" table = "item_script_names" column = "Id" columns = ["Id", "ScriptName"] [[enrichment.relationships]] from_table = "quest_template" from_id_column = "ID" from_column = "RequiredItemId4" relation = "quest_required_item" entity_type = "item" table = "item_script_names" column = "Id" columns = ["Id", "ScriptName"] [[enrichment.relationships]] from_table = "quest_template" from_id_column = "ID" from_column = "RequiredItemId5" relation = "quest_required_item" entity_type = "item" table = "item_script_names" column = "Id" columns = ["Id", "ScriptName"] [[enrichment.relationships]] from_table = "quest_template" from_id_column = "ID" from_column = "RequiredItemId6" relation = "quest_required_item" entity_type = "item" table = "item_script_names" column = "Id" columns = ["Id", "ScriptName"] # Semantic name lookup runs in Case Interpretation, never in the deterministic CaseBuilder. [entity_resolution] enabled = true max_searches = 4 max_candidates = 8 max_invalid_responses = 3 [[entity_resolution.catalogs]] id = "creatures" entity_type = "creature" table = "creature_template" id_column = "entry" name_column = "name" columns = ["entry", "name", "subname", "AIName", "ScriptName", "minlevel", "maxlevel", "faction", "unit_flags"] [[entity_resolution.catalogs]] id = "localized_creatures" entity_type = "creature" table = "creature_template_locale" id_column = "entry" name_column = "Name" columns = ["entry", "locale", "Name", "Title"] # Larger read-only source tool; registration naming is project-specific. [source_analysis] enabled = true context_lines = 8 max_searches = 4 max_matches = 12 max_files = 8 max_blocks = 12 max_total_lines = 160 registration_prefixes = ["AddSC_"] # Context-aware source selection. Domain markers belong to this adapter. protocol = 2 max_seed_terms = 8 max_candidate_matches = 50 max_weak_hits = 8 code_prefixes = ["src/"] schema_prefixes = ["sql/base/"] historical_prefixes = ["sql/old/", "sql/archive/"] context_fact_names = ["zone_name", "area_name", "world_event_name"] type_markers = {creature = ["NPC", "CREATURE"], quest = ["QUEST"], spell = ["SPELL"], item = ["ITEM"], gameobject = ["GO", "GAMEOBJECT"]} entity_tables = [{table = "creature_template", entity_type = "creature", id_column = "entry", script_columns = ["ScriptName"]}] focus_roles = ["diagnostic_focus", "explicit_quest"]