j-js commited on
Commit
a973ad3
·
verified ·
1 Parent(s): 35117d1

Update conversation_logic.py

Browse files
Files changed (1) hide show
  1. conversation_logic.py +16 -9
conversation_logic.py CHANGED
@@ -956,6 +956,7 @@ class ConversationEngine:
956
  )
957
  result.solved = False
958
  result.meta["explainer_used"] = True
 
959
  elif resolved_help_mode == "hint" and explainer_understood and not use_solver_steps_for_hint:
960
  reply = format_explainer_response(
961
  result=explainer_result,
@@ -967,6 +968,7 @@ class ConversationEngine:
967
  )
968
  result.solved = False
969
  result.meta["explainer_used"] = True
 
970
  else:
971
  reply_core = _compose_reply(
972
  result=result,
@@ -976,7 +978,7 @@ class ConversationEngine:
976
  hint_stage=hint_stage,
977
  explainer_scaffold=explainer_scaffold,
978
  )
979
-
980
  reply = format_reply(
981
  reply_core,
982
  tone=tone,
@@ -986,22 +988,27 @@ class ConversationEngine:
986
  hint_stage=hint_stage,
987
  topic=result.topic,
988
  )
989
-
990
- if resolved_help_mode != "answer":
991
- result.solved = False
992
-
 
 
 
 
 
993
  result.meta["can_reveal_answer"] = bool(
994
  result.solved
995
  and _is_direct_solve_request(user_text or solver_input, resolved_intent)
996
  and hint_stage >= 3
997
  )
998
-
999
  if not result.meta.get("can_reveal_answer", False):
1000
  result.answer_letter = None
1001
  result.answer_value = None
1002
  result.internal_answer = None
1003
  result.meta["internal_answer"] = None
1004
-
1005
  state = _update_session_state(
1006
  state,
1007
  question_text=solver_input,
@@ -1013,7 +1020,7 @@ class ConversationEngine:
1013
  topic=result.topic,
1014
  category=inferred_category,
1015
  )
1016
-
1017
  result.reply = reply
1018
  result.help_mode = resolved_help_mode
1019
  result.meta["help_mode"] = resolved_help_mode
@@ -1025,5 +1032,5 @@ class ConversationEngine:
1025
  result.meta["user_last_input_type"] = input_type
1026
  result.meta["built_on_previous_turn"] = built_on_previous_turn
1027
  result.meta["session_state"] = state
1028
-
1029
  return result
 
956
  )
957
  result.solved = False
958
  result.meta["explainer_used"] = True
959
+
960
  elif resolved_help_mode == "hint" and explainer_understood and not use_solver_steps_for_hint:
961
  reply = format_explainer_response(
962
  result=explainer_result,
 
968
  )
969
  result.solved = False
970
  result.meta["explainer_used"] = True
971
+
972
  else:
973
  reply_core = _compose_reply(
974
  result=result,
 
978
  hint_stage=hint_stage,
979
  explainer_scaffold=explainer_scaffold,
980
  )
981
+
982
  reply = format_reply(
983
  reply_core,
984
  tone=tone,
 
988
  hint_stage=hint_stage,
989
  topic=result.topic,
990
  )
991
+
992
+ # Force non-answer modes to remain non-solved
993
+ if resolved_help_mode in {"hint", "walkthrough", "explain", "instruction"}:
994
+ result.solved = False
995
+ result.answer_letter = None
996
+ result.answer_value = None
997
+ result.internal_answer = None
998
+ result.meta["internal_answer"] = None
999
+
1000
  result.meta["can_reveal_answer"] = bool(
1001
  result.solved
1002
  and _is_direct_solve_request(user_text or solver_input, resolved_intent)
1003
  and hint_stage >= 3
1004
  )
1005
+
1006
  if not result.meta.get("can_reveal_answer", False):
1007
  result.answer_letter = None
1008
  result.answer_value = None
1009
  result.internal_answer = None
1010
  result.meta["internal_answer"] = None
1011
+
1012
  state = _update_session_state(
1013
  state,
1014
  question_text=solver_input,
 
1020
  topic=result.topic,
1021
  category=inferred_category,
1022
  )
1023
+
1024
  result.reply = reply
1025
  result.help_mode = resolved_help_mode
1026
  result.meta["help_mode"] = resolved_help_mode
 
1032
  result.meta["user_last_input_type"] = input_type
1033
  result.meta["built_on_previous_turn"] = built_on_previous_turn
1034
  result.meta["session_state"] = state
1035
+
1036
  return result