Фиксируем состояние

This commit is contained in:
2026-03-12 20:40:29 +03:00
parent 095d354112
commit b1f825e6b9
220 changed files with 23993 additions and 92568 deletions

View File

@@ -0,0 +1,305 @@
# plba-v3-architecture-runtime-manager
- source_file: /Users/alex/Dev_projects_v2/ai driven app process/v2/agent/tests/pipeline_setup_v3/cases/suite_02_pipeline/full_chain_plba_code_subintents_one_per_subintent.yaml
- runner: agent_runtime
- mode: full_chain
- passed: True
## Query
Какие компоненты участвуют в RuntimeManager?
## Actual
{
"intent": "CODE_QA",
"sub_intent": "ARCHITECTURE",
"graph_id": "CodeQAGraph",
"conversation_mode": "START",
"rag_count": 33,
"llm_answer": "Компоненты, участвующие в подсистеме RuntimeManager:\n\n- **RuntimeManager** (src/app_runtime/core/runtime.py:18-179)\n- **ControlPlaneService.__init__** (src/app_runtime/control/service.py:14-51)\n- **RuntimeManager.__init__** (src/app_runtime/core/runtime.py:32-127)\n- **ControlPlaneService._start_async** (src/app_runtime/control/service.py:14-47)\n- **RuntimeManager.start** (src/app_runtime/core/runtime.py:32-59)\n- **ControlPlaneService.start** (src/app_runtime/control/service.py:14-20)\n- **ControlPlaneService.stop** (src/app_runtime/control/service.py:14-25)\n- **ControlPlaneService._stop_async** (src/app_runtime/control/service.py:14-51)\n- **RuntimeManager.add_config_file** (src/app_runtime/core/runtime.py:32-52)\n- **ControlPlaneService.register_channel** (src/app_runtime/control/service.py:14-17)\n\nСвязи между компонентами:\n\n- **ControlPlaneService.__init__ dataflow_slice ControlPlaneService._start_async**\n- **RuntimeManager.__init__ dataflow_slice RuntimeManager.start**\n- **ControlPlaneService.__init__ dataflow_slice ControlPlaneService.start**\n- **ControlPlaneService.__init__ dataflow_slice ControlPlaneService.stop**\n- **ControlPlaneService.__init__ dataflow_slice ControlPlaneService._stop_async**\n- **RuntimeManager.__init__ dataflow_slice RuntimeManager.add_config_file**\n- **ControlPlaneService.__init__ dataflow_slice ControlPlaneService.register_channel**\n- **RuntimeManager.__init__ dataflow_slice RuntimeManager._register_core_services**\n\nОтветственность подсистемы заключается в управлении жизненным циклом приложения, загрузке конфигурационных файлов и регистрации каналов управления через ControlPlaneService.",
"answer_mode": "answered",
"path_scope": [],
"symbol_candidates": [
"RuntimeManager"
],
"layers": [
"C4_SEMANTIC_ROLES",
"C3_ENTRYPOINTS",
"C2_DEPENDENCY_GRAPH",
"C1_SYMBOL_CATALOG",
"C0_SOURCE_CHUNKS"
]
}
## Steps
[
{
"step": "router",
"status": "completed",
"timings_ms": {
"router": 1
},
"output": {
"intent": "CODE_QA",
"sub_intent": "ARCHITECTURE",
"graph_id": "CodeQAGraph",
"conversation_mode": "START"
}
},
{
"step": "retrieval",
"status": "completed",
"timings_ms": {
"retrieval": 196
},
"output": {
"rag_count": 33,
"answer_path_rag_count": 33,
"resolved_symbol_status": "resolved",
"resolved_symbol": "RuntimeManager",
"requested_layers": [
"C4_SEMANTIC_ROLES",
"C3_ENTRYPOINTS",
"C2_DEPENDENCY_GRAPH",
"C1_SYMBOL_CATALOG",
"C0_SOURCE_CHUNKS"
]
},
"diagnostics": {
"executed_layers": [
"C4_SEMANTIC_ROLES",
"C3_ENTRYPOINTS",
"C2_DEPENDENCY_GRAPH",
"C1_SYMBOL_CATALOG",
"C0_SOURCE_CHUNKS"
],
"retrieval_mode_by_layer": {
"C4_SEMANTIC_ROLES": "vector",
"C3_ENTRYPOINTS": "vector",
"C2_DEPENDENCY_GRAPH": "vector",
"C1_SYMBOL_CATALOG": "vector",
"C0_SOURCE_CHUNKS": "vector"
},
"top_k_by_layer": {
"C4_SEMANTIC_ROLES": 12,
"C3_ENTRYPOINTS": 8,
"C2_DEPENDENCY_GRAPH": 8,
"C1_SYMBOL_CATALOG": 6,
"C0_SOURCE_CHUNKS": 4
},
"filters_by_layer": {
"C4_SEMANTIC_ROLES": {
"path_scope": []
},
"C3_ENTRYPOINTS": {
"path_scope": []
},
"C2_DEPENDENCY_GRAPH": {
"path_scope": []
},
"C1_SYMBOL_CATALOG": {
"path_scope": []
},
"C0_SOURCE_CHUNKS": {
"path_scope": []
}
},
"fallback": {
"used": false,
"reason": null
},
"retrieval_by_layer_ms": {
"C4_SEMANTIC_ROLES": 43,
"C3_ENTRYPOINTS": 25,
"C2_DEPENDENCY_GRAPH": 64,
"C1_SYMBOL_CATALOG": 34,
"C0_SOURCE_CHUNKS": 27
}
}
},
{
"step": "pre_evidence_gate",
"status": "passed",
"timings_ms": {
"pre_evidence_gate": 1
},
"input": {
"resolved_target": "RuntimeManager",
"sub_intent": "ARCHITECTURE",
"target_type": "symbol",
"evidence_count": 33,
"code_chunk_count": 33,
"entrypoint_count": 3,
"relation_count": 8,
"test_evidence_count": 0,
"symbol_resolution_status": "resolved",
"path_scope": []
},
"output": {
"passed": true,
"failure_reasons": [],
"degraded_message": "",
"evidence_count": 33
}
},
{
"step": "llm",
"status": "completed",
"timings_ms": {
"llm": 9911
},
"output": {
"prompt_name": "code_qa_architecture_answer",
"answer_preview": "Компоненты, участвующие в подсистеме RuntimeManager:\n\n- **RuntimeManager** (src/app_runtime/core/runtime.py:18-179)\n- **ControlPlaneService.__init__** (src/app_runtime/control/service.py:14-51)\n- **RuntimeManager.__init__** (src/app_runtime/core/runtime.py:32-127)\n- **ControlPlaneService._start_asyn",
"resolved_target": "RuntimeManager",
"answer_policy_branch": "normal_answer",
"decision_reason": "evidence_sufficient"
}
},
{
"step": "post_evidence_gate",
"status": "passed",
"timings_ms": {
"post_evidence_gate": 1,
"post_evidence_gate_recheck": 0,
"repair": 0
},
"input": {
"answer_mode": "normal",
"degraded_message": "",
"resolved_target": "RuntimeManager",
"draft_answer_preview": "Компоненты, участвующие в подсистеме RuntimeManager:\n\n- **RuntimeManager** (src/app_runtime/core/runtime.py:18-179)\n- **ControlPlaneService.__init__** (src/app_runtime/control/service.py:14-51)\n- **RuntimeManager.__init__** (src/app_runtime/core/runtime.py:32-127)\n- **ControlPlaneService._start_asyn",
"repair_candidate": true
},
"output": {
"passed": true,
"action": "return",
"reasons": [],
"repair_used": false,
"final_answer_preview": "Компоненты, участвующие в подсистеме RuntimeManager:\n\n- **RuntimeManager** (src/app_runtime/core/runtime.py:18-179)\n- **ControlPlaneService.__init__** (src/app_runtime/control/service.py:14-51)\n- **RuntimeManager.__init__** (src/app_runtime/core/runtime.py:32-127)\n- **ControlPlaneService._start_asyn"
}
}
]
## Diagnostics
{
"intent_correct": null,
"target_found": true,
"layers_used": [
"C4_SEMANTIC_ROLES",
"C3_ENTRYPOINTS",
"C2_DEPENDENCY_GRAPH",
"C1_SYMBOL_CATALOG",
"C0_SOURCE_CHUNKS"
],
"retrieval_sufficient": true,
"answer_mode": "normal",
"resolved_target": "RuntimeManager",
"answer_policy_branch": "normal_answer",
"decision_reason": "evidence_sufficient",
"router_result": {
"intent": "CODE_QA",
"graph_id": "CodeQAGraph",
"conversation_mode": "START",
"retrieval_profile": "code",
"sub_intent": "ARCHITECTURE",
"path_scope": [],
"layers": [
"C4_SEMANTIC_ROLES",
"C3_ENTRYPOINTS",
"C2_DEPENDENCY_GRAPH",
"C1_SYMBOL_CATALOG",
"C0_SOURCE_CHUNKS"
],
"symbol_resolution_status": "resolved"
},
"retrieval_request": {
"rag_session_id": "7d11da21-faa0-4cea-aede-aeabe069164c",
"query": "Какие компоненты участвуют в RuntimeManager?",
"sub_intent": "ARCHITECTURE",
"path_scope": [],
"requested_layers": [
"C4_SEMANTIC_ROLES",
"C3_ENTRYPOINTS",
"C2_DEPENDENCY_GRAPH",
"C1_SYMBOL_CATALOG",
"C0_SOURCE_CHUNKS"
]
},
"per_layer_outcome": [
{
"layer_id": "C4_SEMANTIC_ROLES",
"hit_count": 12,
"empty": false,
"fallback_used": false
},
{
"layer_id": "C3_ENTRYPOINTS",
"hit_count": 3,
"empty": false,
"fallback_used": false
},
{
"layer_id": "C2_DEPENDENCY_GRAPH",
"hit_count": 8,
"empty": false,
"fallback_used": false
},
{
"layer_id": "C1_SYMBOL_CATALOG",
"hit_count": 6,
"empty": false,
"fallback_used": false
},
{
"layer_id": "C0_SOURCE_CHUNKS",
"hit_count": 4,
"empty": false,
"fallback_used": false
}
],
"empty_layers": [],
"evidence_gate_decision": {
"sufficient": true,
"failure_reasons": [],
"evidence_count": 33
},
"evidence_gate_input": {
"resolved_target": "RuntimeManager",
"sub_intent": "ARCHITECTURE",
"target_type": "symbol",
"evidence_count": 33,
"code_chunk_count": 33,
"entrypoint_count": 3,
"relation_count": 8,
"test_evidence_count": 0,
"symbol_resolution_status": "resolved",
"path_scope": []
},
"post_evidence_gate": {
"input": {
"answer_mode": "normal",
"degraded_message": "",
"resolved_target": "RuntimeManager",
"draft_answer_preview": "Компоненты, участвующие в подсистеме RuntimeManager:\n\n- **RuntimeManager** (src/app_runtime/core/runtime.py:18-179)\n- **ControlPlaneService.__init__** (src/app_runtime/control/service.py:14-51)\n- **RuntimeManager.__init__** (src/app_runtime/core/runtime.py:32-127)\n- **ControlPlaneService._start_asyn",
"repair_candidate": true
},
"output": {
"passed": true,
"action": "return",
"reasons": [],
"repair_used": false,
"final_answer_preview": "Компоненты, участвующие в подсистеме RuntimeManager:\n\n- **RuntimeManager** (src/app_runtime/core/runtime.py:18-179)\n- **ControlPlaneService.__init__** (src/app_runtime/control/service.py:14-51)\n- **RuntimeManager.__init__** (src/app_runtime/core/runtime.py:32-127)\n- **ControlPlaneService._start_asyn"
}
},
"failure_reasons": [],
"timings_ms": {
"router": 1,
"retrieval": 196,
"pre_evidence_gate": 1,
"llm": 9911,
"post_evidence_gate": 1
}
}
## Mismatches
- none

View File

@@ -0,0 +1,285 @@
# plba-v3-explain-local-http-channel
- source_file: /Users/alex/Dev_projects_v2/ai driven app process/v2/agent/tests/pipeline_setup_v3/cases/suite_02_pipeline/full_chain_plba_code_subintents_one_per_subintent.yaml
- runner: agent_runtime
- mode: full_chain
- passed: True
## Query
Почему в файле src/app_runtime/control/http_channel.py класс HttpControlChannel устроен так?
## Actual
{
"intent": "CODE_QA",
"sub_intent": "EXPLAIN_LOCAL",
"graph_id": "CodeQAGraph",
"conversation_mode": "START",
"rag_count": 13,
"llm_answer": "Класс HttpControlChannel наследует ControlChannel и реализует HTTP-канал управления. Он принимает хост, порт и таймаут при инициализации, создаёт экземпляр UvicornThreadRunner для запуска сервера и использует HttpControlAppFactory для создания FastAPI-приложения. \n\nМетод start запускает сервер с переданным набором действий (ControlActionSet), а метод stop останавливает его. Свойство port возвращает текущий порт runner.\n\nВнутри класса определены два обработчика: _health_response проверяет здоровье канала, возвращая статус \"unhealthy\" если действия не установлены; \n_action_response предположительно обрабатывает запросы на выполнение действий, но его реализация в данном фрагменте не показана.",
"answer_mode": "answered",
"path_scope": [
"src/app_runtime/control/http_channel.py"
],
"symbol_candidates": [
"HttpControlChannel"
],
"layers": [
"C1_SYMBOL_CATALOG",
"C0_SOURCE_CHUNKS",
"C2_DEPENDENCY_GRAPH"
]
}
## Steps
[
{
"step": "router",
"status": "completed",
"timings_ms": {
"router": 2
},
"output": {
"intent": "CODE_QA",
"sub_intent": "EXPLAIN_LOCAL",
"graph_id": "CodeQAGraph",
"conversation_mode": "START"
}
},
{
"step": "retrieval",
"status": "completed",
"timings_ms": {
"retrieval": 60
},
"output": {
"rag_count": 13,
"answer_path_rag_count": 13,
"resolved_symbol_status": "resolved",
"resolved_symbol": "HttpControlChannel",
"requested_layers": [
"C1_SYMBOL_CATALOG",
"C0_SOURCE_CHUNKS",
"C2_DEPENDENCY_GRAPH"
]
},
"diagnostics": {
"executed_layers": [
"C1_SYMBOL_CATALOG",
"C0_SOURCE_CHUNKS",
"C2_DEPENDENCY_GRAPH"
],
"retrieval_mode_by_layer": {
"C1_SYMBOL_CATALOG": "vector",
"C0_SOURCE_CHUNKS": "vector",
"C2_DEPENDENCY_GRAPH": "vector"
},
"top_k_by_layer": {
"C1_SYMBOL_CATALOG": 8,
"C0_SOURCE_CHUNKS": 12,
"C2_DEPENDENCY_GRAPH": 4
},
"filters_by_layer": {
"C1_SYMBOL_CATALOG": {
"path_scope": [
"src/app_runtime/control/http_channel.py"
]
},
"C0_SOURCE_CHUNKS": {
"path_scope": [
"src/app_runtime/control/http_channel.py"
]
},
"C2_DEPENDENCY_GRAPH": {
"path_scope": [
"src/app_runtime/control/http_channel.py"
]
}
},
"fallback": {
"used": false,
"reason": null
},
"retrieval_by_layer_ms": {
"C1_SYMBOL_CATALOG": 26,
"C0_SOURCE_CHUNKS": 16,
"C2_DEPENDENCY_GRAPH": 17
}
}
},
{
"step": "pre_evidence_gate",
"status": "passed",
"timings_ms": {
"pre_evidence_gate": 1
},
"input": {
"resolved_target": "HttpControlChannel",
"sub_intent": "EXPLAIN_LOCAL",
"target_type": "symbol",
"evidence_count": 13,
"code_chunk_count": 13,
"entrypoint_count": 0,
"relation_count": 4,
"test_evidence_count": 0,
"symbol_resolution_status": "resolved",
"path_scope": [
"src/app_runtime/control/http_channel.py"
]
},
"output": {
"passed": true,
"failure_reasons": [],
"degraded_message": "",
"evidence_count": 13
}
},
{
"step": "llm",
"status": "completed",
"timings_ms": {
"llm": 3231
},
"output": {
"prompt_name": "code_qa_explain_local_answer",
"answer_preview": "Класс HttpControlChannel наследует ControlChannel и реализует HTTP-канал управления. Он принимает хост, порт и таймаут при инициализации, создаёт экземпляр UvicornThreadRunner для запуска сервера и использует HttpControlAppFactory для создания FastAPI-приложения. \n\nМетод start запускает сервер с пер",
"resolved_target": "HttpControlChannel",
"answer_policy_branch": "normal_answer",
"decision_reason": "evidence_sufficient"
}
},
{
"step": "post_evidence_gate",
"status": "passed",
"timings_ms": {
"post_evidence_gate": 1,
"post_evidence_gate_recheck": 0,
"repair": 0
},
"input": {
"answer_mode": "normal",
"degraded_message": "",
"resolved_target": "HttpControlChannel",
"draft_answer_preview": "Класс HttpControlChannel наследует ControlChannel и реализует HTTP-канал управления. Он принимает хост, порт и таймаут при инициализации, создаёт экземпляр UvicornThreadRunner для запуска сервера и использует HttpControlAppFactory для создания FastAPI-приложения. \n\nМетод start запускает сервер с пер",
"repair_candidate": true
},
"output": {
"passed": true,
"action": "return",
"reasons": [],
"repair_used": false,
"final_answer_preview": "Класс HttpControlChannel наследует ControlChannel и реализует HTTP-канал управления. Он принимает хост, порт и таймаут при инициализации, создаёт экземпляр UvicornThreadRunner для запуска сервера и использует HttpControlAppFactory для создания FastAPI-приложения. \n\nМетод start запускает сервер с пер"
}
}
]
## Diagnostics
{
"intent_correct": null,
"target_found": true,
"layers_used": [
"C1_SYMBOL_CATALOG",
"C0_SOURCE_CHUNKS",
"C2_DEPENDENCY_GRAPH"
],
"retrieval_sufficient": true,
"answer_mode": "normal",
"resolved_target": "HttpControlChannel",
"answer_policy_branch": "normal_answer",
"decision_reason": "evidence_sufficient",
"router_result": {
"intent": "CODE_QA",
"graph_id": "CodeQAGraph",
"conversation_mode": "START",
"retrieval_profile": "code",
"sub_intent": "EXPLAIN_LOCAL",
"path_scope": [
"src/app_runtime/control/http_channel.py"
],
"layers": [
"C1_SYMBOL_CATALOG",
"C0_SOURCE_CHUNKS",
"C2_DEPENDENCY_GRAPH"
],
"symbol_resolution_status": "resolved"
},
"retrieval_request": {
"rag_session_id": "7d11da21-faa0-4cea-aede-aeabe069164c",
"query": "Почему в файле src/app_runtime/control/http_channel.py класс HttpControlChannel устроен так?",
"sub_intent": "EXPLAIN_LOCAL",
"path_scope": [
"src/app_runtime/control/http_channel.py"
],
"requested_layers": [
"C1_SYMBOL_CATALOG",
"C0_SOURCE_CHUNKS",
"C2_DEPENDENCY_GRAPH"
]
},
"per_layer_outcome": [
{
"layer_id": "C1_SYMBOL_CATALOG",
"hit_count": 8,
"empty": false,
"fallback_used": false
},
{
"layer_id": "C0_SOURCE_CHUNKS",
"hit_count": 1,
"empty": false,
"fallback_used": false
},
{
"layer_id": "C2_DEPENDENCY_GRAPH",
"hit_count": 4,
"empty": false,
"fallback_used": false
}
],
"empty_layers": [],
"evidence_gate_decision": {
"sufficient": true,
"failure_reasons": [],
"evidence_count": 13
},
"evidence_gate_input": {
"resolved_target": "HttpControlChannel",
"sub_intent": "EXPLAIN_LOCAL",
"target_type": "symbol",
"evidence_count": 13,
"code_chunk_count": 13,
"entrypoint_count": 0,
"relation_count": 4,
"test_evidence_count": 0,
"symbol_resolution_status": "resolved",
"path_scope": [
"src/app_runtime/control/http_channel.py"
]
},
"post_evidence_gate": {
"input": {
"answer_mode": "normal",
"degraded_message": "",
"resolved_target": "HttpControlChannel",
"draft_answer_preview": "Класс HttpControlChannel наследует ControlChannel и реализует HTTP-канал управления. Он принимает хост, порт и таймаут при инициализации, создаёт экземпляр UvicornThreadRunner для запуска сервера и использует HttpControlAppFactory для создания FastAPI-приложения. \n\nМетод start запускает сервер с пер",
"repair_candidate": true
},
"output": {
"passed": true,
"action": "return",
"reasons": [],
"repair_used": false,
"final_answer_preview": "Класс HttpControlChannel наследует ControlChannel и реализует HTTP-канал управления. Он принимает хост, порт и таймаут при инициализации, создаёт экземпляр UvicornThreadRunner для запуска сервера и использует HttpControlAppFactory для создания FastAPI-приложения. \n\nМетод start запускает сервер с пер"
}
},
"failure_reasons": [],
"timings_ms": {
"router": 2,
"retrieval": 60,
"pre_evidence_gate": 1,
"llm": 3231,
"post_evidence_gate": 1
}
}
## Mismatches
- none

View File

@@ -0,0 +1,311 @@
# plba-v3-explain-runtime-manager
- source_file: /Users/alex/Dev_projects_v2/ai driven app process/v2/agent/tests/pipeline_setup_v3/cases/suite_02_pipeline/full_chain_plba_code_subintents_one_per_subintent.yaml
- runner: agent_runtime
- mode: full_chain
- passed: True
## Query
Объясни как работает класс RuntimeManager
## Actual
{
"intent": "CODE_QA",
"sub_intent": "EXPLAIN",
"graph_id": "CodeQAGraph",
"conversation_mode": "START",
"rag_count": 33,
"llm_answer": "Недостаточно подтверждённых данных для уверенного ответа по RuntimeManager.",
"answer_mode": "degraded",
"path_scope": [],
"symbol_candidates": [
"RuntimeManager"
],
"layers": [
"C1_SYMBOL_CATALOG",
"C0_SOURCE_CHUNKS",
"C4_SEMANTIC_ROLES",
"C2_DEPENDENCY_GRAPH",
"C3_ENTRYPOINTS"
]
}
## Steps
[
{
"step": "router",
"status": "completed",
"timings_ms": {
"router": 2
},
"output": {
"intent": "CODE_QA",
"sub_intent": "EXPLAIN",
"graph_id": "CodeQAGraph",
"conversation_mode": "START"
}
},
{
"step": "retrieval",
"status": "completed",
"timings_ms": {
"retrieval": 597
},
"output": {
"rag_count": 33,
"answer_path_rag_count": 33,
"resolved_symbol_status": "resolved",
"resolved_symbol": "RuntimeManager",
"requested_layers": [
"C1_SYMBOL_CATALOG",
"C0_SOURCE_CHUNKS",
"C4_SEMANTIC_ROLES",
"C2_DEPENDENCY_GRAPH",
"C3_ENTRYPOINTS"
]
},
"diagnostics": {
"executed_layers": [
"C1_SYMBOL_CATALOG",
"C0_SOURCE_CHUNKS",
"C4_SEMANTIC_ROLES",
"C2_DEPENDENCY_GRAPH",
"C3_ENTRYPOINTS"
],
"retrieval_mode_by_layer": {
"C1_SYMBOL_CATALOG": "vector",
"C0_SOURCE_CHUNKS": "vector",
"C4_SEMANTIC_ROLES": "vector",
"C2_DEPENDENCY_GRAPH": "vector",
"C3_ENTRYPOINTS": "vector"
},
"top_k_by_layer": {
"C1_SYMBOL_CATALOG": 8,
"C0_SOURCE_CHUNKS": 8,
"C4_SEMANTIC_ROLES": 8,
"C2_DEPENDENCY_GRAPH": 6,
"C3_ENTRYPOINTS": 6
},
"filters_by_layer": {
"C1_SYMBOL_CATALOG": {
"path_scope": []
},
"C0_SOURCE_CHUNKS": {
"path_scope": []
},
"C4_SEMANTIC_ROLES": {
"path_scope": []
},
"C2_DEPENDENCY_GRAPH": {
"path_scope": []
},
"C3_ENTRYPOINTS": {
"path_scope": []
}
},
"fallback": {
"used": false,
"reason": null
},
"retrieval_by_layer_ms": {
"C1_SYMBOL_CATALOG": 494,
"C0_SOURCE_CHUNKS": 17,
"C4_SEMANTIC_ROLES": 14,
"C2_DEPENDENCY_GRAPH": 55,
"C3_ENTRYPOINTS": 14
}
}
},
{
"step": "pre_evidence_gate",
"status": "passed",
"timings_ms": {
"pre_evidence_gate": 1
},
"input": {
"resolved_target": "RuntimeManager",
"sub_intent": "EXPLAIN",
"target_type": "symbol",
"evidence_count": 33,
"code_chunk_count": 33,
"entrypoint_count": 3,
"relation_count": 6,
"test_evidence_count": 0,
"symbol_resolution_status": "resolved",
"path_scope": []
},
"output": {
"passed": true,
"failure_reasons": [],
"degraded_message": "",
"evidence_count": 33
}
},
{
"step": "llm",
"status": "completed",
"timings_ms": {
"llm": 5865
},
"output": {
"prompt_name": "code_qa_explain_answer",
"answer_preview": "Класс `RuntimeManager` определён в файле `src/app_runtime/core/runtime.py`. Он является основным компонентом для управления жизненным циклом приложения и конфигурациями.\n\nМетоды:\n- Конструктор `__init__`: инициализирует объект RuntimeManager и принимает конфигурацию.\n- `add_config_file`: добавляет ф",
"resolved_target": "RuntimeManager",
"answer_policy_branch": "normal_answer",
"decision_reason": "evidence_sufficient"
}
},
{
"step": "post_evidence_gate",
"status": "failed",
"timings_ms": {
"post_evidence_gate": 2,
"post_evidence_gate_recheck": 2,
"repair": 4529
},
"input": {
"answer_mode": "normal",
"degraded_message": "",
"resolved_target": "RuntimeManager",
"draft_answer_preview": "Класс `RuntimeManager` определён в файле `src/app_runtime/core/runtime.py`. Он является основным компонентом для управления жизненным циклом приложения и конфигурациями.\n\nМетоды:\n- Конструктор `__init__`: инициализирует объект RuntimeManager и принимает конфигурацию.\n- `add_config_file`: добавляет ф",
"repair_candidate": true
},
"output": {
"passed": false,
"action": "repair",
"reasons": [
"missing_concrete_methods"
],
"repair_used": true,
"final_answer_preview": "Недостаточно подтверждённых данных для уверенного ответа по RuntimeManager."
}
}
]
## Diagnostics
{
"intent_correct": null,
"target_found": true,
"layers_used": [
"C1_SYMBOL_CATALOG",
"C0_SOURCE_CHUNKS",
"C4_SEMANTIC_ROLES",
"C2_DEPENDENCY_GRAPH",
"C3_ENTRYPOINTS"
],
"retrieval_sufficient": true,
"answer_mode": "degraded",
"resolved_target": "RuntimeManager",
"answer_policy_branch": "normal_answer",
"decision_reason": "evidence_sufficient",
"router_result": {
"intent": "CODE_QA",
"graph_id": "CodeQAGraph",
"conversation_mode": "START",
"retrieval_profile": "code",
"sub_intent": "EXPLAIN",
"path_scope": [],
"layers": [
"C1_SYMBOL_CATALOG",
"C0_SOURCE_CHUNKS",
"C4_SEMANTIC_ROLES",
"C2_DEPENDENCY_GRAPH",
"C3_ENTRYPOINTS"
],
"symbol_resolution_status": "resolved"
},
"retrieval_request": {
"rag_session_id": "7d11da21-faa0-4cea-aede-aeabe069164c",
"query": "Объясни как работает класс RuntimeManager",
"sub_intent": "EXPLAIN",
"path_scope": [],
"requested_layers": [
"C1_SYMBOL_CATALOG",
"C0_SOURCE_CHUNKS",
"C4_SEMANTIC_ROLES",
"C2_DEPENDENCY_GRAPH",
"C3_ENTRYPOINTS"
]
},
"per_layer_outcome": [
{
"layer_id": "C1_SYMBOL_CATALOG",
"hit_count": 8,
"empty": false,
"fallback_used": false
},
{
"layer_id": "C0_SOURCE_CHUNKS",
"hit_count": 8,
"empty": false,
"fallback_used": false
},
{
"layer_id": "C4_SEMANTIC_ROLES",
"hit_count": 8,
"empty": false,
"fallback_used": false
},
{
"layer_id": "C2_DEPENDENCY_GRAPH",
"hit_count": 6,
"empty": false,
"fallback_used": false
},
{
"layer_id": "C3_ENTRYPOINTS",
"hit_count": 3,
"empty": false,
"fallback_used": false
}
],
"empty_layers": [],
"evidence_gate_decision": {
"sufficient": true,
"failure_reasons": [],
"evidence_count": 33
},
"evidence_gate_input": {
"resolved_target": "RuntimeManager",
"sub_intent": "EXPLAIN",
"target_type": "symbol",
"evidence_count": 33,
"code_chunk_count": 33,
"entrypoint_count": 3,
"relation_count": 6,
"test_evidence_count": 0,
"symbol_resolution_status": "resolved",
"path_scope": []
},
"post_evidence_gate": {
"input": {
"answer_mode": "normal",
"degraded_message": "",
"resolved_target": "RuntimeManager",
"draft_answer_preview": "Класс `RuntimeManager` определён в файле `src/app_runtime/core/runtime.py`. Он является основным компонентом для управления жизненным циклом приложения и конфигурациями.\n\nМетоды:\n- Конструктор `__init__`: инициализирует объект RuntimeManager и принимает конфигурацию.\n- `add_config_file`: добавляет ф",
"repair_candidate": true
},
"output": {
"passed": false,
"action": "repair",
"reasons": [
"missing_concrete_methods"
],
"repair_used": true,
"final_answer_preview": "Недостаточно подтверждённых данных для уверенного ответа по RuntimeManager."
}
},
"failure_reasons": [],
"timings_ms": {
"router": 2,
"retrieval": 597,
"pre_evidence_gate": 1,
"llm": 5865,
"post_evidence_gate": 2,
"repair": 4529,
"post_evidence_gate_recheck": 2
}
}
## Mismatches
- none

View File

@@ -0,0 +1,261 @@
# plba-v3-find-entrypoints-health-endpoint
- source_file: /Users/alex/Dev_projects_v2/ai driven app process/v2/agent/tests/pipeline_setup_v3/cases/suite_02_pipeline/full_chain_plba_code_subintents_one_per_subintent.yaml
- runner: agent_runtime
- mode: full_chain
- passed: True
## Query
Где health endpoint?
## Actual
{
"intent": "CODE_QA",
"sub_intent": "FIND_ENTRYPOINTS",
"graph_id": "CodeQAGraph",
"conversation_mode": "START",
"rag_count": 10,
"llm_answer": "Подтверждённая точка входа для health endpoint:\nGET /health, declared in src/app_runtime/control/http_app.py, lines 31-34, handler function named 'health'.",
"answer_mode": "answered",
"path_scope": [],
"symbol_candidates": [
"health",
"endpoint"
],
"layers": [
"C3_ENTRYPOINTS",
"C0_SOURCE_CHUNKS"
]
}
## Steps
[
{
"step": "router",
"status": "completed",
"timings_ms": {
"router": 1
},
"output": {
"intent": "CODE_QA",
"sub_intent": "FIND_ENTRYPOINTS",
"graph_id": "CodeQAGraph",
"conversation_mode": "START"
}
},
{
"step": "retrieval",
"status": "completed",
"timings_ms": {
"retrieval": 64
},
"output": {
"rag_count": 10,
"answer_path_rag_count": 10,
"resolved_symbol_status": "not_found",
"resolved_symbol": null,
"requested_layers": [
"C3_ENTRYPOINTS",
"C0_SOURCE_CHUNKS"
]
},
"diagnostics": {
"executed_layers": [
"C3_ENTRYPOINTS",
"C0_SOURCE_CHUNKS"
],
"retrieval_mode_by_layer": {
"C3_ENTRYPOINTS": "vector",
"C0_SOURCE_CHUNKS": "exact_path_fetch"
},
"top_k_by_layer": {
"C3_ENTRYPOINTS": 12,
"C0_SOURCE_CHUNKS": 24
},
"filters_by_layer": {
"C3_ENTRYPOINTS": {
"path_scope": []
},
"C0_SOURCE_CHUNKS": {
"path_scope": [
"src/app_runtime/control/http_app.py"
]
}
},
"fallback": {
"used": false,
"reason": null
},
"retrieval_by_layer_ms": {
"C3_ENTRYPOINTS": 34,
"C0_SOURCE_CHUNKS": 15
},
"supplemental_requests": [
{
"layer": "C0_SOURCE_CHUNKS",
"query": "Где health endpoint?",
"ranking_profile": "entrypoint_source_hydration"
}
]
}
},
{
"step": "pre_evidence_gate",
"status": "passed",
"timings_ms": {
"pre_evidence_gate": 1
},
"input": {
"resolved_target": "src/app_runtime/control/http_app.py",
"sub_intent": "FIND_ENTRYPOINTS",
"target_type": "file",
"evidence_count": 10,
"code_chunk_count": 10,
"entrypoint_count": 3,
"relation_count": 0,
"test_evidence_count": 0,
"symbol_resolution_status": "not_found",
"path_scope": []
},
"output": {
"passed": true,
"failure_reasons": [],
"degraded_message": "",
"evidence_count": 10
}
},
{
"step": "llm",
"status": "completed",
"timings_ms": {
"llm": 1406
},
"output": {
"prompt_name": "code_qa_find_entrypoints_answer",
"answer_preview": "Подтверждённая точка входа для health endpoint:\nGET /health, declared in src/app_runtime/control/http_app.py, lines 31-34, handler function named 'health'.",
"resolved_target": "src/app_runtime/control/http_app.py",
"answer_policy_branch": "normal_answer",
"decision_reason": "evidence_sufficient"
}
},
{
"step": "post_evidence_gate",
"status": "passed",
"timings_ms": {
"post_evidence_gate": 1,
"post_evidence_gate_recheck": 0,
"repair": 0
},
"input": {
"answer_mode": "normal",
"degraded_message": "",
"resolved_target": "src/app_runtime/control/http_app.py",
"draft_answer_preview": "Подтверждённая точка входа для health endpoint:\nGET /health, declared in src/app_runtime/control/http_app.py, lines 31-34, handler function named 'health'.",
"repair_candidate": true
},
"output": {
"passed": true,
"action": "return",
"reasons": [],
"repair_used": false,
"final_answer_preview": "Подтверждённая точка входа для health endpoint:\nGET /health, declared in src/app_runtime/control/http_app.py, lines 31-34, handler function named 'health'."
}
}
]
## Diagnostics
{
"intent_correct": null,
"target_found": true,
"layers_used": [
"C3_ENTRYPOINTS",
"C0_SOURCE_CHUNKS"
],
"retrieval_sufficient": true,
"answer_mode": "normal",
"resolved_target": "src/app_runtime/control/http_app.py",
"answer_policy_branch": "normal_answer",
"decision_reason": "evidence_sufficient",
"router_result": {
"intent": "CODE_QA",
"graph_id": "CodeQAGraph",
"conversation_mode": "START",
"retrieval_profile": "code",
"sub_intent": "FIND_ENTRYPOINTS",
"path_scope": [],
"layers": [
"C3_ENTRYPOINTS",
"C0_SOURCE_CHUNKS"
],
"symbol_resolution_status": "not_found"
},
"retrieval_request": {
"rag_session_id": "7d11da21-faa0-4cea-aede-aeabe069164c",
"query": "Где health endpoint?",
"sub_intent": "FIND_ENTRYPOINTS",
"path_scope": [],
"requested_layers": [
"C3_ENTRYPOINTS",
"C0_SOURCE_CHUNKS"
]
},
"per_layer_outcome": [
{
"layer_id": "C3_ENTRYPOINTS",
"hit_count": 3,
"empty": false,
"fallback_used": false
},
{
"layer_id": "C0_SOURCE_CHUNKS",
"hit_count": 7,
"empty": false,
"fallback_used": false
}
],
"empty_layers": [],
"evidence_gate_decision": {
"sufficient": true,
"failure_reasons": [],
"evidence_count": 10
},
"evidence_gate_input": {
"resolved_target": "src/app_runtime/control/http_app.py",
"sub_intent": "FIND_ENTRYPOINTS",
"target_type": "file",
"evidence_count": 10,
"code_chunk_count": 10,
"entrypoint_count": 3,
"relation_count": 0,
"test_evidence_count": 0,
"symbol_resolution_status": "not_found",
"path_scope": []
},
"post_evidence_gate": {
"input": {
"answer_mode": "normal",
"degraded_message": "",
"resolved_target": "src/app_runtime/control/http_app.py",
"draft_answer_preview": "Подтверждённая точка входа для health endpoint:\nGET /health, declared in src/app_runtime/control/http_app.py, lines 31-34, handler function named 'health'.",
"repair_candidate": true
},
"output": {
"passed": true,
"action": "return",
"reasons": [],
"repair_used": false,
"final_answer_preview": "Подтверждённая точка входа для health endpoint:\nGET /health, declared in src/app_runtime/control/http_app.py, lines 31-34, handler function named 'health'."
}
},
"failure_reasons": [],
"timings_ms": {
"router": 1,
"retrieval": 64,
"pre_evidence_gate": 1,
"llm": 1406,
"post_evidence_gate": 1
}
}
## Mismatches
- none

View File

@@ -0,0 +1,269 @@
# plba-v3-find-tests-runtime-manager
- source_file: /Users/alex/Dev_projects_v2/ai driven app process/v2/agent/tests/pipeline_setup_v3/cases/suite_02_pipeline/full_chain_plba_code_subintents_one_per_subintent.yaml
- runner: agent_runtime
- mode: full_chain
- passed: True
## Query
Где тесты для RuntimeManager?
## Actual
{
"intent": "CODE_QA",
"sub_intent": "FIND_TESTS",
"graph_id": "CodeQAGraph",
"conversation_mode": "START",
"rag_count": 24,
"llm_answer": "Прямые тесты для `RuntimeManager` находятся в файле `tests/test_runtime.py`.\n\nКосвенные тесты:\n- В файле `tests/test_business_control_actions.py` есть тесты, использующие сущности контроля, которые взаимодействуют с `RuntimeManager`.",
"answer_mode": "answered",
"path_scope": [],
"symbol_candidates": [
"RuntimeManager"
],
"layers": [
"C1_SYMBOL_CATALOG",
"C2_DEPENDENCY_GRAPH",
"C0_SOURCE_CHUNKS"
]
}
## Steps
[
{
"step": "router",
"status": "completed",
"timings_ms": {
"router": 1
},
"output": {
"intent": "CODE_QA",
"sub_intent": "FIND_TESTS",
"graph_id": "CodeQAGraph",
"conversation_mode": "START"
}
},
{
"step": "retrieval",
"status": "completed",
"timings_ms": {
"retrieval": 132
},
"output": {
"rag_count": 24,
"answer_path_rag_count": 24,
"resolved_symbol_status": "resolved",
"resolved_symbol": "RuntimeManager",
"requested_layers": [
"C1_SYMBOL_CATALOG",
"C2_DEPENDENCY_GRAPH",
"C0_SOURCE_CHUNKS"
]
},
"diagnostics": {
"executed_layers": [
"C1_SYMBOL_CATALOG",
"C2_DEPENDENCY_GRAPH",
"C0_SOURCE_CHUNKS"
],
"retrieval_mode_by_layer": {
"C1_SYMBOL_CATALOG": "vector",
"C2_DEPENDENCY_GRAPH": "vector",
"C0_SOURCE_CHUNKS": "vector"
},
"top_k_by_layer": {
"C1_SYMBOL_CATALOG": 8,
"C2_DEPENDENCY_GRAPH": 6,
"C0_SOURCE_CHUNKS": 10
},
"filters_by_layer": {
"C1_SYMBOL_CATALOG": {
"path_scope": []
},
"C2_DEPENDENCY_GRAPH": {
"path_scope": []
},
"C0_SOURCE_CHUNKS": {
"path_scope": []
}
},
"fallback": {
"used": false,
"reason": null
},
"retrieval_by_layer_ms": {
"C1_SYMBOL_CATALOG": 50,
"C2_DEPENDENCY_GRAPH": 59,
"C0_SOURCE_CHUNKS": 22
}
}
},
{
"step": "pre_evidence_gate",
"status": "passed",
"timings_ms": {
"pre_evidence_gate": 1
},
"input": {
"resolved_target": "RuntimeManager",
"sub_intent": "FIND_TESTS",
"target_type": "symbol",
"evidence_count": 24,
"code_chunk_count": 24,
"entrypoint_count": 0,
"relation_count": 6,
"test_evidence_count": 2,
"symbol_resolution_status": "resolved",
"path_scope": []
},
"output": {
"passed": true,
"failure_reasons": [],
"degraded_message": "",
"evidence_count": 24
}
},
{
"step": "llm",
"status": "completed",
"timings_ms": {
"llm": 1662
},
"output": {
"prompt_name": "code_qa_find_tests_answer",
"answer_preview": "Прямые тесты для `RuntimeManager` находятся в файле `tests/test_runtime.py`.\n\nКосвенные тесты:\n- В файле `tests/test_business_control_actions.py` есть тесты, использующие сущности контроля, которые взаимодействуют с `RuntimeManager`.",
"resolved_target": "RuntimeManager",
"answer_policy_branch": "normal_answer",
"decision_reason": "evidence_sufficient"
}
},
{
"step": "post_evidence_gate",
"status": "passed",
"timings_ms": {
"post_evidence_gate": 1,
"post_evidence_gate_recheck": 0,
"repair": 0
},
"input": {
"answer_mode": "normal",
"degraded_message": "",
"resolved_target": "RuntimeManager",
"draft_answer_preview": "Прямые тесты для `RuntimeManager` находятся в файле `tests/test_runtime.py`.\n\nКосвенные тесты:\n- В файле `tests/test_business_control_actions.py` есть тесты, использующие сущности контроля, которые взаимодействуют с `RuntimeManager`.",
"repair_candidate": true
},
"output": {
"passed": true,
"action": "return",
"reasons": [],
"repair_used": false,
"final_answer_preview": "Прямые тесты для `RuntimeManager` находятся в файле `tests/test_runtime.py`.\n\nКосвенные тесты:\n- В файле `tests/test_business_control_actions.py` есть тесты, использующие сущности контроля, которые взаимодействуют с `RuntimeManager`."
}
}
]
## Diagnostics
{
"intent_correct": null,
"target_found": true,
"layers_used": [
"C1_SYMBOL_CATALOG",
"C2_DEPENDENCY_GRAPH",
"C0_SOURCE_CHUNKS"
],
"retrieval_sufficient": true,
"answer_mode": "normal",
"resolved_target": "RuntimeManager",
"answer_policy_branch": "normal_answer",
"decision_reason": "evidence_sufficient",
"router_result": {
"intent": "CODE_QA",
"graph_id": "CodeQAGraph",
"conversation_mode": "START",
"retrieval_profile": "code",
"sub_intent": "FIND_TESTS",
"path_scope": [],
"layers": [
"C1_SYMBOL_CATALOG",
"C2_DEPENDENCY_GRAPH",
"C0_SOURCE_CHUNKS"
],
"symbol_resolution_status": "resolved"
},
"retrieval_request": {
"rag_session_id": "7d11da21-faa0-4cea-aede-aeabe069164c",
"query": "Где тесты для RuntimeManager?",
"sub_intent": "FIND_TESTS",
"path_scope": [],
"requested_layers": [
"C1_SYMBOL_CATALOG",
"C2_DEPENDENCY_GRAPH",
"C0_SOURCE_CHUNKS"
]
},
"per_layer_outcome": [
{
"layer_id": "C1_SYMBOL_CATALOG",
"hit_count": 8,
"empty": false,
"fallback_used": false
},
{
"layer_id": "C2_DEPENDENCY_GRAPH",
"hit_count": 6,
"empty": false,
"fallback_used": false
},
{
"layer_id": "C0_SOURCE_CHUNKS",
"hit_count": 10,
"empty": false,
"fallback_used": false
}
],
"empty_layers": [],
"evidence_gate_decision": {
"sufficient": true,
"failure_reasons": [],
"evidence_count": 24
},
"evidence_gate_input": {
"resolved_target": "RuntimeManager",
"sub_intent": "FIND_TESTS",
"target_type": "symbol",
"evidence_count": 24,
"code_chunk_count": 24,
"entrypoint_count": 0,
"relation_count": 6,
"test_evidence_count": 2,
"symbol_resolution_status": "resolved",
"path_scope": []
},
"post_evidence_gate": {
"input": {
"answer_mode": "normal",
"degraded_message": "",
"resolved_target": "RuntimeManager",
"draft_answer_preview": "Прямые тесты для `RuntimeManager` находятся в файле `tests/test_runtime.py`.\n\nКосвенные тесты:\n- В файле `tests/test_business_control_actions.py` есть тесты, использующие сущности контроля, которые взаимодействуют с `RuntimeManager`.",
"repair_candidate": true
},
"output": {
"passed": true,
"action": "return",
"reasons": [],
"repair_used": false,
"final_answer_preview": "Прямые тесты для `RuntimeManager` находятся в файле `tests/test_runtime.py`.\n\nКосвенные тесты:\n- В файле `tests/test_business_control_actions.py` есть тесты, использующие сущности контроля, которые взаимодействуют с `RuntimeManager`."
}
},
"failure_reasons": [],
"timings_ms": {
"router": 1,
"retrieval": 132,
"pre_evidence_gate": 1,
"llm": 1662,
"post_evidence_gate": 1
}
}
## Mismatches
- none

View File

@@ -0,0 +1,250 @@
# plba-v3-open-file-runtime
- source_file: /Users/alex/Dev_projects_v2/ai driven app process/v2/agent/tests/pipeline_setup_v3/cases/suite_02_pipeline/full_chain_plba_code_subintents_one_per_subintent.yaml
- runner: agent_runtime
- mode: full_chain
- passed: True
## Query
Открой файл src/app_runtime/core/runtime.py
## Actual
{
"intent": "CODE_QA",
"sub_intent": "OPEN_FILE",
"graph_id": "CodeQAGraph",
"conversation_mode": "START",
"rag_count": 1,
"llm_answer": "В файле `src/app_runtime/core/runtime.py` определён класс `RuntimeManager`.\nУ него есть несколько классов полей с умолчательными сервисами:\n- `configuration`: тип `ConfigurationManager`\n- `services`: тип `ServiceContainer`\n- `traces`: тип `TraceService`\n- `health`: тип `HealthRegistry`\n- `logs`: тип `LogManager`\n- `workers`: тип `WorkerSupervisor`\n- `control_plane`: тип `ControlPlaneService`\n\nТакже определены константы таймаутов:\n- `ACTION_TIMEOUT_SECONDS = 10.0`\n- `ACTION_POLL_INTERVAL_SECONDS = 0.05`",
"answer_mode": "answered",
"path_scope": [
"src/app_runtime/core/runtime.py"
],
"symbol_candidates": [],
"layers": [
"C0_SOURCE_CHUNKS"
]
}
## Steps
[
{
"step": "router",
"status": "completed",
"timings_ms": {
"router": 1
},
"output": {
"intent": "CODE_QA",
"sub_intent": "OPEN_FILE",
"graph_id": "CodeQAGraph",
"conversation_mode": "START"
}
},
{
"step": "retrieval",
"status": "completed",
"timings_ms": {
"retrieval": 132
},
"output": {
"rag_count": 1,
"answer_path_rag_count": 1,
"resolved_symbol_status": "not_requested",
"resolved_symbol": null,
"requested_layers": [
"C0_SOURCE_CHUNKS"
]
},
"diagnostics": {
"executed_layers": [
"C0_SOURCE_CHUNKS"
],
"retrieval_mode_by_layer": {
"C0_SOURCE_CHUNKS": "exact_path_fetch"
},
"top_k_by_layer": {
"C0_SOURCE_CHUNKS": 200
},
"filters_by_layer": {
"C0_SOURCE_CHUNKS": {
"path_scope": [
"src/app_runtime/core/runtime.py"
]
}
},
"requests": [
{
"layer": "C0_SOURCE_CHUNKS",
"query": "Открой файл src/app_runtime/core/runtime.py",
"ranking_profile": "code"
}
],
"fallback": {
"used": false,
"reason": null
},
"retrieval_by_layer_ms": {
"C0_SOURCE_CHUNKS": 132
}
}
},
{
"step": "pre_evidence_gate",
"status": "passed",
"timings_ms": {
"pre_evidence_gate": 1
},
"input": {
"resolved_target": "src/app_runtime/core/runtime.py",
"sub_intent": "OPEN_FILE",
"target_type": "file",
"evidence_count": 1,
"code_chunk_count": 1,
"entrypoint_count": 0,
"relation_count": 0,
"test_evidence_count": 0,
"symbol_resolution_status": "not_requested",
"path_scope": [
"src/app_runtime/core/runtime.py"
]
},
"output": {
"passed": true,
"failure_reasons": [],
"degraded_message": "",
"evidence_count": 1
}
},
{
"step": "llm",
"status": "completed",
"timings_ms": {
"llm": 3550
},
"output": {
"prompt_name": "code_qa_open_file_answer",
"answer_preview": "В файле `src/app_runtime/core/runtime.py` определён класс `RuntimeManager`.\nУ него есть несколько классов полей с умолчательными сервисами:\n- `configuration`: тип `ConfigurationManager`\n- `services`: тип `ServiceContainer`\n- `traces`: тип `TraceService`\n- `health`: тип `HealthRegistry`\n- `logs`: тип",
"resolved_target": "src/app_runtime/core/runtime.py",
"answer_policy_branch": "normal_answer",
"decision_reason": "evidence_sufficient"
}
},
{
"step": "post_evidence_gate",
"status": "passed",
"timings_ms": {
"post_evidence_gate": 2,
"post_evidence_gate_recheck": 0,
"repair": 0
},
"input": {
"answer_mode": "normal",
"degraded_message": "",
"resolved_target": "src/app_runtime/core/runtime.py",
"draft_answer_preview": "В файле `src/app_runtime/core/runtime.py` определён класс `RuntimeManager`.\nУ него есть несколько классов полей с умолчательными сервисами:\n- `configuration`: тип `ConfigurationManager`\n- `services`: тип `ServiceContainer`\n- `traces`: тип `TraceService`\n- `health`: тип `HealthRegistry`\n- `logs`: тип",
"repair_candidate": true
},
"output": {
"passed": true,
"action": "return",
"reasons": [],
"repair_used": false,
"final_answer_preview": "В файле `src/app_runtime/core/runtime.py` определён класс `RuntimeManager`.\nУ него есть несколько классов полей с умолчательными сервисами:\n- `configuration`: тип `ConfigurationManager`\n- `services`: тип `ServiceContainer`\n- `traces`: тип `TraceService`\n- `health`: тип `HealthRegistry`\n- `logs`: тип"
}
}
]
## Diagnostics
{
"intent_correct": null,
"target_found": true,
"layers_used": [
"C0_SOURCE_CHUNKS"
],
"retrieval_sufficient": true,
"answer_mode": "normal",
"resolved_target": "src/app_runtime/core/runtime.py",
"answer_policy_branch": "normal_answer",
"decision_reason": "evidence_sufficient",
"router_result": {
"intent": "CODE_QA",
"graph_id": "CodeQAGraph",
"conversation_mode": "START",
"retrieval_profile": "code",
"sub_intent": "OPEN_FILE",
"path_scope": [
"src/app_runtime/core/runtime.py"
],
"layers": [
"C0_SOURCE_CHUNKS"
],
"symbol_resolution_status": "not_requested"
},
"retrieval_request": {
"rag_session_id": "7d11da21-faa0-4cea-aede-aeabe069164c",
"query": "Открой файл src/app_runtime/core/runtime.py",
"sub_intent": "OPEN_FILE",
"path_scope": [
"src/app_runtime/core/runtime.py"
],
"requested_layers": [
"C0_SOURCE_CHUNKS"
]
},
"per_layer_outcome": [
{
"layer_id": "C0_SOURCE_CHUNKS",
"hit_count": 1,
"empty": false,
"fallback_used": false
}
],
"empty_layers": [],
"evidence_gate_decision": {
"sufficient": true,
"failure_reasons": [],
"evidence_count": 1
},
"evidence_gate_input": {
"resolved_target": "src/app_runtime/core/runtime.py",
"sub_intent": "OPEN_FILE",
"target_type": "file",
"evidence_count": 1,
"code_chunk_count": 1,
"entrypoint_count": 0,
"relation_count": 0,
"test_evidence_count": 0,
"symbol_resolution_status": "not_requested",
"path_scope": [
"src/app_runtime/core/runtime.py"
]
},
"post_evidence_gate": {
"input": {
"answer_mode": "normal",
"degraded_message": "",
"resolved_target": "src/app_runtime/core/runtime.py",
"draft_answer_preview": "В файле `src/app_runtime/core/runtime.py` определён класс `RuntimeManager`.\nУ него есть несколько классов полей с умолчательными сервисами:\n- `configuration`: тип `ConfigurationManager`\n- `services`: тип `ServiceContainer`\n- `traces`: тип `TraceService`\n- `health`: тип `HealthRegistry`\n- `logs`: тип",
"repair_candidate": true
},
"output": {
"passed": true,
"action": "return",
"reasons": [],
"repair_used": false,
"final_answer_preview": "В файле `src/app_runtime/core/runtime.py` определён класс `RuntimeManager`.\nУ него есть несколько классов полей с умолчательными сервисами:\n- `configuration`: тип `ConfigurationManager`\n- `services`: тип `ServiceContainer`\n- `traces`: тип `TraceService`\n- `health`: тип `HealthRegistry`\n- `logs`: тип"
}
},
"failure_reasons": [],
"timings_ms": {
"router": 1,
"retrieval": 132,
"pre_evidence_gate": 1,
"llm": 3550,
"post_evidence_gate": 2
}
}
## Mismatches
- none

View File

@@ -0,0 +1,305 @@
# plba-v3-trace-flow-runtime-start
- source_file: /Users/alex/Dev_projects_v2/ai driven app process/v2/agent/tests/pipeline_setup_v3/cases/suite_02_pipeline/full_chain_plba_code_subintents_one_per_subintent.yaml
- runner: agent_runtime
- mode: full_chain
- passed: True
## Query
Покажи поток выполнения при запуске RuntimeManager
## Actual
{
"intent": "CODE_QA",
"sub_intent": "TRACE_FLOW",
"graph_id": "CodeQAGraph",
"conversation_mode": "START",
"rag_count": 37,
"llm_answer": "При запуске `RuntimeManager` выполняются следующие шаги:\n\n1. Инициализация конфигурации через `add_config_file`.\n2. Инициализация сервисов.\n3. Регистрация основных служб через `_register_core_services`.\n4. Запуск менеджера с помощью метода `start`.\n\nЭти этапы основаны на сигнатурах методов и их связях внутри класса `RuntimeManager`. \nКонкретные реализации логики запуска находятся в файле `src/app_runtime/core/runtime.py`, строки 32127.\n\nПоток выполнения полностью восстанавливается по данным контекстного фрагмента.",
"answer_mode": "answered",
"path_scope": [],
"symbol_candidates": [
"RuntimeManager"
],
"layers": [
"C1_SYMBOL_CATALOG",
"C0_SOURCE_CHUNKS",
"C4_SEMANTIC_ROLES",
"C2_DEPENDENCY_GRAPH",
"C3_ENTRYPOINTS"
]
}
## Steps
[
{
"step": "router",
"status": "completed",
"timings_ms": {
"router": 2
},
"output": {
"intent": "CODE_QA",
"sub_intent": "TRACE_FLOW",
"graph_id": "CodeQAGraph",
"conversation_mode": "START"
}
},
{
"step": "retrieval",
"status": "completed",
"timings_ms": {
"retrieval": 211
},
"output": {
"rag_count": 37,
"answer_path_rag_count": 37,
"resolved_symbol_status": "resolved",
"resolved_symbol": "RuntimeManager",
"requested_layers": [
"C1_SYMBOL_CATALOG",
"C0_SOURCE_CHUNKS",
"C4_SEMANTIC_ROLES",
"C2_DEPENDENCY_GRAPH",
"C3_ENTRYPOINTS"
]
},
"diagnostics": {
"executed_layers": [
"C1_SYMBOL_CATALOG",
"C0_SOURCE_CHUNKS",
"C4_SEMANTIC_ROLES",
"C2_DEPENDENCY_GRAPH",
"C3_ENTRYPOINTS"
],
"retrieval_mode_by_layer": {
"C1_SYMBOL_CATALOG": "vector",
"C0_SOURCE_CHUNKS": "vector",
"C4_SEMANTIC_ROLES": "vector",
"C2_DEPENDENCY_GRAPH": "vector",
"C3_ENTRYPOINTS": "vector"
},
"top_k_by_layer": {
"C1_SYMBOL_CATALOG": 8,
"C0_SOURCE_CHUNKS": 8,
"C4_SEMANTIC_ROLES": 8,
"C2_DEPENDENCY_GRAPH": 10,
"C3_ENTRYPOINTS": 10
},
"filters_by_layer": {
"C1_SYMBOL_CATALOG": {
"path_scope": []
},
"C0_SOURCE_CHUNKS": {
"path_scope": []
},
"C4_SEMANTIC_ROLES": {
"path_scope": []
},
"C2_DEPENDENCY_GRAPH": {
"path_scope": []
},
"C3_ENTRYPOINTS": {
"path_scope": []
}
},
"fallback": {
"used": false,
"reason": null
},
"retrieval_by_layer_ms": {
"C1_SYMBOL_CATALOG": 59,
"C0_SOURCE_CHUNKS": 45,
"C4_SEMANTIC_ROLES": 21,
"C2_DEPENDENCY_GRAPH": 62,
"C3_ENTRYPOINTS": 21
}
}
},
{
"step": "pre_evidence_gate",
"status": "passed",
"timings_ms": {
"pre_evidence_gate": 1
},
"input": {
"resolved_target": "RuntimeManager",
"sub_intent": "TRACE_FLOW",
"target_type": "symbol",
"evidence_count": 37,
"code_chunk_count": 37,
"entrypoint_count": 3,
"relation_count": 10,
"test_evidence_count": 0,
"symbol_resolution_status": "resolved",
"path_scope": []
},
"output": {
"passed": true,
"failure_reasons": [],
"degraded_message": "",
"evidence_count": 37
}
},
{
"step": "llm",
"status": "completed",
"timings_ms": {
"llm": 3158
},
"output": {
"prompt_name": "code_qa_trace_flow_answer",
"answer_preview": "При запуске `RuntimeManager` выполняются следующие шаги:\n\n1. Инициализация конфигурации через `add_config_file`.\n2. Инициализация сервисов.\n3. Регистрация основных служб через `_register_core_services`.\n4. Запуск менеджера с помощью метода `start`.\n\nЭти этапы основаны на сигнатурах методов и их связ",
"resolved_target": "RuntimeManager",
"answer_policy_branch": "normal_answer",
"decision_reason": "evidence_sufficient"
}
},
{
"step": "post_evidence_gate",
"status": "passed",
"timings_ms": {
"post_evidence_gate": 1,
"post_evidence_gate_recheck": 0,
"repair": 0
},
"input": {
"answer_mode": "normal",
"degraded_message": "",
"resolved_target": "RuntimeManager",
"draft_answer_preview": "При запуске `RuntimeManager` выполняются следующие шаги:\n\n1. Инициализация конфигурации через `add_config_file`.\n2. Инициализация сервисов.\n3. Регистрация основных служб через `_register_core_services`.\n4. Запуск менеджера с помощью метода `start`.\n\nЭти этапы основаны на сигнатурах методов и их связ",
"repair_candidate": true
},
"output": {
"passed": true,
"action": "return",
"reasons": [],
"repair_used": false,
"final_answer_preview": "При запуске `RuntimeManager` выполняются следующие шаги:\n\n1. Инициализация конфигурации через `add_config_file`.\n2. Инициализация сервисов.\n3. Регистрация основных служб через `_register_core_services`.\n4. Запуск менеджера с помощью метода `start`.\n\nЭти этапы основаны на сигнатурах методов и их связ"
}
}
]
## Diagnostics
{
"intent_correct": null,
"target_found": true,
"layers_used": [
"C1_SYMBOL_CATALOG",
"C0_SOURCE_CHUNKS",
"C4_SEMANTIC_ROLES",
"C2_DEPENDENCY_GRAPH",
"C3_ENTRYPOINTS"
],
"retrieval_sufficient": true,
"answer_mode": "normal",
"resolved_target": "RuntimeManager",
"answer_policy_branch": "normal_answer",
"decision_reason": "evidence_sufficient",
"router_result": {
"intent": "CODE_QA",
"graph_id": "CodeQAGraph",
"conversation_mode": "START",
"retrieval_profile": "code",
"sub_intent": "TRACE_FLOW",
"path_scope": [],
"layers": [
"C1_SYMBOL_CATALOG",
"C0_SOURCE_CHUNKS",
"C4_SEMANTIC_ROLES",
"C2_DEPENDENCY_GRAPH",
"C3_ENTRYPOINTS"
],
"symbol_resolution_status": "resolved"
},
"retrieval_request": {
"rag_session_id": "7d11da21-faa0-4cea-aede-aeabe069164c",
"query": "Покажи поток выполнения при запуске RuntimeManager",
"sub_intent": "TRACE_FLOW",
"path_scope": [],
"requested_layers": [
"C1_SYMBOL_CATALOG",
"C0_SOURCE_CHUNKS",
"C4_SEMANTIC_ROLES",
"C2_DEPENDENCY_GRAPH",
"C3_ENTRYPOINTS"
]
},
"per_layer_outcome": [
{
"layer_id": "C1_SYMBOL_CATALOG",
"hit_count": 8,
"empty": false,
"fallback_used": false
},
{
"layer_id": "C0_SOURCE_CHUNKS",
"hit_count": 8,
"empty": false,
"fallback_used": false
},
{
"layer_id": "C4_SEMANTIC_ROLES",
"hit_count": 8,
"empty": false,
"fallback_used": false
},
{
"layer_id": "C2_DEPENDENCY_GRAPH",
"hit_count": 10,
"empty": false,
"fallback_used": false
},
{
"layer_id": "C3_ENTRYPOINTS",
"hit_count": 3,
"empty": false,
"fallback_used": false
}
],
"empty_layers": [],
"evidence_gate_decision": {
"sufficient": true,
"failure_reasons": [],
"evidence_count": 37
},
"evidence_gate_input": {
"resolved_target": "RuntimeManager",
"sub_intent": "TRACE_FLOW",
"target_type": "symbol",
"evidence_count": 37,
"code_chunk_count": 37,
"entrypoint_count": 3,
"relation_count": 10,
"test_evidence_count": 0,
"symbol_resolution_status": "resolved",
"path_scope": []
},
"post_evidence_gate": {
"input": {
"answer_mode": "normal",
"degraded_message": "",
"resolved_target": "RuntimeManager",
"draft_answer_preview": "При запуске `RuntimeManager` выполняются следующие шаги:\n\n1. Инициализация конфигурации через `add_config_file`.\n2. Инициализация сервисов.\n3. Регистрация основных служб через `_register_core_services`.\n4. Запуск менеджера с помощью метода `start`.\n\nЭти этапы основаны на сигнатурах методов и их связ",
"repair_candidate": true
},
"output": {
"passed": true,
"action": "return",
"reasons": [],
"repair_used": false,
"final_answer_preview": "При запуске `RuntimeManager` выполняются следующие шаги:\n\n1. Инициализация конфигурации через `add_config_file`.\n2. Инициализация сервисов.\n3. Регистрация основных служб через `_register_core_services`.\n4. Запуск менеджера с помощью метода `start`.\n\nЭти этапы основаны на сигнатурах методов и их связ"
}
},
"failure_reasons": [],
"timings_ms": {
"router": 2,
"retrieval": 211,
"pre_evidence_gate": 1,
"llm": 3158,
"post_evidence_gate": 1
}
}
## Mismatches
- none

View File

@@ -0,0 +1,36 @@
# pipeline_setup_v3 summary
Passed: 7/7
| File | Case | Mode | Query | Actual sub-intent | RAG layers | Tokens | Pass |
|------|------|------|-------|-------------------|------------|--------|------|
| full_chain_plba_code_subintents_one_per_subintent.yaml | plba-v3-open-file-runtime | full_chain | Открой файл src/app_runtime/core/runtime.py | OPEN_FILE | C0_SOURCE_CHUNKS:1 | 1128 | ✓ |
| full_chain_plba_code_subintents_one_per_subintent.yaml | plba-v3-explain-runtime-manager | full_chain | Объясни как работает класс RuntimeManager | EXPLAIN | C0_SOURCE_CHUNKS:8, C1_SYMBOL_CATALOG:8, C2_DEPENDENCY_GRAPH:6, C3_ENTRYPOINTS:3, C4_SEMANTIC_ROLES:8 | 4504 | ✓ |
| full_chain_plba_code_subintents_one_per_subintent.yaml | plba-v3-explain-local-http-channel | full_chain | Почему в файле src/app_runtime/control/http_channel.py класс HttpControlChannel устроен так? | EXPLAIN_LOCAL | C0_SOURCE_CHUNKS:1, C1_SYMBOL_CATALOG:8, C2_DEPENDENCY_GRAPH:4 | 2071 | ✓ |
| full_chain_plba_code_subintents_one_per_subintent.yaml | plba-v3-find-tests-runtime-manager | full_chain | Где тесты для RuntimeManager? | FIND_TESTS | C0_SOURCE_CHUNKS:10, C1_SYMBOL_CATALOG:8, C2_DEPENDENCY_GRAPH:6 | 3660 | ✓ |
| full_chain_plba_code_subintents_one_per_subintent.yaml | plba-v3-find-entrypoints-health-endpoint | full_chain | Где health endpoint? | FIND_ENTRYPOINTS | C0_SOURCE_CHUNKS:7, C3_ENTRYPOINTS:3 | 2531 | ✓ |
| full_chain_plba_code_subintents_one_per_subintent.yaml | plba-v3-trace-flow-runtime-start | full_chain | Покажи поток выполнения при запуске RuntimeManager | TRACE_FLOW | C0_SOURCE_CHUNKS:8, C1_SYMBOL_CATALOG:8, C2_DEPENDENCY_GRAPH:10, C3_ENTRYPOINTS:3, C4_SEMANTIC_ROLES:8 | 4310 | ✓ |
| full_chain_plba_code_subintents_one_per_subintent.yaml | plba-v3-architecture-runtime-manager | full_chain | Какие компоненты участвуют в RuntimeManager? | ARCHITECTURE | C0_SOURCE_CHUNKS:4, C1_SYMBOL_CATALOG:6, C2_DEPENDENCY_GRAPH:8, C3_ENTRYPOINTS:3, C4_SEMANTIC_ROLES:12 | 4061 | ✓ |
## LLM Answers
- **plba-v3-open-file-runtime**
Query: Открой файл src/app_runtime/core/runtime.py
> В файле \`src/app\_runtime/core/runtime.py\` определён класс \`RuntimeManager\`. У него есть несколько классов полей с умолчательными сервисами: \- \`configuration\`: тип \`ConfigurationManager\` \- \`services\`: тип \`ServiceContainer\` \- \`traces\`: тип \`TraceService\` \- \`health\`: тип \`HealthRegistry\` \- \`logs\`: тип \`LogManager\` \- \`workers\`: тип \`WorkerSupervisor\` \- \`control\_plane\`: тип \`ControlPlaneService\` Также определены константы таймаутов: \- \`ACTION\_TIMEOUT\_SECONDS = 10.0\` \- \`ACTION\_POLL\_INTERVAL\_SECONDS = 0.05\`
- **plba-v3-explain-runtime-manager**
Query: Объясни как работает класс RuntimeManager
> Недостаточно подтверждённых данных для уверенного ответа по RuntimeManager.
- **plba-v3-explain-local-http-channel**
Query: Почему в файле src/app_runtime/control/http_channel.py класс HttpControlChannel устроен так?
> Класс HttpControlChannel наследует ControlChannel и реализует HTTP\-канал управления. Он принимает хост, порт и таймаут при инициализации, создаёт экземпляр UvicornThreadRunner для запуска сервера и использует HttpControlAppFactory для создания FastAPI\-приложения. Метод start запускает сервер с переданным набором действий \(ControlActionSet\), а метод stop останавливает его. Свойство port возвращает текущий порт runner. Внутри класса определены два обработчика: \_health\_response проверяет здоровье канала, возвращая статус "unhealthy" если действия не установлены; \_action\_response предположительно обрабатывает запросы на выполнение действий, но его реализация в данном фрагменте не показана.
- **plba-v3-find-tests-runtime-manager**
Query: Где тесты для RuntimeManager?
> Прямые тесты для \`RuntimeManager\` находятся в файле \`tests/test\_runtime.py\`. Косвенные тесты: \- В файле \`tests/test\_business\_control\_actions.py\` есть тесты, использующие сущности контроля, которые взаимодействуют с \`RuntimeManager\`.
- **plba-v3-find-entrypoints-health-endpoint**
Query: Где health endpoint?
> Подтверждённая точка входа для health endpoint: GET /health, declared in src/app\_runtime/control/http\_app.py, lines 31\-34, handler function named 'health'.
- **plba-v3-trace-flow-runtime-start**
Query: Покажи поток выполнения при запуске RuntimeManager
> При запуске \`RuntimeManager\` выполняются следующие шаги: 1. Инициализация конфигурации через \`add\_config\_file\`. 2. Инициализация сервисов. 3. Регистрация основных служб через \`\_register\_core\_services\`. 4. Запуск менеджера с помощью метода \`start\`. Эти этапы основаны на сигнатурах методов и их связях внутри класса \`RuntimeManager\`. Конкретные реализации логики запуска находятся в файле \`src/app\_runtime/core/runtime.py\`, строки 32127. Поток выполнения полностью восстанавливается по данным контекстного фрагмента.
- **plba-v3-architecture-runtime-manager**
Query: Какие компоненты участвуют в RuntimeManager?
> Компоненты, участвующие в подсистеме RuntimeManager: \- \*\*RuntimeManager\*\* \(src/app\_runtime/core/runtime.py:18\-179\) \- \*\*ControlPlaneService.\_\_init\_\_\*\* \(src/app\_runtime/control/service.py:14\-51\) \- \*\*RuntimeManager.\_\_init\_\_\*\* \(src/app\_runtime/core/runtime.py:32\-127\) \- \*\*ControlPlaneService.\_start\_async\*\* \(src/app\_runtime/control/service.py:14\-47\) \- \*\*RuntimeManager.start\*\* \(src/app\_runtime/core/runtime.py:32\-59\) \- \*\*ControlPlaneService.start\*\* \(src/app\_runtime/control/service.py:14\-20\) \- \*\*ControlPlaneService.stop\*\* \(src/app\_runtime/control/service.py:14\-25\) \- \*\*ControlPlaneService.\_stop\_async\*\* \(src/app\_runtime/control/service.py:14\-51\) \- \*\*RuntimeManager.add\_config\_file\*\* \(src/app\_runtime/core/runtime.py:32\-52\) \- \*\*ControlPlaneService.register\_channel\*\* \(src/app\_runtime/control/service.py:14\-17\) Связи между компонентами: \- \*\*ControlPlaneService.\_\_init\_\_ dataflow\_slice…