§
    /Äj[*  ã                   ó´  — d dl Zd dlmc mZ d dlZd dlZd dlZd dl	Z	d dl
mZ d dlmZ g d¢g d¢g d¢g d¢g d¢d	œZd
„ e                     ¦   «         D ¦   «         Zej        j        d„ ¦   «         Zej        j        d„ ¦   «         Zej        j        d„ ¦   «         Zej        j        d„ ¦   «         Zej        j        d„ ¦   «         Zej        j        d„ ¦   «         ZdS )é    N)Ú
sse_client)ÚClientSession)zRULE-ROOT-01zRULE-ROOT-02zRULE-ROOT-03zRULE-ROOT-04zRULE-ROOT-05)zRULE-BACKEND-01zRULE-BACKEND-02zRULE-BACKEND-03zRULE-BACKEND-04zRULE-BACKEND-05)zRULE-FRONTEND-01zRULE-FRONTEND-02zRULE-FRONTEND-03zRULE-FRONTEND-04zRULE-FRONTEND-05)zRULE-AEC-01zRULE-AEC-02zRULE-AEC-03zRULE-AEC-04zRULE-AEC-05zRULE-AEC-06zRULE-AEC-07)zRULE-WORKFLOW-01zRULE-WORKFLOW-02zRULE-WORKFLOW-03zRULE-WORKFLOW-04zRULE-WORKFLOW-05©úArea 1úArea 2úArea 3úArea 4úArea 5c                 ó   — g | ]	}|D ]}|‘ŒŒ
S © r   )Ú.0ÚcodesÚcodes      ú2C:\Projects\DSCons\tests\test_mem0_m2_ingestion.pyú
<listcomp>r      s%   € ÐNÐNÐN�eÈÐNÐNÀˆTÐNÐNÐNÐNó    c            
   ƒ   óÎ  K  — t          d¦  «        4 ƒd{V —†\  } }t          | |¦  «        4 ƒd{V —†}|                     ¦   «         ƒ d{V —† |                     di ¦  «        ƒ d{V —†}t	          j        |j        d         j        ¦  «        }|j        }d} ||¦  «        }d}||k    }	|	sÐt          j
        d|	fd||f¦  «        d	t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd	t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d
œz  }
dd|
iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}x}x}	}|j        }d} ||¦  «        }d}||u }	|	sÐt          j
        d|	fd||f¦  «        d	t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd	t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d
œz  }
dd|
iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}x}x}	}|j        }d} ||¦  «        }d}||k    }	|	sût          j
        d|	fd||f¦  «        d	t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd	t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d
œz  }
t          j        d|                     d¦  «        › �¦  «        dz   d|
iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}x}x}	}ddd¦  «        ƒd{V —† n# 1 ƒd{V —†swxY w Y   ddd¦  «        ƒd{V —† dS # 1 ƒd{V —†swxY w Y   dS )zZVerify Mem0 background service is online and total memory count is exactly 476 (449 + 27).úhttp://127.0.0.1:8765/sseNÚmem0_statusr   ÚstatusÚonline©ú==)zI%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.get
}(%(py4)s)
} == %(py9)sÚdata)Úpy0Úpy2Úpy4Úpy6Úpy9zassert %(py11)sÚpy11Úis_readyT)Úis)zI%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.get
}(%(py4)s)
} is %(py9)sÚdeveloper_memories_countiÜ  zExpected 476, got z
>assert %(py11)s)r   r   Ú
initializeÚ	call_toolÚjsonÚloadsÚcontentÚtextÚgetÚ
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanationÚ_format_assertmsg)ÚreadÚwriteÚsessionÚresr   Ú@py_assert1Ú@py_assert3Ú@py_assert5Ú@py_assert8Ú@py_assert7Ú@py_format10Ú@py_format12s               r   Útest_mem0_status_count_is_476r?      s½  è è € õ Ð5Ñ6Ô6ð |ð |ð |ð |ð |ð |ð |¹-¸4ÀÝ   uÑ-Ô-ð 	|ð 	|ð 	|ð 	|ð 	|ð 	|ð 	|°Ø×$Ò$Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&Ø×)Ò)¨-¸Ñ<Ô<Ð<Ð<Ð<Ð<Ð<Ð<ˆCÝ”:˜cœk¨!œnÔ1Ñ2Ô2ˆDØ”8Ð1˜HÐ1�8�8˜HÑ%Ô%Ð1¨Ð1Ð%¨Ò1Ð1Ð1Ð1Õ1Ô1Ð1Ð1Ð1Ð1Ð%¨Ð1Ñ1Ô1Ð1Õ1Ô1Ñ1Ô1Ð1Ð1Õ1Ô1�4Ñ1Ô1Ð1Õ1Ô1�4Ñ1Ô1Ð1Ð1Õ1Ô1�8Ñ1Ô1Õ1Ô1˜HÑ1Ô1Õ1Ô1Ð%Ñ1Ô1Õ1Ô1¨Ñ1Ô1Ð1Ð1Ñ1Ð1Ð1Ð1Ð1Ð1Ñ1Ð1Õ1Õ1Ô1Ð1Ñ1Ô1Ñ1Ô1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ø”8Ð/˜JÐ/�8�8˜JÑ'Ô'Ð/¨4Ð/Ð'¨4Ð/Ð/Ð/Ð/Õ/Ô/Ð/Ð/Ð/Ð/Ð'¨4Ð/Ñ/Ô/Ð/Õ/Ô/Ñ/Ô/Ð/Ð/Õ/Ô/�4Ñ/Ô/Ð/Õ/Ô/�4Ñ/Ô/Ð/Ð/Õ/Ô/�8Ñ/Ô/Õ/Ô/˜JÑ/Ô/Õ/Ô/Ð'Ñ/Ô/Õ/Ô/¨4Ñ/Ô/Ð/Ð/Ñ/Ð/Ð/Ð/Ð/Ð/Ñ/Ð/Õ/Õ/Ô/Ð/Ñ/Ô/Ñ/Ô/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ø”8Ð{Ð6Ð{�8�8Ð6Ñ7Ô7Ð{¸3Ð{Ð7¸3Ò>Ð{Ð{Ð{Õ{Ô{Ð{Ð{Ð{Ð{Ð7¸3Ð{Ñ{Ô{Ð{Õ{Ô{Ñ{Ô{Ð{Ð{Õ{Ô{�4Ñ{Ô{Ð{Õ{Ô{�4Ñ{Ô{Ð{Ð{Õ{Ô{�8Ñ{Ô{Õ{Ô{Ð6Ñ{Ô{Õ{Ô{Ð7Ñ{Ô{Õ{Ô{¸3Ñ{Ô{Ð{Ð{Ñ{Ð{Õ{Ô{Ð@{ÐUY×U]ÒU]Ð^xÑUyÔUyÐ@{Ð@{Ñ{Ô{Ð{Ñ{Ð{Ð{Ð{Ñ{Ð{Õ{Õ{Ô{Ð{Ñ{Ô{Ñ{Ô{Ð{Ð{Ð{Ð{Ð{Ð{Ð{Ð{Ð{Ð{Ð{ð	|ð 	|ð 	|ñ 	|ô 	|ð 	|ð 	|ð 	|ð 	|ð 	|ð 	|ð 	|ð 	|ð 	|ð 	|ð 	|ð 	|ð 	|ð 	|ð 	|ð 	|ð 	|ð 	|øøøð 	|ð 	|ð 	|ð 	|ð|ð |ð |ñ |ô |ð |ð |ð |ð |ð |ð |ð |ð |ð |ð |ð |ð |ð |ð |ð |ð |ð |ð |ð |øøøð |ð |ð |ð |ð |ð |s5   ˜O²M,N0ÎOÎ0
N:	Î:OÎ=N:	Î>OÏ
OÏ!Oc            	   ƒ   ó"
  K  — t          d¦  «        4 ƒd{V —†\  } }t          | |¦  «        4 ƒd{V —†}|                     ¦   «         ƒ d{V —† |                     dddi¦  «        ƒ d{V —†}t	          j        |j        d         j        ¦  «        }|                     di ¦  «                             dg ¦  «        }d	„ |D ¦   «         }t          |¦  «        }d
}||k    }	|	�st          j        d|	fd||f¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }
t          j        dt          |¦  «        › �¦  «        dz   d|
iz  }t#          t          j        |¦  «        ¦  «        ‚dx}x}	}t'          ¦   «         }|D ]C}|                     d¦  «        pi                      d¦  «        }|r|                     |¦  «         ŒDt'          t*          ¦  «        |z
  }t          |¦  «        }d}||k    }	|	�s
t          j        d|	fd||f¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }
t          j        d|› �¦  «        dz   d|
iz  }t#          t          j        |¦  «        ¦  «        ‚dx}x}	}t          |¦  «        }d
}||k    }	|	�st          j        d|	fd||f¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }
t          j        dt          |¦  «        › �¦  «        dz   d|
iz  }t#          t          j        |¦  «        ¦  «        ‚dx}x}	}ddd¦  «        ƒd{V —† n# 1 ƒd{V —†swxY w Y   ddd¦  «        ƒd{V —† dS # 1 ƒd{V —†swxY w Y   dS )z_Verify all 27 atomic facts are present and uniquely identifiable in Mem0 with project='DSCons'.r   NÚmem0_get_allÚuser_idÚ	developerr   ÚmemoriesÚresultsc                 ón   — g | ]2}|                      d ¦  «        pi                       d¦  «        dk    ¯0|‘Œ3S ©ÚmetadataÚprojectÚDSCons©r*   ©r   Úms     r   r   z4test_all_27_atomic_facts_present.<locals>.<listcomp>(   óB   € ÐcÐcÐc ¨q¯uªu°ZÑ/@Ô/@Ð/FÀB×.KÒ.KÈIÑ.VÔ.VÐZbÒ.bÐ.b˜1Ð.bÐ.bÐ.br   é   r   )z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py6)sÚlenÚdscons_mems©r   Úpy1Úpy3r   z#Expected 27 DSCons memories, found ú
>assert %(py8)sÚpy8rH   r   Úmissing_codeszMissing codes: Úfound_codesz Expected 27 unique codes, found )r   r   r$   r%   r&   r'   r(   r)   r*   rP   r+   r,   r-   r.   r/   r0   r3   r1   r2   ÚsetÚaddÚ	ALL_CODES)r4   r5   r6   r7   r   ÚmemsrQ   Ú@py_assert2r:   Ú@py_assert4Ú@py_format7Ú@py_format9rX   rM   r   rW   s                   r   Ú test_all_27_atomic_facts_presentra      sŸ  è è € õ Ð5Ñ6Ô6ð að að að að að að a¹-¸4ÀÝ   uÑ-Ô-ð 	að 	að 	að 	að 	að 	að 	a°Ø×$Ò$Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&à×)Ò)¨.¸9ÀkÐ:RÑSÔSÐSÐSÐSÐSÐSÐSˆCÝ”:˜cœk¨!œnÔ1Ñ2Ô2ˆDØ—8’8˜J¨Ñ+Ô+×/Ò/°	¸2Ñ>Ô>ˆDØcÐc dÐcÑcÔcˆKå�{Ñ#Ô#Ðc rÐcÐ# rÒ)ÐcÐcÑcÕcÔcÐcÐcÐcÐcÐ# rÐcÑcÔcÐcÕcÔcÑcÔcÐcÐcÕcÔc•3ÑcÔcÐcÕcÔc•3ÑcÔcÐcÐcÐcÕcÔcÑcÔcÐcÐcÕcÔc�{ÑcÔcÐcÕcÔc�{ÑcÔcÐcÐcÕcÔcÐ#ÑcÔcÕcÔc rÑcÔcÐcÐcÑcÐcÕcÔcÐ+cÕQTÐU`ÑQaÔQaÐ+cÐ+cÑcÔcÐcÑcÐcÐcÐcÑcÐcÕcÕcÔcÐcÑcÔcÑcÔcÐcÐcÐcÐcÐcÐcÐcå™%œ%ˆKØ ð *ð *�ØŸš˜jÑ)Ô)Ð/¨R×4Ò4°VÑ<Ô<�Øð *Ø—O’O DÑ)Ô)Ð)øå¥	™NœN¨[Ñ8ˆMÝ�}Ñ%Ô%ÐM¨ÐMÐ%¨Ò*ÐMÐMÑMÕMÔMÐMÐMÐMÐMÐ%¨ÐMÑMÔMÐMÕMÔMÑMÔMÐMÐMÕMÔM•3ÑMÔMÐMÕMÔM•3ÑMÔMÐMÐMÐMÕMÔMÑMÔMÐMÐMÕMÔM�}ÑMÔMÐMÕMÔM�}ÑMÔMÐMÐMÕMÔMÐ%ÑMÔMÕMÔM¨ÑMÔMÐMÐMÑMÐMÕMÔMÐ,M¸mÐ,MÐ,MÑMÔMÐMÑMÐMÐMÐMÑMÐMÕMÕMÔMÐMÑMÔMÑMÔMÐMÐMÐMÐMÐMÐMÐMÝ�{Ñ#Ô#Ð` rÐ`Ð# rÒ)Ð`Ð`Ñ`Õ`Ô`Ð`Ð`Ð`Ð`Ð# rÐ`Ñ`Ô`Ð`Õ`Ô`Ñ`Ô`Ð`Ð`Õ`Ô`•3Ñ`Ô`Ð`Õ`Ô`•3Ñ`Ô`Ð`Ð`Ð`Õ`Ô`Ñ`Ô`Ð`Ð`Õ`Ô`�{Ñ`Ô`Ð`Õ`Ô`�{Ñ`Ô`Ð`Ð`Õ`Ô`Ð#Ñ`Ô`Õ`Ô` rÑ`Ô`Ð`Ð`Ñ`Ð`Õ`Ô`Ð+`ÍcÐR]ÑN^ÔN^Ð+`Ð+`Ñ`Ô`Ð`Ñ`Ð`Ð`Ð`Ñ`Ð`Õ`Õ`Ô`Ð`Ñ`Ô`Ñ`Ô`Ð`Ð`Ð`Ð`Ð`Ð`Ð`ð%	að 	að 	añ 	aô 	að 	að 	að 	að 	að 	að 	að 	að 	að 	að 	að 	að 	að 	að 	að 	að 	að 	að 	aøøøð 	að 	að 	að 	aðað að añ aô að að að að að að að að að að að að að að að að að að að aøøøð að að að að að as5   ˜S>²RSÓS>Ó
S$	Ó$S>Ó'S$	Ó(S>Ó>
TÔTc            	   ƒ   ó	  K  — t          d¦  «        4 ƒd{V —†\  } }t          | |¦  «        4 ƒd{V —†}|                     ¦   «         ƒ d{V —† |                     dddi¦  «        ƒ d{V —†}t	          j        |j        d         j        ¦  «        }|                     di ¦  «                             dg ¦  «        }d	„ |D ¦   «         }dddddd
œ}|D ]@}|                     d¦  «        pi                      d¦  «        }	|	|v r||	xx         dz  cc<   ŒA|d         }
d}|
|k    }|sŠt          j
        d|fd|
|f¦  «        t          j        |
¦  «        t          j        |¦  «        dœz  }t          j        d|d         › �¦  «        dz   d|iz  }t          t          j        |¦  «        ¦  «        ‚dx}
x}}|d         }
d}|
|k    }|sŠt          j
        d|fd|
|f¦  «        t          j        |
¦  «        t          j        |¦  «        dœz  }t          j        d|d         › �¦  «        dz   d|iz  }t          t          j        |¦  «        ¦  «        ‚dx}
x}}|d         }
d}|
|k    }|sŠt          j
        d|fd|
|f¦  «        t          j        |
¦  «        t          j        |¦  «        dœz  }t          j        d|d         › �¦  «        dz   d|iz  }t          t          j        |¦  «        ¦  «        ‚dx}
x}}|d         }
d}|
|k    }|sŠt          j
        d|fd|
|f¦  «        t          j        |
¦  «        t          j        |¦  «        dœz  }t          j        d|d         › �¦  «        dz   d|iz  }t          t          j        |¦  «        ¦  «        ‚dx}
x}}|d         }
d}|
|k    }|sŠt          j
        d|fd|
|f¦  «        t          j        |
¦  «        t          j        |¦  «        dœz  }t          j        d|d         › �¦  «        dz   d|iz  }t          t          j        |¦  «        ¦  «        ‚dx}
x}}ddd¦  «        ƒd{V —† n# 1 ƒd{V —†swxY w Y   ddd¦  «        ƒd{V —† dS # 1 ƒd{V —†swxY w Y   dS )znVerify complete coverage across all 5 knowledge areas (Area 1: 5, Area 2: 5, Area 3: 5, Area 4: 7, Area 5: 5).r   NrA   rB   rC   r   rD   rE   c                 ón   — g | ]2}|                      d ¦  «        pi                       d¦  «        dk    ¯0|‘Œ3S rG   rK   rL   s     r   r   z-test_all_5_areas_coverage.<locals>.<listcomp>@   rN   r   r   rH   Úareaé   r   é   r   )z%(py1)s == %(py4)s)rS   r   zArea 1 expected 5, got z
>assert %(py6)sr   r   zArea 2 expected 5, got r   zArea 3 expected 5, got r	   é   zArea 4 expected 7, got r
   zArea 5 expected 5, got )r   r   r$   r%   r&   r'   r(   r)   r*   r+   r,   r0   r3   r1   r2   )r4   r5   r6   r7   r   r\   rQ   Úarea_countsrM   rd   Ú@py_assert0r9   r]   Ú@py_format5r_   s                  r   Útest_all_5_areas_coveragerk   6   sÓ  è è € õ Ð5Ñ6Ô6ð að að að að að að a¹-¸4ÀÝ   uÑ-Ô-ð 	að 	að 	að 	að 	að 	að 	a°Ø×$Ò$Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&à×)Ò)¨.¸9ÀkÐ:RÑSÔSÐSÐSÐSÐSÐSÐSˆCÝ”:˜cœk¨!œnÔ1Ñ2Ô2ˆDØ—8’8˜J¨Ñ+Ô+×/Ò/°	¸2Ñ>Ô>ˆDØcÐc dÐcÑcÔcˆKà%&°!¸qÈAÐYZÐ[Ð[ˆKØ ð +ð +�ØŸš˜jÑ)Ô)Ð/¨R×4Ò4°VÑ<Ô<�Ø˜;Ð&Ð&Ø Ð%Ð%Ô%¨Ñ*Ð%Ð%Ñ%øà˜xÔ(Ð`¨AÐ`Ð(¨AÒ-Ð`Ð`Ð`Õ`Ô`Ð`Ð`Ð`Ð`Ð(¨AÐ`Ñ`Ô`Õ`Ô`Ð(Ñ`Ô`Õ`Ô`¨AÑ`Ô`Ð`Ð`Ñ`Ð`Õ`Ô`Ð/`ÈÐU]ÔI^Ð/`Ð/`Ñ`Ô`Ð`Ñ`Ð`Ð`Ð`Ñ`Ð`Õ`Õ`Ô`Ð`Ñ`Ô`Ñ`Ô`Ð`Ð`Ð`Ð`Ð`Ð`Ð`Ø˜xÔ(Ð`¨AÐ`Ð(¨AÒ-Ð`Ð`Ð`Õ`Ô`Ð`Ð`Ð`Ð`Ð(¨AÐ`Ñ`Ô`Õ`Ô`Ð(Ñ`Ô`Õ`Ô`¨AÑ`Ô`Ð`Ð`Ñ`Ð`Õ`Ô`Ð/`ÈÐU]ÔI^Ð/`Ð/`Ñ`Ô`Ð`Ñ`Ð`Ð`Ð`Ñ`Ð`Õ`Õ`Ô`Ð`Ñ`Ô`Ñ`Ô`Ð`Ð`Ð`Ð`Ð`Ð`Ð`Ø˜xÔ(Ð`¨AÐ`Ð(¨AÒ-Ð`Ð`Ð`Õ`Ô`Ð`Ð`Ð`Ð`Ð(¨AÐ`Ñ`Ô`Õ`Ô`Ð(Ñ`Ô`Õ`Ô`¨AÑ`Ô`Ð`Ð`Ñ`Ð`Õ`Ô`Ð/`ÈÐU]ÔI^Ð/`Ð/`Ñ`Ô`Ð`Ñ`Ð`Ð`Ð`Ñ`Ð`Õ`Õ`Ô`Ð`Ñ`Ô`Ñ`Ô`Ð`Ð`Ð`Ð`Ð`Ð`Ð`Ø˜xÔ(Ð`¨AÐ`Ð(¨AÒ-Ð`Ð`Ð`Õ`Ô`Ð`Ð`Ð`Ð`Ð(¨AÐ`Ñ`Ô`Õ`Ô`Ð(Ñ`Ô`Õ`Ô`¨AÑ`Ô`Ð`Ð`Ñ`Ð`Õ`Ô`Ð/`ÈÐU]ÔI^Ð/`Ð/`Ñ`Ô`Ð`Ñ`Ð`Ð`Ð`Ñ`Ð`Õ`Õ`Ô`Ð`Ñ`Ô`Ñ`Ô`Ð`Ð`Ð`Ð`Ð`Ð`Ð`Ø˜xÔ(Ð`¨AÐ`Ð(¨AÒ-Ð`Ð`Ð`Õ`Ô`Ð`Ð`Ð`Ð`Ð(¨AÐ`Ñ`Ô`Õ`Ô`Ð(Ñ`Ô`Õ`Ô`¨AÑ`Ô`Ð`Ð`Ñ`Ð`Õ`Ô`Ð/`ÈÐU]ÔI^Ð/`Ð/`Ñ`Ô`Ð`Ñ`Ð`Ð`Ð`Ñ`Ð`Õ`Õ`Ô`Ð`Ñ`Ô`Ñ`Ô`Ð`Ð`Ð`Ð`Ð`Ð`Ð`ð%	að 	að 	añ 	aô 	að 	að 	að 	að 	að 	að 	að 	að 	að 	að 	að 	að 	að 	að 	að 	að 	að 	að 	aøøøð 	að 	að 	að 	aðað að añ aô að að að að að að að að að að að að að að að að að að að aøøøð að að að að að as5   ˜Q0²PQÐ:Q0Ñ
Q	ÑQ0ÑQ	ÑQ0Ñ0
Q:Ñ=Q:c               ƒ   ó  ‡+K  — dg d¢g d¢dœdg d¢g d¢dœdg d	¢g d
¢dœg} t          d¦  «        4 ƒd{V —†\  }}t          ||¦  «        4 ƒd{V —†}|                     ¦   «         ƒ d{V —† | D �]U}|                     d|d         dddœ¦  «        ƒ d{V —†}t	          j        |j        d         j        ¦  «        }|                     di ¦  «                             dg ¦  «        }t          |¦  «        }d}	||	k    }
|
�st          j        d|
fd||	f¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |	¦  «        dœz  }t          j        d|d         › d�¦  «        dz   d|iz  }t#          t          j        |¦  «        ¦  «        ‚dx}x}
}	|d         }|                     dd¦  «        }d}||k    }|s¹t          j        d |fd!||f¦  «        d"t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd"t          j        |¦  «        d#œz  }t          j        d|d         › d$|› d%�¦  «        d&z   d'|iz  }t#          t          j        |¦  «        ¦  «        ‚dx}}|D �]�}|                     d(¦  «        pi }g }|j        }d)}	 ||	¦  «        }d}||k    }|}|s0d*}|j        }d+}d,} |||¦  «        }|j        } |¦   «         }||v } | }|�st          j        d-|fd.||f¦  «        d/t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd/t          j        |¦  «        t          j        |	¦  «        t          j        |¦  «        t          j        |¦  «        d0œz  }!d1d2|!iz  }"|                     |"¦  «         |sýt          j        d3| fd4||f¦  «        t          j        |¦  «        d5t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd5t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d6œz  }#d7d8|#iz  }$|                     |$¦  «         t          j        |d9¦  «        i z  }%d:d;|%iz  }&t#          t          j        |&¦  «        ¦  «        ‚dx}x}x}x}	x}x}x}x}x} x}x}x}x}x}}�Œ’d<                     d=„ |dd>…         D ¦   «         ¦  «        Š+t/          ˆ+fd?„|d@         D ¦   «         ¦  «        }'|'s†t          j        d|d         › dA‰+› �¦  «        dBz   dCdDt          j        ¦   «         v st          j        |'¦  «        rt          j        |'¦  «        ndDiz  }(t#          t          j        |(¦  «        ¦  «        ‚|D �]`}|                     d+d,¦  «                             ¦   «         })|dE         D �]+}*|*j        } |¦   «         }||)v}	|	�s
t          j        dF|	fdG||)f¦  «        dHt          j        ¦   «         v st          j        |*¦  «        rt          j        |*¦  «        ndHt          j        |¦  «        t          j        |¦  «        dIt          j        ¦   «         v st          j        |)¦  «        rt          j        |)¦  «        ndIdJœz  }t          j        d|d         › dK|*› dL�¦  «        dz   d|iz  }t#          t          j        |¦  «        ¦  «        ‚dx}x}}	�Œ-�Œb�ŒW	 ddd¦  «        ƒd{V —† n# 1 ƒd{V —†swxY w Y   ddd¦  «        ƒd{V —† dS # 1 ƒd{V —†swxY w Y   dS )MzlVerify mandatory queries from ORIGINAL_REQUEST.md ('DSCons rule', 'frontend theme', 'backend architecture').zDSCons rule)rJ   u   quy chuáº©nu   báº¥t biáº¿nu   luáº­tÚruleu   lá»¥c giÃ¡cu   tiÃªu chuáº©n)zapp/core/logging_configÚ	FreeExileÚSavage©ÚqueryÚexpected_keywordsÚforbidden_keywordszfrontend theme)z
Dark SlateÚ0b0f19ÚInterzJetBrains MonoÚ	Bloomberg)z	Feral NPCzDialogue HUDÚAtlaszbackend architecture)zClean ArchitectureúNUMERIC(18, 4)ÚDecimalÚPortsu   4 táº§ng)rn   zServer-AuthoritativeÚCocosr   NÚmem0_searchrq   rf   rJ   ©rq   ÚlimitrI   r   rD   rE   ©ú>©z/%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} > %(py6)srP   rR   úQuery 'ú' returned zero resultsrU   rV   Úscoreç        çš™™™™™á?©ú>=©z%(py0)s >= %(py3)sÚ	top_score©r   rT   ú' top score ú < 0.55 thresholdú
>assert %(py5)sÚpy5rH   rI   ÚdsconsÚmemoryÚ r   )zJ%(py8)s
{%(py8)s = %(py4)s
{%(py4)s = %(py2)s.get
}(%(py6)s)
} == %(py11)sÚmeta)r   r   r   rV   r    z%(py13)sÚpy13)Úin)z�%(py16)s in %(py30)s
{%(py30)s = %(py28)s
{%(py28)s = %(py26)s
{%(py26)s = %(py20)s
{%(py20)s = %(py18)s.get
}(%(py22)s, %(py24)s)
}.lower
}()
}Úr)Úpy16Úpy18Úpy20Úpy22Úpy24Úpy26Úpy28Úpy30z%(py32)sÚpy32re   zassert %(py35)sÚpy35ú c                 ó:   — g | ]}|                      d d¦  «        ‘ŒS ©r‘   r’   rK   ©r   r–   s     r   r   z;test_searchability_of_mandatory_queries.<locals>.<listcomp>x   ó&   € Ð%OÐ%OÐ%O¸a a§e¢e¨H°bÑ&9Ô&9Ð%OÐ%OÐ%Or   é   c              3   óh   •K  — | ],}|                      ¦   «         ‰                      ¦   «         v V — Œ-d S ©N©Úlower©r   ÚkÚ	top_textss     €r   ú	<genexpr>z:test_searchability_of_mandatory_queries.<locals>.<genexpr>y   ó:   øè è € Ð"eÐ"eÀa 1§7¢7¡9¤9°	·²Ñ0AÔ0AÐ#AÐ"eÐ"eÐ"eÐ"eÐ"eÐ"er   rr   ú)' top results missing expected keywords: ú
>assert %(py0)sr   Úhas_expectedrs   ©únot in©zH%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.lower
}()
} not in %(py6)sÚfr)   ©r   r   r   r   ú' contains forbidden remnant 'ú')r   r   r$   r%   r&   r'   r(   r)   r*   rP   r+   r,   r-   r.   r/   r0   r3   r1   r2   rª   ÚappendÚ_format_boolopÚjoinÚany),Úmandatory_testsr4   r5   r6   Útestr7   r   rE   r]   r:   r^   r_   r`   Útop_hitrŠ   r8   Ú@py_format4Ú@py_format6r–   r“   r9   r<   Ú@py_assert10Ú@py_assert9ri   Ú@py_assert15Ú@py_assert19Ú@py_assert21Ú@py_assert23Ú@py_assert25Ú@py_assert27Ú@py_assert29Ú@py_assert17r>   Ú@py_format14Ú@py_format31Ú@py_format33Ú@py_format34Ú@py_format36r²   Ú@py_format1r)   r¶   r­   s,                                              @r   Ú'test_searchability_of_mandatory_queriesrÓ   N   sÝ
  øè è € ð
 #Ø!|Ð!|Ð!|Ø"TÐ"TÐ"Tð	
ð 	
ð &Ø!aÐ!aÐ!aØ"HÐ"HÐ"Hð	
ð 	
ð ,Ø!iÐ!iÐ!iØ"PÐ"PÐ"Pð	
ð 	
ð€Oõ$ Ð5Ñ6Ô6ð rð rð rð rð rð rð r¹-¸4ÀÝ   uÑ-Ô-ð 	rð 	rð 	rð 	rð 	rð 	rð 	r°Ø×$Ò$Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&à'ð rñ r�Ø#×-Ò-¨mÀtÈGÄ}Ð_`ÐmuÐ=vÐ=vÑwÔwÐwÐwÐwÐwÐwÐw�Ý”z #¤+¨a¤.Ô"5Ñ6Ô6�ØŸ(š( :¨rÑ2Ô2×6Ò6°yÀ"ÑEÔE�Ý˜7‘|”|ÐY aÐY�| aÒ'ÐYÐYÑYÕYÔYÐYÐYÐYÐY�| aÐYÑYÔYÐYÕYÔYÑYÔYÐYÐYÕYÔY•sÑYÔYÐYÕYÔY•sÑYÔYÐYÐYÐYÕYÔYÑYÔYÐYÐYÕYÔY˜7ÑYÔYÐYÕYÔY˜7ÑYÔYÐYÐYÕYÔY�|ÑYÔYÕYÔY aÑYÔYÐYÐYÑYÐYÕYÔYÐ)Y°4¸´=Ð)YÐ)YÐ)YÑYÔYÐYÑYÐYÐYÐYÑYÐYÕYÕYÔYÐYÑYÔYÑYÔYÐYÐYÐYÐYÐYÐYÐYð " !œ*�Ø#ŸKšK¨°Ñ5Ô5�	Ø$(Ðk�y DÒ(ÐkÐkÐkÕkÔkÐkÐkÐkÐk�y DÐkÑkÔkÐkÕkÔkÑkÔkÐkÐkÕkÔk�yÑkÔkÐkÕkÔk�yÑkÔkÐkÐkÕkÔk DÑkÔkÐkÐkÑkÐkÕkÔkÐ*k°D¸´MÐ*kÐ*kÈyÐ*kÐ*kÐ*kÑkÔkÐkÑkÐkÐkÐkÑkÐkÕkÕkÔkÐkÑkÔkÑkÔkÐkÐkÐkÐkÐkð !ð fñ f�AØŸ5š5 Ñ,Ô,Ð2°�DØeÐe˜4œ8Ðe IÐe˜8˜8 IÑ.Ô.Ðe°(ÐeÐ.°(Ò:ÐeÐeÐeÐeÐe¸hÐeÈ!Ì%ÐeÐPXÐeÐZ\ÐeÈ%È%ÐPXÐZ\ÑJ]ÔJ]ÐeÐJ]ÔJcÐeÐJcÐJcÑJeÔJeÐe¸hÐJeÐ>eÐeÐeÐeÐeÑeÕeÔeÐeÐeÐeÐeÐ.°(ÐeÑeÔeÐeÕeÔeÑeÔeÐeÐeÕeÔe˜4ÑeÔeÐeÕeÔe˜4ÑeÔeÐeÐeÕeÔe˜8ÑeÔeÕeÔe IÑeÔeÕeÔeÐ.ÑeÔeÕeÔe°(ÑeÔeÐeÐeÑeÐeÐeÐeÐeÐeÑeÐeÐe×eÒeÐeÑeÔeÐeÐeÐeÕeÔeÐeÐeÐeÐe¸hÐJeÐeÑeÔeÕeÔe¸hÑeÔeÐeÕeÔeÑeÔeÐeÐeÕeÔeÈ!ÑeÔeÐeÕeÔeÈ!ÑeÔeÐeÐeÕeÔeÈ%ÑeÔeÕeÔeÐPXÑeÔeÕeÔeÐZ\ÑeÔeÕeÔeÐJ]ÑeÔeÕeÔeÐJcÑeÔeÕeÔeÐJeÑeÔeÐeÐeÑeÐeÐeÐeÐeÐeÑeÐeÐe×eÒeÐeÑeÔeÐeÕeÔeÐeÐeÑeÔeÐeÑeÐeÐeÐeÐeÐeÑeÐeÕeÕeÔeÐeÑeÔeÑeÔeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÑeð  ŸHšHÐ%OÐ%OÀ7È2ÈAÈ2Ä;Ð%OÑ%OÔ%OÑPÔP�	Ý"Ð"eÐ"eÐ"eÐ"eÈ4ÐPcÔKdÐ"eÑ"eÔ"eÑeÔe�Ø#ÐrÕrÔrÐ%r¨t°G¬}Ð%rÐ%rÐgpÐ%rÐ%rÑrÔrÐrÑrÐrÐrÕrÔrÑrÔrÐrÐrÕrÔr�|ÑrÔrÐrÕrÔr�|ÑrÔrÐrÐrÐrÑrÐrÕrÕrÔrÐrÑrÔrÑrÔrÐrð !ð rñ r�AØŸ5š5 ¨2Ñ.Ô.×4Ò4Ñ6Ô6�DØ!Ð"6Ô7ð rñ r˜Ø œwÐq˜w˜w™yœyÐq˜y°Ð4ÐqÐqÑqÕqÔqÐqÐqÐqÐq˜y°ÐqÑqÔqÐqÕqÔqÑqÔqÐqÐqÕqÔq˜qÑqÔqÐqÕqÔq˜qÑqÔqÐqÐqÕqÔq˜wÑqÔqÕqÔq˜yÑqÔqÐqÕqÔqÑqÔqÐqÐqÕqÔq°ÑqÔqÐqÕqÔq°ÑqÔqÐqÐqÐqÐqÑqÐqÕqÔqÐ6qÀÀWÄÐ6qÐ6qÐmnÐ6qÐ6qÐ6qÑqÔqÐqÑqÐqÐqÐqÑqÐqÕqÕqÔqÐqÑqÔqÑqÔqÐqÐqÐqÐqÐqÐqÐqÑqñrñrð-rð	rð 	rð 	rñ 	rô 	rð 	rð 	rð 	rð 	rð 	rð 	rð 	rð 	rð 	rð 	rð 	rð 	rð 	rð 	rð 	rð 	rð 	rð 	røøøð 	rð 	rð 	rð 	rðrð rð rñ rô rð rð rð rð rð rð rð rð rð rð rð rð rð rð rð rð rð rð rð røøøð rð rð rð rð rð rs6   ¶_;Á]4_ß_;ß
_!	ß!_;ß$_!	ß%_;ß;
`à`c               ƒ   ó  ‡K  — dg d¢ddgdœdg d¢dgdœd	g d
¢g dœdg d¢g dœdg d¢dgdœg} t          d¦  «        4 ƒd{V —†\  }}t          ||¦  «        4 ƒd{V —†}|                     ¦   «         ƒ d{V —† | D �]Á}|                     d|d         dddœ¦  «        ƒ d{V —†}t	          j        |j        d         j        ¦  «        }|                     di ¦  «                             dg ¦  «        }t          |¦  «        }d}	||	k    }
|
�st          j        d|
fd||	f¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |	¦  «        dœz  }t          j        d|d         › d�¦  «        d z   d!|iz  }t#          t          j        |¦  «        ¦  «        ‚dx}x}
}	|d         }|                     d"d#¦  «        }d$}||k    }|s¹t          j        d%|fd&||f¦  «        d't          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd't          j        |¦  «        d(œz  }t          j        d|d         › d)|› d*�¦  «        d+z   d,|iz  }t#          t          j        |¦  «        ¦  «        ‚dx}}d-                     d.„ |dd/…         D ¦   «         ¦  «        Št)          ˆfd0„|d1         D ¦   «         ¦  «        }|s†t          j        d|d         › d2‰› �¦  «        d3z   d4d5t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd5iz  }t#          t          j        |¦  «        ¦  «        ‚|D �]`}|                     d6d7¦  «                             ¦   «         }|d8         D �]+}|j        } |¦   «         }||v}	|	�s
t          j        d9|	fd:||f¦  «        d;t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd;t          j        |¦  «        t          j        |¦  «        d<t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd<d=œz  }t          j        d|d         › d>|› d?�¦  «        d z   d!|iz  }t#          t          j        |¦  «        ¦  «        ‚dx}x}}	�Œ-�Œb�ŒÃ	 ddd¦  «        ƒd{V —† n# 1 ƒd{V —†swxY w Y   ddd¦  «        ƒd{V —† dS # 1 ƒd{V —†swxY w Y   dS )@z]Verify specialized domain queries return appropriate newly ingested facts with score >= 0.55.zAEC pricing norms)u   ThÃ´ng tÆ° 38u   cá»« LarsenzVL = 0zMR / Tu   Ä�á»‹nh SÆ¡nu   Ä�á»‹nh má»©cu
   4.753 tá»·zcache 71rp   zCAD takeoff geometry)ÚTCVN3zstroke-width: 1pxzBounding BoxÚtakeoffÚCADrn   zdatabase precision)rx   ry   zDouble-entryu	   Sá»• kÃ©pztesting workflow)zDeep MatrixzD1-D6ÚTDDztask.mdÚVerificationzMCP tools protocol)zlsp-mcpzchrome-devtools-mcpÚ
markitdownÚMCPÚgrep_searchr   Nr|   rq   rf   rJ   r}   r   rD   rE   r   r�   rP   rR   r‚   rƒ   rU   rV   r„   r…   r†   r‡   r‰   rŠ   r‹   rŒ   r�   rŽ   r�   r¡   c                 ó:   — g | ]}|                      d d¦  «        ‘ŒS r£   rK   r¤   s     r   r   z8test_searchability_of_domain_queries.<locals>.<listcomp>¯   r¥   r   r¦   c              3   óh   •K  — | ],}|                      ¦   «         ‰                      ¦   «         v V — Œ-d S r¨   r©   r«   s     €r   r®   z7test_searchability_of_domain_queries.<locals>.<genexpr>°   r¯   r   rr   r°   r±   r   r²   r‘   r’   rs   r³   rµ   r¶   r)   r·   r¸   r¹   )r   r   r$   r%   r&   r'   r(   r)   r*   rP   r+   r,   r-   r.   r/   r0   r3   r1   r2   r¼   r½   rª   )Údomain_testsr4   r5   r6   r¿   r7   r   rE   r]   r:   r^   r_   r`   rÀ   rŠ   r8   rÁ   rÂ   r²   rÒ   r–   r)   r¶   r9   r­   s                           @r   Ú$test_searchability_of_domain_queriesrà   ‚   sß  øè è € ð
 )Ø!vÐ!vÐ!vØ#/°Ð"<ð	
ð 	
ð ,Ø!aÐ!aÐ!aØ#. -ð	
ð 	
ð *Ø![Ð![Ð![Ø"$ð	
ð 	
ð (Ø![Ð![Ð![Ø"$ð	
ð 	
ð *Ø!XÐ!XÐ!XØ#0 /ð	
ð 	
ð+€Lõ8 Ð5Ñ6Ô6ð rð rð rð rð rð rð r¹-¸4ÀÝ   uÑ-Ô-ð 	rð 	rð 	rð 	rð 	rð 	rð 	r°Ø×$Ò$Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&à$ð rñ r�Ø#×-Ò-¨mÀtÈGÄ}Ð_`ÐmuÐ=vÐ=vÑwÔwÐwÐwÐwÐwÐwÐw�Ý”z #¤+¨a¤.Ô"5Ñ6Ô6�ØŸ(š( :¨rÑ2Ô2×6Ò6°yÀ"ÑEÔE�Ý˜7‘|”|ÐY aÐY�| aÒ'ÐYÐYÑYÕYÔYÐYÐYÐYÐY�| aÐYÑYÔYÐYÕYÔYÑYÔYÐYÐYÕYÔY•sÑYÔYÐYÕYÔY•sÑYÔYÐYÐYÐYÕYÔYÑYÔYÐYÐYÕYÔY˜7ÑYÔYÐYÕYÔY˜7ÑYÔYÐYÐYÕYÔY�|ÑYÔYÕYÔY aÑYÔYÐYÐYÑYÐYÕYÔYÐ)Y°4¸´=Ð)YÐ)YÐ)YÑYÔYÐYÑYÐYÐYÐYÑYÐYÕYÕYÔYÐYÑYÔYÑYÔYÐYÐYÐYÐYÐYÐYÐYà! !œ*�Ø#ŸKšK¨°Ñ5Ô5�	Ø$(Ðk�y DÒ(ÐkÐkÐkÕkÔkÐkÐkÐkÐk�y DÐkÑkÔkÐkÕkÔkÑkÔkÐkÐkÕkÔk�yÑkÔkÐkÕkÔk�yÑkÔkÐkÐkÕkÔk DÑkÔkÐkÐkÑkÐkÕkÔkÐ*k°D¸´MÐ*kÐ*kÈyÐ*kÐ*kÐ*kÑkÔkÐkÑkÐkÐkÐkÑkÐkÕkÕkÔkÐkÑkÔkÑkÔkÐkÐkÐkÐkÐkàŸHšHÐ%OÐ%OÀ7È2ÈAÈ2Ä;Ð%OÑ%OÔ%OÑPÔP�	Ý"Ð"eÐ"eÐ"eÐ"eÈ4ÐPcÔKdÐ"eÑ"eÔ"eÑeÔe�Ø#ÐrÕrÔrÐ%r¨t°G¬}Ð%rÐ%rÐgpÐ%rÐ%rÑrÔrÐrÑrÐrÐrÕrÔrÑrÔrÐrÐrÕrÔr�|ÑrÔrÐrÕrÔr�|ÑrÔrÐrÐrÐrÑrÐrÕrÕrÔrÐrÑrÔrÑrÔrÐrà ð rñ r�AØŸ5š5 ¨2Ñ.Ô.×4Ò4Ñ6Ô6�DØ!Ð"6Ô7ð rñ r˜Ø œwÐq˜w˜w™yœyÐq˜y°Ð4ÐqÐqÑqÕqÔqÐqÐqÐqÐq˜y°ÐqÑqÔqÐqÕqÔqÑqÔqÐqÐqÕqÔq˜qÑqÔqÐqÕqÔq˜qÑqÔqÐqÐqÕqÔq˜wÑqÔqÕqÔq˜yÑqÔqÐqÕqÔqÑqÔqÐqÐqÕqÔq°ÑqÔqÐqÕqÔq°ÑqÔqÐqÐqÐqÐqÑqÐqÕqÔqÐ6qÀÀWÄÐ6qÐ6qÐmnÐ6qÐ6qÐ6qÑqÔqÐqÑqÐqÐqÐqÑqÐqÕqÕqÔqÐqÑqÔqÑqÔqÐqÐqÐqÐqÐqÐqÐqÑqñrñrðrð	rð 	rð 	rñ 	rô 	rð 	rð 	rð 	rð 	rð 	rð 	rð 	rð 	rð 	rð 	rð 	rð 	rð 	rð 	rð 	rð 	rð 	rð 	røøøð 	rð 	rð 	rð 	rðrð rð rñ rô rð rð rð rð rð rð rð rð rð rð rð rð rð rð rð rð rð rð rð røøøð rð rð rð rð rð rs7   ÁU3ÁS UÔ=U3Õ
U	ÕU3ÕU	ÕU3Õ3
U=Ö U=c            	   ƒ   ó˜  K  — t          d¦  «        4 ƒd{V —†\  } }t          | |¦  «        4 ƒd{V —†}|                     ¦   «         ƒ d{V —† |                     ddddœ¦  «        ƒ d{V —†}t	          j        |j        d         j        ¦  «        }|                     di ¦  «                             d	g ¦  «        }t          |¦  «        }d}||k    }|sòt          j        d
|fd||f¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }	dd|	iz  }
t!          t          j        |
¦  «        ¦  «        ‚dx}x}}d„ |D ¦   «         }t          |¦  «        }d}||k    }|sòt          j        d
|fd||f¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }	dd|	iz  }
t!          t          j        |
¦  «        ¦  «        ‚dx}x}}|                     ddddœ¦  «        ƒ d{V —†}t	          j        |j        d         j        ¦  «        }|                     di ¦  «                             d	g ¦  «        }t          |¦  «        }d}||k    }|sòt          j        d
|fd||f¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }	dd|	iz  }
t!          t          j        |
¦  «        ¦  «        ‚dx}x}}d„ |D ¦   «         }t          |¦  «        }d}||k    }|sòt          j        d
|fd||f¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }	dd|	iz  }
t!          t          j        |
¦  «        ¦  «        ‚dx}x}}ddd¦  «        ƒd{V —† n# 1 ƒd{V —†swxY w Y   ddd¦  «        ƒd{V —† dS # 1 ƒd{V —†swxY w Y   dS )zQVerify non-DSCons memories (developer preferences, VoLamWeb rules) remain intact.r   Nr|   z'Developer prefers Python and TypeScriptrf   )rq   r~   r   rD   rE   r   r�   rP   Úresults_devrR   zassert %(py8)srV   c                 óf   — g | ].}d |                      dd¦  «                             ¦   «         v ¯,|‘Œ/S )Ú
typescriptr‘   r’   ©r*   rª   r¤   s     r   r   z<test_preservation_of_non_dscons_memories.<locals>.<listcomp>Ä   s=   € ÐbÐbÐb !°lÀaÇeÂeÈHÐVXÑFYÔFY×F_ÒF_ÑFaÔFaÐ6aÐ6a˜AÐ6aÐ6aÐ6ar   Úmatching_devz strict 0 VND budget Google CloudÚresults_vlwc                 óf   — g | ].}d |                      dd¦  «                             ¦   «         v ¯,|‘Œ/S )z0 vnd budgetr‘   r’   rå   r¤   s     r   r   z<test_preservation_of_non_dscons_memories.<locals>.<listcomp>Ì   s=   € ÐdÐdÐd !°nÈÏÊÈhÐXZÑH[ÔH[×HaÒHaÑHcÔHcÐ6cÐ6c˜AÐ6cÐ6cÐ6cr   Úmatching_vlw)r   r   r$   r%   r&   r'   r(   r)   r*   rP   r+   r,   r-   r.   r/   r0   r1   r2   )r4   r5   r6   Úres_devÚdata_devrâ   r]   r:   r^   r_   r`   ræ   Úres_vlwÚdata_vlwrç   ré   s                   r   Ú(test_preservation_of_non_dscons_memoriesrî   ¸   s:  è è € õ Ð5Ñ6Ô6ð )ð )ð )ð )ð )ð )ð )¹-¸4ÀÝ   uÑ-Ô-ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)°Ø×$Ò$Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&ð $×-Ò-¨mÐGpÐ{|Ð=}Ð=}Ñ~Ô~Ð~Ð~Ð~Ð~Ð~Ð~ˆGÝ”z '¤/°!Ô"4Ô"9Ñ:Ô:ˆHØ"Ÿ,š, z°2Ñ6Ô6×:Ò:¸9ÀbÑIÔIˆKÝ�{Ñ#Ô#Ð' aÐ'Ð# aÒ'Ð'Ð'Ð'Õ'Ô'Ð'Ð'Ð'Ð'Ð# aÐ'Ñ'Ô'Ð'Õ'Ô'Ñ'Ô'Ð'Ð'Õ'Ô'•3Ñ'Ô'Ð'Õ'Ô'•3Ñ'Ô'Ð'Ð'Ð'Õ'Ô'Ñ'Ô'Ð'Ð'Õ'Ô'�{Ñ'Ô'Ð'Õ'Ô'�{Ñ'Ô'Ð'Ð'Õ'Ô'Ð#Ñ'Ô'Õ'Ô' aÑ'Ô'Ð'Ð'Ñ'Ð'Ð'Ð'Ð'Ð'Ñ'Ð'Õ'Õ'Ô'Ð'Ñ'Ô'Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'ØbÐb {ÐbÑbÔbˆLÝ�|Ñ$Ô$Ð( qÐ(Ð$ qÒ(Ð(Ð(Ð(Õ(Ô(Ð(Ð(Ð(Ð(Ð$ qÐ(Ñ(Ô(Ð(Õ(Ô(Ñ(Ô(Ð(Ð(Õ(Ô(•3Ñ(Ô(Ð(Õ(Ô(•3Ñ(Ô(Ð(Ð(Ð(Õ(Ô(Ñ(Ô(Ð(Ð(Õ(Ô(�|Ñ(Ô(Ð(Õ(Ô(�|Ñ(Ô(Ð(Ð(Õ(Ô(Ð$Ñ(Ô(Õ(Ô( qÑ(Ô(Ð(Ð(Ñ(Ð(Ð(Ð(Ð(Ð(Ñ(Ð(Õ(Õ(Ô(Ð(Ñ(Ô(Ñ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(ð $×-Ò-¨mÐGiÐtuÐ=vÐ=vÑwÔwÐwÐwÐwÐwÐwÐwˆGÝ”z '¤/°!Ô"4Ô"9Ñ:Ô:ˆHØ"Ÿ,š, z°2Ñ6Ô6×:Ò:¸9ÀbÑIÔIˆKÝ�{Ñ#Ô#Ð' aÐ'Ð# aÒ'Ð'Ð'Ð'Õ'Ô'Ð'Ð'Ð'Ð'Ð# aÐ'Ñ'Ô'Ð'Õ'Ô'Ñ'Ô'Ð'Ð'Õ'Ô'•3Ñ'Ô'Ð'Õ'Ô'•3Ñ'Ô'Ð'Ð'Ð'Õ'Ô'Ñ'Ô'Ð'Ð'Õ'Ô'�{Ñ'Ô'Ð'Õ'Ô'�{Ñ'Ô'Ð'Ð'Õ'Ô'Ð#Ñ'Ô'Õ'Ô' aÑ'Ô'Ð'Ð'Ñ'Ð'Ð'Ð'Ð'Ð'Ñ'Ð'Õ'Õ'Ô'Ð'Ñ'Ô'Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'ØdÐd {ÐdÑdÔdˆLÝ�|Ñ$Ô$Ð( qÐ(Ð$ qÒ(Ð(Ð(Ð(Õ(Ô(Ð(Ð(Ð(Ð(Ð$ qÐ(Ñ(Ô(Ð(Õ(Ô(Ñ(Ô(Ð(Ð(Õ(Ô(•3Ñ(Ô(Ð(Õ(Ô(•3Ñ(Ô(Ð(Ð(Ð(Õ(Ô(Ñ(Ô(Ð(Ð(Õ(Ô(�|Ñ(Ô(Ð(Õ(Ô(�|Ñ(Ô(Ð(Ð(Õ(Ô(Ð$Ñ(Ô(Õ(Ô( qÑ(Ô(Ð(Ð(Ñ(Ð(Ð(Ð(Ð(Ð(Ñ(Ð(Õ(Õ(Ô(Ð(Ñ(Ô(Ñ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(ð#	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )ð )ð )ð )ð )ð )ð )ð )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð )ð )s5   ˜V9²UVÖV9Ö
V	ÖV9Ö"V	Ö#V9Ö9
W×W)Úbuiltinsr-   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter+   ÚpytestÚasyncior&   ÚsysÚmcp.client.sser   Úmcp.client.sessionr   ÚEXPECTED_FACT_CODESÚvaluesr[   Úmarkr?   ra   rk   rÓ   rà   rî   r   r   r   ú<module>rû      s¦  ðØ  € € € € € € € € € € € € €€€€Ø €€€Ø €€€Ø 
€
€
€
Ø %Ð %Ð %Ð %Ð %Ð %Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,ð _Ð^Ð^ØmÐmÐmØrÐrÐrØwÐwÐwØrÐrÐrðð Ð ð OÐNÐ2×9Ò9Ñ;Ô;ÐNÑNÔN€	à„Ôð	|ð 	|ñ Ôð	|ð „Ôðað añ Ôðað. „Ôðað añ Ôðað. „Ôð1rð 1rñ Ôð1rðf „Ôð3rð 3rñ Ôð3rðj „Ôð)ð )ñ Ôð)ð )ð )r   