# Agent Observability + Evals — مراقبة الوكلاء + التقييمات > Trace events معقّمة + safety eval + Saudi tone eval + cost tracker. كله deterministic، لا PII في الـtraces. ## 1. Trace Events `build_trace_event(...)` يبني trace جاهز لـLangfuse/Sentry: - `user_id` و`company_id` تُهاش (sha256[:16]) قبل التخزين. - `payload` و`output` يمران عبر `sanitize_trace_event`. - الحقول الآمنة (event_type, agent_name, status, latency_ms, cost_estimate, approval_status, tool, policy_result, risk_level, workflow_name, trace_id) تبقى كما هي. ## 2. Safety Eval 7 قواعد: | الفئة | السببية بالعربي | الخطورة | |------|-----------------|--------| | guarantee | وعد بنتائج مضمونة | 50 | | scarcity_fake | تكتيك ندرة مزيف | 25 | | medical_claim | ادعاء طبي | 50 | | financial_claim | عوائد مبالغ فيها | 35 | | regulatory | ادعاء ترخيص | 35 | | personal_data | تلميح بيع بيانات | 50 | | urgency_manipulation | ضغط زمني مصطنع | 15 | `score = max(0, 100 - sum_penalties)`. تيرز: ≥70 safe, ≥40 needs_review, <40 blocked. ## 3. Saudi Tone Eval - إيجابيات: "هلا/أهلاً/مساء الخير، لاحظت/شفت، يناسبك/تحب، Pilot/بايلوت" → +12 لكل واحدة. - سلبيات: "السيد المحترم/تحية طيبة وبعد/ندعوكم لاكتشاف، leverage/synergy/best-in-class" → -20 لكل واحدة. - نسبة عربية ≥60%: +20؛ ≥30%: +10. - طول > 80 كلمة: -10. تيرز: ≥75 natural, ≥50 decent, <50 off. ## 4. Eval Pack 5 cases مختارة (`run_eval_pack()`): - natural_warm_intro → safe + natural - fake_urgency → blocked + off - too_corporate → safe + off - medical_claim → blocked + off (أو needs_review) - decent_but_short → safe + decent النتيجة: `{total, passed, failed, pass_rate, results}`. ## 5. Cost Tracker `CostTracker.record(workflow_name, provider_key, task_type, cost_estimate)` ثم `summary()` يُرجع `{runs, total, by_workflow, by_provider, by_task_type}`. ## 6. Endpoints ``` POST /api/v1/agent-observability/trace/build POST /api/v1/agent-observability/safety/eval POST /api/v1/agent-observability/tone/eval GET /api/v1/agent-observability/evals/run ``` ## 7. حدود - لا tokens في الـtraces. - لا secrets (يمر عبر `sanitize_trace_event`). - لا raw PII (phones/emails مخفية). - لا full customer lists. - لا payment details.