Cardiosense-AG commited on
Commit
8af3158
·
verified ·
1 Parent(s): 8f98a41

Update pages/02_Workflow_UI.py

Browse files
Files changed (1) hide show
  1. pages/02_Workflow_UI.py +40 -32
pages/02_Workflow_UI.py CHANGED
@@ -421,40 +421,48 @@ with tab_spec:
421
 
422
  stale = is_stale(assess_new, assess_hash0) or is_stale(plan_new, plan_hash0)
423
 
424
- # Guard: only show guideline rationale if we have SOAP content
425
- if not _soap_is_empty(soap):
426
- if not stale and (normalize_text(assess_new + plan_new)):
427
- # Use stored bullets if available; else compute once and store
428
- stored_points = (exp.get("guideline_rationale") or [])
429
- if stored_points:
430
- _render_guideline_bullets(stored_points)
431
- else:
432
- g = generate_guideline_rationale(assessment_text=assess_new, plan_text=plan_new)
433
- warn = (g.get("warning") or "").strip()
434
- if warn:
435
- st.info(warn)
436
- try:
437
- st.page_link("pages/01_RAG_Corpus_Prep.py", label="Open RAG Prep")
438
- except Exception:
439
- pass
440
- points = g.get("rationale", []) or []
441
- _render_guideline_bullets(points)
442
- if points:
443
- store.update_case(selected, {"explainability": {"guideline_rationale": points}})
444
- else:
445
- if (not read_only) and (status == "submitted"):
446
- if st.button("↻ Re-run Guidelines", key=f"rerun_{selected}"):
447
  g = generate_guideline_rationale(assessment_text=assess_new, plan_text=plan_new)
 
 
 
 
 
 
 
448
  points = g.get("rationale", []) or []
449
- store.update_case(selected, {
450
- "explainability": {
451
- "baseline": {"assessment_hash": text_hash(assess_new), "plan_hash": text_hash(plan_new)},
452
- "guideline_rationale": points,
453
- }
454
- })
455
- st.rerun()
456
- else:
457
- st.caption("Guideline rationale hidden after edits. Click **Re-run Guidelines** to refresh.")
 
 
 
 
 
 
 
 
458
 
459
  st.divider()
460
 
 
421
 
422
  stale = is_stale(assess_new, assess_hash0) or is_stale(plan_new, plan_hash0)
423
 
424
+ # ---------------------------------------------------------
425
+ # HARD GUARD: NEVER run guideline rationale before SOAP exists
426
+ # ---------------------------------------------------------
427
+ if _soap_is_empty(soap):
428
+ # Do nothing; skip guideline logic entirely
429
+ # (Prevents early 200-token LLM call)
430
+ pass
431
+ else:
432
+ # Guard: only show guideline rationale if we have SOAP content
433
+ if not _soap_is_empty(soap):
434
+ if not stale and (normalize_text(assess_new + plan_new)):
435
+ # Use stored bullets if available; else compute once and store
436
+ stored_points = (exp.get("guideline_rationale") or [])
437
+ if stored_points:
438
+ _render_guideline_bullets(stored_points)
439
+ else:
 
 
 
 
 
 
 
440
  g = generate_guideline_rationale(assessment_text=assess_new, plan_text=plan_new)
441
+ warn = (g.get("warning") or "").strip()
442
+ if warn:
443
+ st.info(warn)
444
+ try:
445
+ st.page_link("pages/01_RAG_Corpus_Prep.py", label="Open RAG Prep")
446
+ except Exception:
447
+ pass
448
  points = g.get("rationale", []) or []
449
+ _render_guideline_bullets(points)
450
+ if points:
451
+ store.update_case(selected, {"explainability": {"guideline_rationale": points}})
452
+ else:
453
+ if (not read_only) and (status == "submitted"):
454
+ if st.button("↻ Re-run Guidelines", key=f"rerun_{selected}"):
455
+ g = generate_guideline_rationale(assessment_text=assess_new, plan_text=plan_new)
456
+ points = g.get("rationale", []) or []
457
+ store.update_case(selected, {
458
+ "explainability": {
459
+ "baseline": {"assessment_hash": text_hash(assess_new), "plan_hash": text_hash(plan_new)},
460
+ "guideline_rationale": points,
461
+ }
462
+ })
463
+ st.rerun()
464
+ else:
465
+ st.caption("Guideline rationale hidden after edits. Click **Re-run Guidelines** to refresh.")
466
 
467
  st.divider()
468