PR测试影响分析工具

一个MCP服务器和CLI工具,用于获取GitHub拉取请求,分析测试覆盖率质量,并生成结构化报告。集成Jira以丰富票据信息,并支持多种AI提供者进行定性评估。

  • by matiassf1
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 matiassf1/Test---MCP

使用说明

#� �P�R� �T�e�s�t�i�n�g� �I�m�p�a�c�t� �A�n�a�l�y�z�e�r� � �A�n� �M�C�P� �s�e�r�v�e�r� �a�n�d� �C�L�I� �t�o�o�l� �t�h�a�t� �f�e�t�c�h�e�s� �G�i�t�H�u�b� �P�u�l�l� �R�e�q�u�e�s�t�s�,� �a�n�a�l�y�z�e�s� �t�e�s�t� �c�o�v�e�r�a�g�e� �q�u�a�l�i�t�y�,� �a�n�d� �p�r�o�d�u�c�e�s� �s�t�r�u�c�t�u�r�e�d� �r�e�p�o�r�t�s�.� �I�n�t�e�g�r�a�t�e�s� �w�i�t�h� �J�i�r�a� �f�o�r� �t�i�c�k�e�t� �e�n�r�i�c�h�m�e�n�t� �a�n�d� �s�u�p�p�o�r�t�s� �m�u�l�t�i�p�l�e� �A�I� �p�r�o�v�i�d�e�r�s� �f�o�r� �q�u�a�l�i�t�a�t�i�v�e� �a�s�s�e�s�s�m�e�n�t�.� � �#�#� �S�t�a�c�k� � �|� �L�a�y�e�r� �|� �T�e�c�h�n�o�l�o�g�y� �|� �|�-�-�-�|�-�-�-�|� �|� �R�u�n�t�i�m�e� �|� �P�y�t�h�o�n� �3�.�1�1�+� �|� �|� �M�C�P� �s�e�r�v�e�r� �|� ��f�a�s�t�m�c�p�� �(�s�t�d�i�o� �+� �H�T�T�P�/�S�S�E�)� �|� �|� �G�i�t�H�u�b� �i�n�t�e�g�r�a�t�i�o�n� �|� ��P�y�G�i�t�h�u�b�� �|� �|� �J�i�r�a� �i�n�t�e�g�r�a�t�i�o�n� �|� ��j�i�r�a�� �|� �|� �D�a�t�a� �m�o�d�e�l�s� �|� ��p�y�d�a�n�t�i�c�� �v�2� �|� �|� �C�o�n�f�i�g� �|� ��p�y�d�a�n�t�i�c�-�s�e�t�t�i�n�g�s�� �+� ��.�e�n�v�� �|� �|� �A�I� �/� �L�L�M� �|� �A�n�t�h�r�o�p�i�c� �C�l�a�u�d�e� ��� �O�p�e�n�A�I� ��� �O�p�e�n�R�o�u�t�e�r� ��� �O�l�l�a�m�a� �|� �|� �C�o�v�e�r�a�g�e� �p�r�o�v�i�d�e�r�s� �|� �p�y�t�e�s�t� �(�l�o�c�a�l�)� ��� �C�o�d�e�c�o�v� ��� �S�o�n�a�r�Q�u�b�e� ��� �J�e�s�t� �a�r�t�i�f�a�c�t�s� �|� �|� �C�L�I� �|� ��a�r�g�p�a�r�s�e�� �+� ��r�i�c�h�� �|� �|� �S�t�o�r�a�g�e� �|� �J�S�O�N� �f�i�l�e�s� �(��m�e�t�r�i�c�s�/��)� �|� � �#�#� �R�e�q�u�i�r�e�m�e�n�t�s� � �-� �P�y�t�h�o�n� �3�.�1�1�+� �-� �A� ��.�e�n�v�� �f�i�l�e� �w�i�t�h� �c�r�e�d�e�n�t�i�a�l�s� �(�s�e�e� �b�e�l�o�w�)� � ���� �G�I�T�H�U�B�_�T�O�K�E�N�=�g�h�p�_�.�.�.� �J�I�R�A�_�U�R�L�=�h�t�t�p�s�:�/�/�y�o�u�r�-�o�r�g�.�a�t�l�a�s�s�i�a�n�.�n�e�t� �J�I�R�A�_�U�S�E�R�N�A�M�E�=�y�o�u�@�e�x�a�m�p�l�e�.�c�o�m� �J�I�R�A�_�A�P�I�_�T�O�K�E�N�=�.�.�.� �A�N�T�H�R�O�P�I�C�_�A�P�I�_�K�E�Y�=�s�k�-�a�n�t�-�.�.�.� � � � � �#� �o�p�t�i�o�n�a�l� � �e�n�a�b�l�e�s� �C�l�a�u�d�e�-�b�a�s�e�d� �A�I� �a�n�a�l�y�s�i�s� �O�P�E�N�A�I�_�A�P�I�_�K�E�Y�=�s�k�-�.�.�.� � � � � � � � � � � � �#� �o�p�t�i�o�n�a�l� � �d�i�r�e�c�t� �O�p�e�n�A�I� �O�P�E�N�R�O�U�T�E�R�_�A�P�I�_�K�E�Y�=�s�k�-�o�r�-�.�.�.� � � � � �#� �o�p�t�i�o�n�a�l� � �O�p�e�n�R�o�u�t�e�r� �A�I�_�E�N�A�B�L�E�D�=�t�r�u�e� � � � � � � � � � � � � � � � � � �#� �s�e�t� �t�o� �e�n�a�b�l�e� �a�n�y� �A�I� �a�n�a�l�y�s�i�s� �C�O�N�T�E�X�T�U�A�L�_�W�O�R�K�F�L�O�W�_�A�N�A�L�Y�S�I�S�_�E�N�A�B�L�E�D�=�t�r�u�e� � � �#� �s�e�c�o�n�d� �L�L�M� �p�a�s�s�:� �J�i�r�a� �t�i�c�k�e�t�+�e�p�i�c�,� �C�o�n�f�l�u�e�n�c�e�,� �r�e�p�o� �d�o�c�s� �+� �d�i�f�f� �(�d�e�f�a�u�l�t� �t�r�u�e�)� ���� � �#�#�#� �E�f�f�e�c�t�i�v�e� �P�R� �r�e�v�i�e�w� �(�d�e�f�a�u�l�t� �p�a�t�h�)� � �T�h�e� �t�o�o�l� �i�s� �t�u�n�e�d� �f�o�r� ���t�w�o� �q�u�e�s�t�i�o�n�s���:� �(�1�)� ���D�o�e�s� �t�h�e� �c�o�d�e� �m�a�t�c�h� �t�h�e� �J�i�r�a� �t�i�c�k�e�t�?��� �(�2�)� ���C�o�u�l�d� �t�h�i�s� �c�o�n�f�l�i�c�t� �w�i�t�h� �p�r�o�d�u�c�t�i�o�n� �o�r� �d�o�m�a�i�n� �r�u�l�e�s�?��� � �-� �R�e�p�o�r�t�s� �o�p�e�n� �w�i�t�h� ���P�R� �r�e�v�i�e�w� �f�o�c�u�s��� � �a� �s�i�n�g�l�e� �t�a�b�l�e� �(�s�c�o�p�e� �v�s� �t�i�c�k�e�t�,� �r�i�s�k�,� �d�o�m�a�i�n� �s�i�g�n�a�l�s�,� �b�u�s�i�n�e�s�s�-�r�u�l�e� �h�i�n�t�s�)�.� �-� �W�i�t�h� �A�I� �o�n�,� �y�o�u� �g�e�t� ���w�o�r�k�f�l�o�w� �c�o�n�t�e�x�t� �a�n�a�l�y�s�i�s��� �+� ����D�O�M�A�I�N�_�S�T�R�U�C�T���� �m�e�r�g�e�,� �p�l�u�s� ���S�c�o�p�e� �v�s� �t�i�c�k�e�t��� �i�n�s�i�d�e� �t�h�e� �m�a�i�n� �A�I� �a�u�d�i�t� �(�s�e�e� ��s�r�c�/�a�i�_�r�e�p�o�r�t�e�r�.�p�y�� �p�r�o�m�p�t�)�.� �-� ����d�o�m�a�i�n�_�c�o�n�t�e�x�t�.�m�d���� �(�p�r�o�j�e�c�t� �r�o�o�t� �o�r� �c�w�d�,� �o�v�e�r�r�i�d�e� �w�i�t�h� ����D�O�M�A�I�N�_�C�O�N�T�E�X�T�_�P�A�T�H����)� �d�r�i�v�e�s� ���2�/���5�/���6� �h�e�u�r�i�s�t�i�c�s� ��! ���D�o�m�a�i�n� �R�i�s�k� �A�n�a�l�y�s�i�s���.� �-� ���D�e�f�a�u�l�t�s� �(�c�o�n�s�o�l�i�d�a�t�e�d�)�:��� ��d�o�m�a�i�n�_�v�e�r�i�f�y�_�b�e�h�a�v�i�o�r�_�b�e�f�o�r�e�_�h�a�r�d�=�t�r�u�e�� �a�n�d� ��d�o�m�a�i�n�_�e�v�i�d�e�n�c�e�_�v�a�l�i�d�a�t�i�o�n�_�e�n�a�b�l�e�d�=�t�r�u�e�� �s�o� �k�e�y�w�o�r�d� �h�e�u�r�i�s�t�i�c�s� �a�r�e� �c�h�e�c�k�e�d� �a�g�a�i�n�s�t� �t�h�e� ���d�i�f�f��� �a�n�d� �r�e�c�o�n�c�i�l�e�d� �w�i�t�h� �t�h�e� �w�o�r�k�f�l�o�w� �L�L�M� �w�h�e�n� �i�t� �r�e�p�o�r�t�s� �n�o� �i�n�v�a�r�i�a�n�t� �v�i�o�l�a�t�i�o�n�s� � �f�e�w�e�r� �f�a�l�s�e� �H�I�G�H� �r�i�s�k�s�.� �S�e�t� �e�i�t�h�e�r� �t�o� ��f�a�l�s�e�� �o�n�l�y� �i�f� �y�o�u� �w�a�n�t� �t�h�e� �o�l�d� � h�a�r�d� �h�e�u�r�i�s�t�i�c� �a�l�w�a�y�s� �w�i�n�s� �b�e�h�a�v�i�o�r�.� �-� ���R�e�p�o� �b�e�h�a�v�i�o�r� �s�i�g�n�a�l�s��� �(�f�u�l�l�-�r�e�p�o� �s�c�a�n� �J�S�O�N�)� �a�r�e� ���o�f�f��� �b�y� �d�e�f�a�u�l�t� �(��r�e�p�o�_�b�e�h�a�v�i�o�r�_�r�e�p�o�r�t�_�e�n�a�b�l�e�d�=�f�a�l�s�e��)�;� �t�u�r�n� �o�n� �w�h�e�n� �y�o�u� �e�x�p�l�i�c�i�t�l�y� �w�a�n�t� �t�h�a�t� �s�e�c�t�i�o�n�.� � �F�u�l�l� �c�h�e�c�k�l�i�s�t�:� ����d�o�c�s�/�P�R�-�R�E�V�I�E�W�-�F�O�C�U�S�.�m�d����.� �E�v�i�d�e�n�c�e� �l�a�y�e�r�:� ����d�o�c�s�/�E�V�I�D�E�N�C�E�-�R�E�S�O�L�U�T�I�O�N�-�L�A�Y�E�R�.�m�d����.� �D�i�f�f� �v�e�r�i�f�i�c�a�t�i�o�n�:� ����d�o�c�s�/�B�E�H�A�V�I�O�R�-�V�E�R�I�F�I�E�R�-�D�E�S�I�G�N�.�m�d����.� � ���D�o�m�a�i�n� �c�o�n�t�e�x�t� �b�u�i�l�d� �+� �a�u�t�h�o�r�i�n�g�:��� ��b�u�i�l�d�_�d�o�m�a�i�n�_�c�o�n�t�e�x�t�� �w�i�t�h� ����-�-�r�e�p�o�-�p�a�t�h���� �o�r� ����-�-�r�e�p�o�-�s�i�g�n�a�l�s�-�j�s�o�n����;� ����d�o�c�s�/�A�U�T�H�O�R�I�N�G�_�D�O�M�A�I�N�_�C�O�N�T�E�X�T�.�m�d���� �a�n�d� ����d�o�m�a�i�n�_�c�o�n�t�e�x�t�.�I�N�F�E�R�E�N�C�E�_�T�E�M�P�L�A�T�E�.�m�d����.� � �#�#� �D�e�m�o� �/� �M�C�P� �l�i�g�e�r�o� �(��P�R�_�A�N�A�L�Y�Z�E�R�_�P�R�O�F�I�L�E�=�d�e�m�o��)� � ���E�m�p�e�z��� �a�c���:��� ���[��d�o�c�s�/�D�E�M�O�-�G�U�I�A�.�m�d��]�(�d�o�c�s�/�D�E�M�O�-�G�U�I�A�.�m�d�)��� � �m�a�p�a� �d�e� �t�o�d�a� �l�a� �d�o�c�u� �d�e� �d�e�m�o�.� � �-� ���C�h�u�l�e�t�a� �1� �p���g�i�n�a�:��� �[��d�o�c�s�/�D�E�M�O�-�H�E�L�P�E�R�.�m�d��]�(�d�o�c�s�/�D�E�M�O�-�H�E�L�P�E�R�.�m�d�)� �(�e�n�v�,� �C�u�r�s�o�r�,� �t�o�o�l�s�,� �f�a�l�l�o�s�)�.� �-� ���G�u���a� �i�n�f�o�r�m�a�l��� �(�O�p�e�n�S�p�e�c�,� �d�i�a�g�r�a�m�a�,� �t�r�a�d�e�-�o�f�f�s�)�:� �[��d�o�c�s�/�D�E�M�O�-�M�C�P�-�G�U�I�D�E�.�m�d��]�(�d�o�c�s�/�D�E�M�O�-�M�C�P�-�G�U�I�D�E�.�m�d�)�.� �-� ���G�u�i���n� �r�e�u�n�i���n� �~�1�0� �m�i�n��� �(�i�n�g�l���s�)�:� �[��D�E�M�O�.�m�d��]�(�D�E�M�O�.�m�d�)�.� �-� ����P�R�_�A�N�A�L�Y�Z�E�R�_�P�R�O�F�I�L�E�=�d�e�m�o���� �(�o� ��A�N�A�L�Y�Z�E�R�_�P�R�O�F�I�L�E�=�d�e�m�o��)� � �a�n�a�l�i�z�a�d�o�r� �l�i�v�i�a�n�o�;� ���n�o� �p�i�s�a��� �v�a�r�i�a�b�l�e�s� �q�u�e� �y�a� �f�i�j�a�s�t�e� �e�n� ��.�e�n�v��.� �-� �P�l�a�n�t�i�l�l�a� �e�n�v�:� ����e�x�a�m�p�l�e�s�/�d�e�m�o�.�e�n�v�.�e�x�a�m�p�l�e���� ��! �c�o�p�i�a�r� �a� ��.�e�n�v�� �l�o�c�a�l�.� � �#�#� �I�n�s�t�a�l�l�a�t�i�o�n� � ����b�a�s�h� �p�i�p� �i�n�s�t�a�l�l� �-�r� �r�e�q�u�i�r�e�m�e�n�t�s�.�t�x�t� ���� � �#�#� �R�u�n�n�i�n�g� � �#�#�#� �A�s� �a�n� �M�C�P� �s�e�r�v�e�r� �(�s�t�d�i�o� � �C�u�r�s�o�r� �/� �C�l�a�u�d�e� �D�e�s�k�t�o�p�)� � ����b�a�s�h� �p�y�t�h�o�n� �m�c�p�_�s�e�r�v�e�r�.�p�y� ���� � �#�#�#� �A�s� �a�n� �M�C�P� �s�e�r�v�e�r� �(�H�T�T�P�/�S�S�E� � �s�h�a�r�e�d� �t�e�a�m� �a�c�c�e�s�s�)� � ����b�a�s�h� �M�C�P�_�T�R�A�N�S�P�O�R�T�=�s�s�e� �M�C�P�_�P�O�R�T�=�8�0�8�0� �p�y�t�h�o�n� �m�c�p�_�s�e�r�v�e�r�.�p�y� ���� � �#�#�#� �A�s� �a� �C�L�I� � ����b�a�s�h� �#� �A�n�a�l�y�z�e� �a� �s�i�n�g�l�e� �P�R� �p�y�t�h�o�n� �-�m� �s�r�c�.�c�l�i� �a�n�a�l�y�z�e�_�c�h�a�n�g�e� �-�-�r�e�p�o� �o�r�g�/�r�e�p�o� �-�-�p�r� �1�2�3� � �#� �A�n�a�l�y�z�e� �a�l�l� �P�R�s� �b�y� �a�n� �a�u�t�h�o�r� �(�l�a�s�t� �3�0� �d�a�y�s�)� �p�y�t�h�o�n� �-�m� �s�r�c�.�c�l�i� �a�n�a�l�y�z�e�_�a�u�t�h�o�r� �-�-�r�e�p�o� �o�r�g�/�r�e�p�o� �-�-�a�u�t�h�o�r� �u�s�e�r�n�a�m�e� � �#� �A�n�a�l�y�z�e� �a�l�l� �P�R�s� �l�i�n�k�e�d� �t�o� �a� �J�i�r�a� �E�p�i�c� �p�y�t�h�o�n� �-�m� �s�r�c�.�c�l�i� �a�n�a�l�y�z�e�_�e�p�i�c� �-�-�e�p�i�c� �P�R�O�J�-�1�2�3�4� �-�-�r�e�p�o� �o�r�g�/�r�e�p�o� � �#� �S�c�a�n� �a� �l�o�c�a�l� �c�l�o�n�e� �f�o�r� �s�t�r�u�c�t�u�r�a�l� �s�i�g�n�a�l�s� �(�g�u�a�r�d�s�,� �f�l�a�g�s�,� �t�e�s�t� �n�a�m�e�s�)� ��! �a�r�t�i�f�a�c�t�s�/�r�e�p�o�_�s�i�g�n�a�l�s�.�j�s�o�n� �#� �T�h�e�n� �a�n�a�l�y�z�e� �P�R�s� �w�i�t�h� �-�-�r�e�p�o�-�p�a�t�h� �p�o�i�n�t�i�n�g� �a�t� �t�h�a�t� �c�l�o�n�e� �t�o� �s�h�o�w� �"�R�e�p�o� �b�e�h�a�v�i�o�r� �s�i�g�n�a�l�s�"� �i�n� �t�h�e� �r�e�p�o�r�t� �p�y�t�h�o�n� �-�m� �s�r�c�.�c�l�i� �s�c�a�n�_�r�e�p�o�_�s�i�g�n�a�l�s� �-�-�p�a�t�h� �/�p�a�t�h�/�t�o�/�l�o�c�a�l�/�c�h�e�c�k�o�u�t� � �#� �G�e�n�e�r�a�t�e� �a�n� �a�g�g�r�e�g�a�t�e�d� �t�e�a�m� �s�u�m�m�a�r�y� �p�y�t�h�o�n� �-�m� �s�r�c�.�c�l�i� �g�e�n�e�r�a�t�e�_�s�u�m�m�a�r�y� �-�-�r�e�p�o� �o�r�g�/�r�e�p�o� �-�-�s�i�n�c�e� �3�0�d� �-�-�f�e�t�c�h� ���� � ���D�e�m�o� �s�c�r�i�p�t�s��� �(�f�r�o�m� �r�e�p�o� �r�o�o�t� �w�i�t�h� �v�e�n�v� �a�c�t�i�v�a�t�e�d�)�:� ��p�y�t�h�o�n� �s�c�r�i�p�t�s�/�d�e�m�o�_�p�r�.�p�y� �[�r�e�p�o�]� �[�p�r�]��,� ��p�y�t�h�o�n� �s�c�r�i�p�t�s�/�d�e�m�o�_�t�i�c�k�e�t�.�p�y� �[�t�i�c�k�e�t�]� �[�o�r�g�]��,� ��p�y�t�h�o�n� �s�c�r�i�p�t�s�/�d�e�m�o�_�a�u�t�h�o�r�.�p�y� �[�a�u�t�h�o�r�]� �[�o�r�g�]� �[�s�i�n�c�e�]�� � �s�e�e� �[�s�c�r�i�p�t�s�/�R�E�A�D�M�E�.�m�d�]�(�s�c�r�i�p�t�s�/�R�E�A�D�M�E�.�m�d�)�.� � �#�#� �M�C�P� �T�o�o�l�s� � �|� �T�o�o�l� �|� �D�e�s�c�r�i�p�t�i�o�n� �|� �|�-�-�-�|�-�-�-�|� �|� ��a�n�a�l�y�z�e�_�p�r�� �|� �F�e�t�c�h� �+� �a�n�a�l�y�z�e� �a� �s�i�n�g�l�e� �P�R�;� �p�e�r�s�i�s�t� �m�e�t�r�i�c�s� �|� �|� ��g�e�t�_�p�r�_�m�e�t�r�i�c�s�� �|� �L�o�a�d� �p�r�e�v�i�o�u�s�l�y� �p�e�r�s�i�s�t�e�d� �m�e�t�r�i�c�s� �f�o�r� �a� �P�R� �|� �|� ��g�e�t�_�r�e�p�o�_�s�u�m�m�a�r�y�� �|� �A�g�g�r�e�g�a�t�e�d� �s�u�m�m�a�r�y� �f�o�r� �a� �r�e�p�o�s�i�t�o�r�y� �|� �|� ��g�e�t�_�a�u�t�h�o�r�_�s�u�m�m�a�r�y�� �|� �P�e�r�-�a�u�t�h�o�r� �s�t�a�t�i�s�t�i�c�s� �|� �|� ��g�e�t�_�m�u�l�t�i�_�r�e�p�o�_�s�u�m�m�a�r�y�� �|� �S�u�m�m�a�r�y� �a�c�r�o�s�s� �m�u�l�t�i�p�l�e� �r�e�p�o�s� �|� �|� ��l�i�s�t�_�p�r�s�_�b�y�_�a�u�t�h�o�r�� �|� �L�i�s�t� �P�R�s� �b�y� �a�u�t�h�o�r� �(�o�n�e�-�b�y�-�o�n�e� �a�n�a�l�y�s�i�s�)� �|� �|� ��l�i�s�t�_�p�r�s�_�b�y�_�j�i�r�a�_�t�i�c�k�e�t�� �|� �L�i�s�t� �P�R�s� �l�i�n�k�e�d� �t�o� �a� �J�i�r�a� �t�i�c�k�e�t� �|� �|� ��a�n�a�l�y�z�e�_�p�r�_�b�y�_�j�i�r�a�_�t�i�c�k�e�t�� �|� �A�n�a�l�y�z�e� �P�R� �v�i�a� �J�i�r�a� �t�i�c�k�e�t� �k�e�y� �|� �|� ��a�n�a�l�y�z�e�_�e�p�i�c�� �|� �F�u�l�l� �r�e�p�o�r�t� �f�o�r� �a� �J�i�r�a� �E�p�i�c� �+� �c�h�i�l�d� �t�i�c�k�e�t�s� �+� �l�i�n�k�e�d� �P�R�s� �|� �|� ��b�a�t�c�h�_�a�n�a�l�y�z�e�_�a�u�t�h�o�r�� �|� �B�a�t�c�h� �a�n�a�l�y�z�e� �a�l�l� �P�R�s� �b�y� �a�n� �a�u�t�h�o�r� �|� �|� ��b�a�t�c�h�_�a�n�a�l�y�z�e�_�r�e�p�o�� �|� �B�a�t�c�h� �a�n�a�l�y�z�e� �a�l�l� �r�e�c�e�n�t� �P�R�s� �i�n� �a� �r�e�p�o� �|� � �#�#� �P�r�o�j�e�c�t� �S�t�r�u�c�t�u�r�e� � ���� �.� �%�%�% �m�c�p�_�s�e�r�v�e�r�.�p�y� � � � � � � � � � � �#� �F�a�s�t�M�C�P� �s�e�r�v�e�r� �e�n�t�r�y� �p�o�i�n�t� �(�s�t�d�i�o� �+� �H�T�T�P�/�S�S�E�)� �%�%�% �s�r�c�/� �% � � �%�%�% �c�l�i�.�p�y� � � � � � � � � � � � � � �#� �C�L�I� �e�n�t�r�y� �p�o�i�n�t� �(�a�r�g�p�a�r�s�e� �+� �r�i�c�h�)� �% � � �%�%�% �t�o�o�l�_�a�p�i�.�p�y� � � � � � � � � �#� �C�a�l�l�a�b�l�e� �A�P�I� �s�u�r�f�a�c�e� �(�u�s�e�d� �b�y� �M�C�P� �+� �C�L�I�)� �% � � �%�%�% �p�r�_�a�n�a�l�y�s�i�s�_�p�i�p�e�l�i�n�e�.�p�y� � �#� �O�r�c�h�e�s�t�r�a�t�e�s� �f�u�l�l� �a�n�a�l�y�s�i�s� �f�l�o�w� �% � � �%�%�% �m�o�d�e�l�s�.�p�y� � � � � � � � � � � �#� �P�y�d�a�n�t�i�c� �m�o�d�e�l�s� �(�P�R�M�e�t�r�i�c�s�,� �T�e�a�m�S�u�m�m�a�r�y�,� �& )� �% � � �%�%�% �c�o�n�f�i�g�.�p�y� � � � � � � � � � � �#� �p�y�d�a�n�t�i�c�-�s�e�t�t�i�n�g�s� �c�o�n�f�i�g� �(�.�e�n�v�)� �% � � �%�%�% �g�i�t�h�u�b�_�s�e�r�v�i�c�e�.�p�y� � � �#� �G�i�t�H�u�b� �A�P�I� �(�P�y�G�i�t�h�u�b�)� �% � � �%�%�% �j�i�r�a�_�s�e�r�v�i�c�e�.�p�y� � � � � �#� �J�i�r�a� �A�P�I� �i�n�t�e�g�r�a�t�i�o�n� �% � � �%�%�% �c�h�a�n�g�e�_�a�n�a�l�y�z�e�r�.�p�y� � �#� �D�i�f�f� �a�n�a�l�y�s�i�s� �(�p�r�o�d� �v�s� �t�e�s�t� �s�p�l�i�t�)� �% � � �%�%�% �t�e�s�t�_�d�e�t�e�c�t�o�r�.�p�y� � � � �#� �T�e�s�t� �f�i�l�e� �d�e�t�e�c�t�i�o�n� �a�n�d� �c�l�a�s�s�i�f�i�c�a�t�i�o�n� �% � � �%�%�% �m�e�t�r�i�c�s�_�e�n�g�i�n�e�.�p�y� � � �#� �S�c�o�r�i�n�g� �f�o�r�m�u�l�a� �(�0� 1�0� �q�u�a�l�i�t�y� �s�c�o�r�e�)� �% � � �%�%�% �c�o�v�e�r�a�g�e�_�r�u�n�n�e�r�.�p�y� � �#� �p�y�t�e�s�t� �c�o�v�e�r�a�g�e� �e�x�e�c�u�t�i�o�n� �% � � �%�%�% �a�r�t�i�f�a�c�t�_�c�o�v�e�r�a�g�e�.�p�y� �#� �G�i�t�H�u�b� �A�c�t�i�o�n�s� �a�r�t�i�f�a�c�t� �c�o�v�e�r�a�g�e� �% � � �%�%�% �c�o�v�e�r�a�g�e�_�p�r�o�v�i�d�e�r�s�/� �#� �C�o�d�e�c�o�v�,� �S�o�n�a�r�Q�u�b�e�,� �J�e�s�t� �p�r�o�v�i�d�e�r�s� �% � � �%�%�% �a�i�_�a�n�a�l�y�z�e�r�.�p�y� � � � � � �#� �Q�u�a�l�i�t�a�t�i�v�e� �A�I� �s�c�o�r�i�n�g� �(�C�l�a�u�d�e�/�O�p�e�n�A�I�)� �% � � �%�%�% �a�i�_�r�e�p�o�r�t�e�r�.�p�y� � � � � � �#� �L�L�M� �r�e�p�o�r�t� �g�e�n�e�r�a�t�i�o�n� �% � � �%�%�% �r�e�p�o�r�t�_�g�e�n�e�r�a�t�o�r�.�p�y� �#� �M�a�r�k�d�o�w�n� �r�e�p�o�r�t� �o�u�t�p�u�t� �% � � �%�%�% �r�e�p�o�_�a�n�a�l�y�z�e�r�/� � � � � � �#� �M�V�P�:� �s�c�a�n� �l�o�c�a�l� �r�e�p�o� ��! �r�e�p�o�_�s�i�g�n�a�l�s�.�j�s�o�n� �(�g�u�a�r�d�s�,� �f�l�a�g�s�,� �t�e�s�t�s�)� �% � � �%�%�% �s�t�o�r�a�g�e�.�p�y� � � � � � � � � � �#� �J�S�O�N�S�t�o�r�a�g�e� �b�a�c�k�e�n�d� �% � � �%�%�% �c�a�c�h�e�.�p�y� � � � � � � � � � � � �#� �G�i�t�H�u�b� �A�P�I� �r�e�s�p�o�n�s�e� �c�a�c�h�e� �%�%�% �m�e�t�r�i�c�s�/� � � � � � � � � � � � � � � � �#� �P�e�r�s�i�s�t�e�d� �P�R� �m�e�t�r�i�c�s� �(�J�S�O�N�)� �%�%�% �d�o�c�s�/� � � � � � � � � � � � � � � � � � � �#� �A�d�d�i�t�i�o�n�a�l� �d�o�c�u�m�e�n�t�a�t�i�o�n� �%�%�% �e�x�a�m�p�l�e�s�/� � � � � � � � � � � � � � � �#� �U�s�a�g�e� �e�x�a�m�p�l�e�s� �%�%�% �r�e�q�u�i�r�e�m�e�n�t�s�.�t�x�t� ���� � �#�#� �S�h�i�p�p�i�n�g� �s�i�g�n�a�l�s� �(�P�R� �r�e�p�o�r�t�s�)� � �E�a�c�h� �a�n�a�l�y�z�e�d� �P�R� �r�e�p�o�r�t� �i�n�c�l�u�d�e�s� �a�n� ���E�x�e�c�u�t�i�v�e� �s�u�m�m�a�r�y��� �w�i�t�h� �a� �m�e�r�g�e� �r�e�c�o�m�m�e�n�d�a�t�i�o�n� �(���S�h�i�p��� �/� ���S�h�i�p� �w�i�t�h� �c�o�n�d�i�t�i�o�n�s��� �/� ���R�e�v�i�e�w���)�,� �a� ���f�e�a�t�u�r�e�-�f�l�a�g� �i�n�v�e�n�t�o�r�y��� �(�f�l�a�g�s� �i�n� �p�r�o�d� �d�i�f�f� �v�s� �t�e�s�t� �d�i�f�f�s�)�,� ���l�e�g�a�c�y� �p�a�t�h� �m�a�t�c�h�e�s��� �(�s�u�b�s�t�r�i�n�g�s� �l�i�k�e� ��l�e�g�a�c�y��,� ��d�e�p�r�e�c�a�t�e�d��,� ��/�v�1�/�� � �c�o�n�f�i�g�u�r�a�b�l�e�)�,� �a�n�d� �a� ���p�r�e�-�s�h�i�p� �c�h�e�c�k�l�i�s�t���.� �S�e�t� ��l�e�g�a�c�y�_�p�a�t�h�_�s�e�g�m�e�n�t�s�� �i�n� ��.�e�n�v�� �(�c�o�m�m�a�-�s�e�p�a�r�a�t�e�d�)� �t�o� �t�u�n�e� �l�e�g�a�c�y� �d�e�t�e�c�t�i�o�n� �f�o�r� �y�o�u�r� �m�o�n�o�r�e�p�o�.� � �#�#� �A�d�d�i�t�i�o�n�a�l� �D�o�c�s� � �-� �[�A�R�C�H�I�T�E�C�T�U�R�E�.�m�d�]�(�A�R�C�H�I�T�E�C�T�U�R�E�.�m�d�)� � �s�y�s�t�e�m� �d�e�s�i�g�n�,� �l�a�y�e�r�s�,� �s�c�o�r�i�n�g� �f�o�r�m�u�l�a�,� �A�I� �p�r�o�v�i�d�e�r� �c�h�a�i�n� �-� �[�d�o�c�s�/�M�C�P�-�R�E�S�P�O�N�S�E�-�S�H�A�P�E�S�.�m�d�]�(�d�o�c�s�/�M�C�P�-�R�E�S�P�O�N�S�E�-�S�H�A�P�E�S�.�m�d�)� � �M�C�P� �t�o�o�l� �r�e�s�p�o�n�s�e� �s�c�h�e�m�a�s� �