[{"slug":"ZV-2026-0961","server_name":"hoghogh.ai","severity":"breaking","title":"hoghogh.ai: Enum value full_win removed from outcome on calculate_lawyer_fee.","summary":"[risky] Description of calculate_lawyer_fee changed (76% word delta). [risky] Optional field criminal_grade was added to calculate_lawyer_fee; may shift model behaviour. [risky] Optional field final_at_first_instance was added to calculate_lawyer_fee; may shift model behaviour. [safe] Field outcome on calculate_lawyer_fee is no longer required. [breaking] Enum value full_win removed from outcome on calculate_lawyer_fee. [breaking] Enum value partial_win removed from outcome on calculate_lawyer_fee. [breaking] Enum value lose removed from outcome on calculate_lawyer_fee. [risky] Enum value judgment added to outcome on calculate_lawyer_fee. [risky] Enum value dismissed_no_merits added to outcome on calculate_lawyer_fee. [risky] Enum value rejected_after_defence added to outcome on calculate_lawyer_fee. [risky] Enum value voided_before_defence added to outcome on calculate_lawyer_fee. [risky] Enum value family added to case_type on calculate_lawyer_fee. [risky] Enum value non_financial added to case_type on calculate_lawyer_fee. [risky] Enum value board added to case_type on calculate_lawyer_fee. [safe] Description of lookup_annual_rate changed (14% word delta).","changes":[{"kind":"description_changed","tool":"calculate_lawyer_fee","after":"Calculate حق‌الوکاله from آیین‌نامهٔ تعرفهٔ حق‌الوکاله (1398/12/28): financial claims are a marginal ladder on the claim value (art. 9); family, non-financial, criminal and administrative matters are a min–max RANGE independent of value (arts. 13, 14, 20). `stage` is art. 21's share of the whole-case fee (60% first instance / 40% appeal). The tariff does not scale by winning or losing. Never guess a lawyer's statutory fee.","before":"Calculate حق‌الوکاله from the official bar-association tariff (تعرفهٔ کانون وکلا) by case type, stage and outcome. Never guess a lawyer's statutory fee.","detail":"Description of `calculate_lawyer_fee` changed (76% word delta).","severity":"risky","descriptionDelta":0.7580645161290323},{"kind":"input_property_added","path":"inputSchema.properties.criminal_grade","tool":"calculate_lawyer_fee","after":{"enum":["k1_grade1","k1_grade2_3","k1_other","k2_hodud_diyat_grade4_5","k2_grade6","k2_other"],"type":"string","description":"Criminal only: court (کیفری یک / دو) and offence grade."},"detail":"Optional field `criminal_grade` was added to `calculate_lawyer_fee`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.final_at_first_instance","tool":"calculate_lawyer_fee","after":{"type":"boolean","description":"Civil only: first-instance judgment is final as to value ⇒ flat 10% (art. 9 opening)."},"detail":"Optional field `final_at_first_instance` was added to `calculate_lawyer_fee`; may shift model behaviour.","severity":"risky"},{"kind":"input_required_removed","path":"inputSchema.required.outcome","tool":"calculate_lawyer_fee","detail":"Field `outcome` on `calculate_lawyer_fee` is no longer required.","severity":"safe"},{"kind":"enum_value_removed","path":"inputSchema.properties.outcome","tool":"calculate_lawyer_fee","before":"full_win","detail":"Enum value `full_win` removed from `outcome` on `calculate_lawyer_fee`.","severity":"breaking"},{"kind":"enum_value_removed","path":"inputSchema.properties.outcome","tool":"calculate_lawyer_fee","before":"partial_win","detail":"Enum value `partial_win` removed from `outcome` on `calculate_lawyer_fee`.","severity":"breaking"},{"kind":"enum_value_removed","path":"inputSchema.properties.outcome","tool":"calculate_lawyer_fee","before":"lose","detail":"Enum value `lose` removed from `outcome` on `calculate_lawyer_fee`.","severity":"breaking"},{"kind":"enum_value_added","path":"inputSchema.properties.outcome","tool":"calculate_lawyer_fee","after":"judgment","detail":"Enum value `judgment` added to `outcome` on `calculate_lawyer_fee`.","severity":"risky"},{"kind":"enum_value_added","path":"inputSchema.properties.outcome","tool":"calculate_lawyer_fee","after":"dismissed_no_merits","detail":"Enum value `dismissed_no_merits` added to `outcome` on `calculate_lawyer_fee`.","severity":"risky"},{"kind":"enum_value_added","path":"inputSchema.properties.outcome","tool":"calculate_lawyer_fee","after":"rejected_after_defence","detail":"Enum value `rejected_after_defence` added to `outcome` on `calculate_lawyer_fee`.","severity":"risky"},{"kind":"enum_value_added","path":"inputSchema.properties.outcome","tool":"calculate_lawyer_fee","after":"voided_before_defence","detail":"Enum value `voided_before_defence` added to `outcome` on `calculate_lawyer_fee`.","severity":"risky"},{"kind":"enum_value_added","path":"inputSchema.properties.case_type","tool":"calculate_lawyer_fee","after":"family","detail":"Enum value `family` added to `case_type` on `calculate_lawyer_fee`.","severity":"risky"},{"kind":"enum_value_added","path":"inputSchema.properties.case_type","tool":"calculate_lawyer_fee","after":"non_financial","detail":"Enum value `non_financial` added to `case_type` on `calculate_lawyer_fee`.","severity":"risky"},{"kind":"enum_value_added","path":"inputSchema.properties.case_type","tool":"calculate_lawyer_fee","after":"board","detail":"Enum value `board` added to `case_type` on `calculate_lawyer_fee`.","severity":"risky"},{"kind":"description_changed","tool":"lookup_annual_rate","after":"Fetch official Iranian yearly rates from the database: minimum wage (min_wage), court filing fees (court_fee_*), salary tax exemption (salary_tax_exemption_annual), Central Bank price index for delay damages (cbi_price_index), daily severance (sanavat_daily). حق‌الوکاله is NOT an annual rate — use calculate_lawyer_fee. ALWAYS use this instead of recalling a rate — yearly figures are exactly what models misremember. For دیه use calculate_diyeh instead. Read each row's `unit` field: «rials» means Rial and «درصد» means percent — never report a percentage as a Rial amount.","before":"Fetch official Iranian yearly rates from the database: minimum wage (min_wage), court filing fees (court_fee_*), salary tax exemption (salary_tax_exemption_annual), Central Bank price index for delay damages (cbi_price_index), bar-association lawyer tariffs (lawyer_tariff_*), daily severance (sanavat_daily). ALWAYS use this instead of recalling a rate — yearly figures are exactly what models misremember. For دیه use calculate_diyeh instead. Read each row's `unit` field: «rials» means Rial and «درصد» means percent — never report a percentage as a Rial amount.","detail":"Description of `lookup_annual_rate` changed (14% word delta).","severity":"safe","descriptionDelta":0.14084507042253525}],"published_at":"2026-09-11T06:40:13.118Z"},{"slug":"ZV-2026-0670","server_name":"hoghogh.ai","severity":"breaking","title":"hoghogh.ai: Field injury was removed from calculate_diyeh input; consumers still sending it may be rejected or silently ignored.","summary":"[breaking] Field injury was removed from calculate_diyeh input; consumers still sending it may be rejected or silently ignored. [breaking] Field is_haram_month was removed from calculate_diyeh input; consumers still sending it may be rejected or silently ignored. [risky] Optional field count was added to calculate_diyeh; may shift model behaviour. [risky] Optional field fraction was added to calculate_diyeh; may shift model behaviour. [risky] Optional field gender was added to calculate_diyeh; may shift model behaviour. [risky] Optional field injury_type was added to calculate_diyeh; may shift model behaviour. [risky] Optional field sacred_month was added to calculate_diyeh; may shift model behaviour. [breaking] Field amount was removed from calculate_litigation_fee input; consumers still sending it may be rejected or silently ignored. [risky] Optional field case_type was added to calculate_litigation_fee; may shift model behaviour. [risky] Optional field claim_amount_toman was added to calculate_litigation_fee; may shift model behaviour. [breaking] Field stage on calculate_litigation_fee is now required. [breaking] Enum value بدوی removed from stage on calculate_litigation_fee. [breaking] Enum value تجدیدنظر removed from stage on calculate_litigation_fee. [breaking] Enum value فرجام removed from stage on calculate_litigation_fee. [risky] Enum value first added to stage on calculate_litigation_fee. [risky] Enum value appeal added to stage on calculate_litigation_fee. [risky] Enum value supreme added to stage on calculate_litigation_fee. [breaking] Field monthly_wage was removed from calculate_severance input; consumers still sending it may be rejected or silently ignored. [risky] Optional field contract_type was added to calculate_severance; may shift model behaviour. [risky] Optional field last_salary_toman was added to calculate_severance; may shift model behaviour. [risky] Optional field months was added to calculate_severance; may shift model behaviour. [risky] ","changes":[{"kind":"input_property_removed","path":"inputSchema.properties.injury","tool":"calculate_diyeh","before":{"type":"string","description":"Injury in Persian, e.g. «شکستگی دست»، «از دست دادن یک انگشت»، «دندان»."},"detail":"Field `injury` was removed from `calculate_diyeh` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_removed","path":"inputSchema.properties.is_haram_month","tool":"calculate_diyeh","before":{"type":"boolean","description":"Whether it occurred in a حرام month (تغلیظ applies to دیهٔ نفس)."},"detail":"Field `is_haram_month` was removed from `calculate_diyeh` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_added","path":"inputSchema.properties.count","tool":"calculate_diyeh","after":{"type":"integer","description":"How many (fingers, teeth …). Default 1."},"detail":"Optional field `count` was added to `calculate_diyeh`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.fraction","tool":"calculate_diyeh","after":{"type":"number","description":"دیه fraction between 0 and 1 — only when no injury_type fits."},"detail":"Optional field `fraction` was added to `calculate_diyeh`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.gender","tool":"calculate_diyeh","after":{"enum":["male","female"],"type":"string","description":"Gender of the injured/deceased."},"detail":"Optional field `gender` was added to `calculate_diyeh`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.injury_type","tool":"calculate_diyeh","after":{"enum":["full","eye_one","eye_both","ear_one","ear_both","hand_one","hand_both","foot_one","foot_both","finger_thumb","finger_other","finger_phalanx","tooth_front","tooth_molar","nose_full","nose_fracture","kidney_one","kidney_both","rib_heart","rib_each","rib_other","spleen","skull_fracture","spine_fracture","spine_fracture_healed","spinal_cord","eyelid_upper","eyelid_lower","testicle_left","testicle_right"],"type":"string","description":"Injury key from the standard list (e.g. full = دیهٔ کامل, hand_one = یک دست, tooth_front = دندان جلویی). Pick the key, not free text."},"detail":"Optional field `injury_type` was added to `calculate_diyeh`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.sacred_month","tool":"calculate_diyeh","after":{"type":"boolean","description":"Occurred in a ماه حرام (تغلیظ — applies to دیهٔ نفس only)."},"detail":"Optional field `sacred_month` was added to `calculate_diyeh`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_removed","path":"inputSchema.properties.amount","tool":"calculate_litigation_fee","before":{"type":"number","description":"Claim value in Toman."},"detail":"Field `amount` was removed from `calculate_litigation_fee` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_added","path":"inputSchema.properties.case_type","tool":"calculate_litigation_fee","after":{"enum":["financial","non_financial"],"type":"string","description":"financial = مالی (needs claim_amount_toman), non_financial = غیرمالی (fixed official figure)."},"detail":"Optional field `case_type` was added to `calculate_litigation_fee`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.claim_amount_toman","tool":"calculate_litigation_fee","after":{"type":"number","description":"Claim value in TOMAN (financial claims only)."},"detail":"Optional field `claim_amount_toman` was added to `calculate_litigation_fee`; may shift model behaviour.","severity":"risky"},{"kind":"input_required_added","path":"inputSchema.required.stage","tool":"calculate_litigation_fee","detail":"Field `stage` on `calculate_litigation_fee` is now required.","severity":"breaking"},{"kind":"enum_value_removed","path":"inputSchema.properties.stage","tool":"calculate_litigation_fee","before":"بدوی","detail":"Enum value `بدوی` removed from `stage` on `calculate_litigation_fee`.","severity":"breaking"},{"kind":"enum_value_removed","path":"inputSchema.properties.stage","tool":"calculate_litigation_fee","before":"تجدیدنظر","detail":"Enum value `تجدیدنظر` removed from `stage` on `calculate_litigation_fee`.","severity":"breaking"},{"kind":"enum_value_removed","path":"inputSchema.properties.stage","tool":"calculate_litigation_fee","before":"فرجام","detail":"Enum value `فرجام` removed from `stage` on `calculate_litigation_fee`.","severity":"breaking"},{"kind":"enum_value_added","path":"inputSchema.properties.stage","tool":"calculate_litigation_fee","after":"first","detail":"Enum value `first` added to `stage` on `calculate_litigation_fee`.","severity":"risky"},{"kind":"enum_value_added","path":"inputSchema.properties.stage","tool":"calculate_litigation_fee","after":"appeal","detail":"Enum value `appeal` added to `stage` on `calculate_litigation_fee`.","severity":"risky"},{"kind":"enum_value_added","path":"inputSchema.properties.stage","tool":"calculate_litigation_fee","after":"supreme","detail":"Enum value `supreme` added to `stage` on `calculate_litigation_fee`.","severity":"risky"},{"kind":"input_property_removed","path":"inputSchema.properties.monthly_wage","tool":"calculate_severance","before":{"type":"number","description":"Monthly wage in Toman."},"detail":"Field `monthly_wage` was removed from `calculate_severance` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_property_added","path":"inputSchema.properties.contract_type","tool":"calculate_severance","after":{"enum":["permanent","fixed"],"type":"string","description":"permanent = دائمی, fixed = موقت. Default permanent."},"detail":"Optional field `contract_type` was added to `calculate_severance`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.last_salary_toman","tool":"calculate_severance","after":{"type":"number","description":"Last monthly salary in TOMAN. Below the statutory minimum wage the minimum is used instead."},"detail":"Optional field `last_salary_toman` was added to `calculate_severance`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.months","tool":"calculate_severance","after":{"type":"integer","description":"Extra months of service (0–11)."},"detail":"Optional field `months` was added to `calculate_severance`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.unused_leave_days","tool":"calculate_severance","after":{"type":"number","description":"Stored unused annual leave days (ماده ۶۶ ق.کار caps storage at 9 days/yr)."},"detail":"Optional field `unused_leave_days` was added to `calculate_severance`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.year","tool":"calculate_severance","after":{"type":"integer","description":"Persian year for the minimum-wage basis. Defaults to the latest."},"detail":"Optional field `year` was added to `calculate_severance`; may shift model behaviour.","severity":"risky"},{"kind":"input_required_removed","path":"inputSchema.required.years","tool":"calculate_severance","detail":"Field `years` on `calculate_severance` is no longer required.","severity":"safe"}],"published_at":"2026-09-03T18:31:07.724Z"}]