- The Arabic card now mirrors the English card: the full deterministic
dentist-question bank (11 questions) and the after-visit tracker render
in vetted Arabic instead of 3 generic questions
- Model-authored questions are marked English-only, never machine-translated
- Untranslated patient wording is annotated (كما كتبه المريض)
- Grammar and register corrections from a native-quality Arabic review
- Empty state previews the real handoff card (ink band, real section headings,
unfilled lines) instead of a generic placeholder box
- Shimmer skeleton on both build routes while ZeroGPU composes
- Safety flags: 'Why this fired' disclosure naming the deterministic rule_id;
a static twin keeps rule id + triggering quotes visible on printed cards
- RULE/LLM provenance badges on the agent workflow panel
- Arabic card headings use IBM Plex Sans Arabic without Latin tracking;
text inputs auto-detect direction for Arabic stories
- Result reveal animation (reduced-motion safe, disabled in print)
- UI regression pins in tests/test_render_safety_panel.py; design preview
harness in scripts/design_preview.py
- Model-authored negatives ('No endodontic treatment attempted') survive only
when the patient's own story negates the same topic; prior dental work
mentioned in the story (endo, crown, خلع...) now always surfaces in the handoff
- /interview_api: stateless REST endpoint with strict JSON state token —
plain curl works end to end, sentinel runs on every turn
- Handoff header rebuilt as badge chips; branded bullets and circled question
counters, with RTL mirrors for the Arabic card
- 196 tests; eval 60/60 + 17/17; mass audit 1540/1540
fix: restore clean first-load UI and readable safety notice
- Arabic masculine/colloquial emergency phrases escalate (مش قادر اتنفس, بختنق);
new avulsed-tooth, swallowed-object, immunocompromised, fever+swelling rules;
idiom/third-party false positives gated
- Agent panel reports real per-run telemetry (Complete/Partial/Fallback, live
flag count); cached examples recompute red flags through the live rules engine
- First paint auto-loads the de-identified real case; mobile columns stack with
44px touch targets; bilingual handoff renders side-by-side; PDF matches the
app's brand tokens and preserves punctuation
- Eval: 60/60 recall, 17/17 specificity, 1,540/1,540 mutation audit, 168 tests
- Internal working documents removed from the public Space
- All AI calls (interview, extraction, handoff enrichment) now run in-Space
via @spaces.GPU — no external endpoint, no secrets required
- Patient name flows through intake, examples, and the handoff card
- Deterministic rules gain Egyptian Arabic colloquial triggers, acutely
qualified so routine history never trips an emergency rule
- Judge-reproducible evals shipped in scripts/: 50/50 recall, 11/11 benign,
1,220/1,220 mass audit; 128 local tests