Debug code
Browse files- code_engine.py +41 -1
code_engine.py
CHANGED
|
@@ -77,9 +77,21 @@ def process_codex_request(request: CodeXRequest) -> CodeXResponse:
|
|
| 77 |
start_time = time.perf_counter()
|
| 78 |
|
| 79 |
try:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 80 |
scope_decision = decide_scope(request)
|
|
|
|
|
|
|
|
|
|
| 81 |
if not scope_decision.should_continue_to_codex:
|
| 82 |
processing_time_ms = int((time.perf_counter() - start_time) * 1000)
|
|
|
|
| 83 |
return build_scope_response(
|
| 84 |
route=scope_decision.route,
|
| 85 |
message=scope_decision.message,
|
|
@@ -91,6 +103,12 @@ def process_codex_request(request: CodeXRequest) -> CodeXResponse:
|
|
| 91 |
session_id=request.session_id,
|
| 92 |
)
|
| 93 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 94 |
task_type = detect_task_type(
|
| 95 |
message=enriched_request.message,
|
| 96 |
code=enriched_request.code,
|
|
@@ -98,12 +116,20 @@ def process_codex_request(request: CodeXRequest) -> CodeXResponse:
|
|
| 98 |
mode_hint=enriched_request.mode,
|
| 99 |
)
|
| 100 |
|
|
|
|
|
|
|
| 101 |
evidence_list = []
|
| 102 |
retrieval_used = False
|
| 103 |
|
| 104 |
-
|
|
|
|
|
|
|
|
|
|
| 105 |
evidence_list = get_retrieved_evidence(task_type, enriched_request)
|
| 106 |
retrieval_used = len(evidence_list) > 0
|
|
|
|
|
|
|
|
|
|
| 107 |
|
| 108 |
prompt = build_prompt(
|
| 109 |
task_type=task_type,
|
|
@@ -116,8 +142,14 @@ def process_codex_request(request: CodeXRequest) -> CodeXResponse:
|
|
| 116 |
evidence_list=evidence_list,
|
| 117 |
)
|
| 118 |
|
|
|
|
|
|
|
| 119 |
model_output, model_used, used_fallback = model_client.generate(prompt)
|
| 120 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 121 |
processing_time_ms = int((time.perf_counter() - start_time) * 1000)
|
| 122 |
|
| 123 |
response = build_response(
|
|
@@ -132,7 +164,12 @@ def process_codex_request(request: CodeXRequest) -> CodeXResponse:
|
|
| 132 |
sources=evidence_list,
|
| 133 |
)
|
| 134 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 135 |
if response.code_output and response.code_output.strip():
|
|
|
|
| 136 |
context_manager.save_artifact(
|
| 137 |
session_id=enriched_request.session_id,
|
| 138 |
code=response.code_output,
|
|
@@ -141,12 +178,15 @@ def process_codex_request(request: CodeXRequest) -> CodeXResponse:
|
|
| 141 |
framework=enriched_request.framework,
|
| 142 |
last_user_goal=enriched_request.message,
|
| 143 |
)
|
|
|
|
|
|
|
| 144 |
|
| 145 |
return response
|
| 146 |
|
| 147 |
except Exception as e:
|
| 148 |
processing_time_ms = int((time.perf_counter() - start_time) * 1000)
|
| 149 |
fallback_task = request.mode if request.mode else CodeTaskType.UNKNOWN
|
|
|
|
| 150 |
|
| 151 |
return build_error_response(
|
| 152 |
task_type=fallback_task,
|
|
|
|
| 77 |
start_time = time.perf_counter()
|
| 78 |
|
| 79 |
try:
|
| 80 |
+
print("=" * 80, flush=True)
|
| 81 |
+
print("DEBUG code_engine.process_codex_request()", flush=True)
|
| 82 |
+
print(f"DEBUG incoming session_id: {request.session_id!r}", flush=True)
|
| 83 |
+
print(f"DEBUG incoming message: {request.message!r}", flush=True)
|
| 84 |
+
print(f"DEBUG incoming language: {request.language!r}", flush=True)
|
| 85 |
+
print(f"DEBUG incoming has_code: {bool(request.code and request.code.strip())}", flush=True)
|
| 86 |
+
print(f"DEBUG incoming has_error_message: {bool(request.error_message and request.error_message.strip())}", flush=True)
|
| 87 |
+
|
| 88 |
scope_decision = decide_scope(request)
|
| 89 |
+
print(f"DEBUG scope_decision.route: {scope_decision.route}", flush=True)
|
| 90 |
+
print(f"DEBUG scope_decision.should_continue_to_codex: {scope_decision.should_continue_to_codex}", flush=True)
|
| 91 |
+
|
| 92 |
if not scope_decision.should_continue_to_codex:
|
| 93 |
processing_time_ms = int((time.perf_counter() - start_time) * 1000)
|
| 94 |
+
print("DEBUG returning scope response early", flush=True)
|
| 95 |
return build_scope_response(
|
| 96 |
route=scope_decision.route,
|
| 97 |
message=scope_decision.message,
|
|
|
|
| 103 |
session_id=request.session_id,
|
| 104 |
)
|
| 105 |
|
| 106 |
+
print(f"DEBUG enriched session_id: {enriched_request.session_id!r}", flush=True)
|
| 107 |
+
print(f"DEBUG enriched message: {enriched_request.message!r}", flush=True)
|
| 108 |
+
print(f"DEBUG enriched previous_context present: {bool(enriched_request.previous_context and str(enriched_request.previous_context).strip())}", flush=True)
|
| 109 |
+
print(f"DEBUG enriched has_code: {bool(enriched_request.code and enriched_request.code.strip())}", flush=True)
|
| 110 |
+
print(f"DEBUG enriched has_error_message: {bool(enriched_request.error_message and enriched_request.error_message.strip())}", flush=True)
|
| 111 |
+
|
| 112 |
task_type = detect_task_type(
|
| 113 |
message=enriched_request.message,
|
| 114 |
code=enriched_request.code,
|
|
|
|
| 116 |
mode_hint=enriched_request.mode,
|
| 117 |
)
|
| 118 |
|
| 119 |
+
print(f"DEBUG detected task_type: {task_type}", flush=True)
|
| 120 |
+
|
| 121 |
evidence_list = []
|
| 122 |
retrieval_used = False
|
| 123 |
|
| 124 |
+
retrieval_decision = should_use_retrieval(task_type, enriched_request)
|
| 125 |
+
print(f"DEBUG should_use_retrieval: {retrieval_decision}", flush=True)
|
| 126 |
+
|
| 127 |
+
if retrieval_decision:
|
| 128 |
evidence_list = get_retrieved_evidence(task_type, enriched_request)
|
| 129 |
retrieval_used = len(evidence_list) > 0
|
| 130 |
+
print(f"DEBUG retrieved evidence count: {len(evidence_list)}", flush=True)
|
| 131 |
+
else:
|
| 132 |
+
print("DEBUG retrieval skipped", flush=True)
|
| 133 |
|
| 134 |
prompt = build_prompt(
|
| 135 |
task_type=task_type,
|
|
|
|
| 142 |
evidence_list=evidence_list,
|
| 143 |
)
|
| 144 |
|
| 145 |
+
print(f"DEBUG prompt length: {len(prompt)}", flush=True)
|
| 146 |
+
|
| 147 |
model_output, model_used, used_fallback = model_client.generate(prompt)
|
| 148 |
|
| 149 |
+
print(f"DEBUG model_used: {model_used}", flush=True)
|
| 150 |
+
print(f"DEBUG used_fallback: {used_fallback}", flush=True)
|
| 151 |
+
print(f"DEBUG model_output preview: {str(model_output)[:300]!r}", flush=True)
|
| 152 |
+
|
| 153 |
processing_time_ms = int((time.perf_counter() - start_time) * 1000)
|
| 154 |
|
| 155 |
response = build_response(
|
|
|
|
| 164 |
sources=evidence_list,
|
| 165 |
)
|
| 166 |
|
| 167 |
+
print(f"DEBUG response.task_type: {response.task_type}", flush=True)
|
| 168 |
+
print(f"DEBUG response.answer: {response.answer!r}", flush=True)
|
| 169 |
+
print(f"DEBUG response.has_code_output: {bool(response.code_output and response.code_output.strip())}", flush=True)
|
| 170 |
+
|
| 171 |
if response.code_output and response.code_output.strip():
|
| 172 |
+
print("DEBUG saving artifact to context_manager", flush=True)
|
| 173 |
context_manager.save_artifact(
|
| 174 |
session_id=enriched_request.session_id,
|
| 175 |
code=response.code_output,
|
|
|
|
| 178 |
framework=enriched_request.framework,
|
| 179 |
last_user_goal=enriched_request.message,
|
| 180 |
)
|
| 181 |
+
else:
|
| 182 |
+
print("DEBUG no artifact saved", flush=True)
|
| 183 |
|
| 184 |
return response
|
| 185 |
|
| 186 |
except Exception as e:
|
| 187 |
processing_time_ms = int((time.perf_counter() - start_time) * 1000)
|
| 188 |
fallback_task = request.mode if request.mode else CodeTaskType.UNKNOWN
|
| 189 |
+
print(f"DEBUG exception in process_codex_request: {e}", flush=True)
|
| 190 |
|
| 191 |
return build_error_response(
|
| 192 |
task_type=fallback_task,
|