Spaces:
Running
on
Zero
Running
on
Zero
Update app.py
Browse files
app.py
CHANGED
@@ -525,12 +525,11 @@ def analyze_composite(msg1, date1, msg2, date2, msg3, date3, *answers_and_none):
|
|
525 |
escalation_score = None
|
526 |
risk_level = "unknown"
|
527 |
else:
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
# We'll finalize `risk_level` after computing bump below
|
533 |
-
|
534 |
messages = [msg1, msg2, msg3]
|
535 |
dates = [date1, date2, date3]
|
536 |
active = [(m, d) for m, d in zip(messages, dates) if m.strip()]
|
@@ -551,6 +550,12 @@ def analyze_composite(msg1, date1, msg2, date2, msg3, date3, *answers_and_none):
|
|
551 |
escalation_bump += 2
|
552 |
if stage == 2:
|
553 |
escalation_bump += 3
|
|
|
|
|
|
|
|
|
|
|
|
|
554 |
for result, date in results:
|
555 |
assert len(result) == 7, "Unexpected output from analyze_single_message"
|
556 |
abuse_scores = [r[0][0] for r in results]
|
@@ -618,7 +623,7 @@ def analyze_composite(msg1, date1, msg2, date2, msg3, date3, *answers_and_none):
|
|
618 |
top_label = f"{sorted_patterns[0][0]} β {int(round(sorted_patterns[0][1] * 100))}%"
|
619 |
if top_label is None:
|
620 |
top_label = "Unknown β 0%"
|
621 |
-
out += generate_risk_snippet(composite_abuse, top_label,
|
622 |
out += f"\n\n{stage_text}"
|
623 |
out += darvo_blurb
|
624 |
out += "\n\nπ **Emotional Tones Detected:**\n"
|
|
|
525 |
escalation_score = None
|
526 |
risk_level = "unknown"
|
527 |
else:
|
528 |
+
escalation_score = sum(w for (_, w), a in zip(ESCALATION_QUESTIONS, answers_and_none[:-1]) if a)
|
529 |
+
escalation_bump = 0 # Will be computed later
|
530 |
+
hybrid_score = escalation_score # Start with raw
|
|
|
531 |
# We'll finalize `risk_level` after computing bump below
|
532 |
+
risk_level = "Low"
|
533 |
messages = [msg1, msg2, msg3]
|
534 |
dates = [date1, date2, date3]
|
535 |
active = [(m, d) for m, d in zip(messages, dates) if m.strip()]
|
|
|
550 |
escalation_bump += 2
|
551 |
if stage == 2:
|
552 |
escalation_bump += 3
|
553 |
+
hybrid_score = escalation_score + escalation_bump
|
554 |
+
risk_level = (
|
555 |
+
"High" if hybrid_score >= 16 else
|
556 |
+
"Moderate" if hybrid_score >= 8 else
|
557 |
+
"Low"
|
558 |
+
)
|
559 |
for result, date in results:
|
560 |
assert len(result) == 7, "Unexpected output from analyze_single_message"
|
561 |
abuse_scores = [r[0][0] for r in results]
|
|
|
623 |
top_label = f"{sorted_patterns[0][0]} β {int(round(sorted_patterns[0][1] * 100))}%"
|
624 |
if top_label is None:
|
625 |
top_label = "Unknown β 0%"
|
626 |
+
out += generate_risk_snippet(composite_abuse, top_label, hybrid_score if escalation_score is not None else 0, most_common_stage)
|
627 |
out += f"\n\n{stage_text}"
|
628 |
out += darvo_blurb
|
629 |
out += "\n\nπ **Emotional Tones Detected:**\n"
|