xrefkit 0.7.9__tar.gz → 0.7.10__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (264) hide show
  1. {xrefkit-0.7.9/xrefkit.egg-info → xrefkit-0.7.10}/PKG-INFO +1 -1
  2. {xrefkit-0.7.9 → xrefkit-0.7.10}/pyproject.toml +1 -1
  3. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_ci_workflow_invariants.py +11 -27
  4. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_package_knowledge_resolution.py +13 -0
  5. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_xrefkit_v2_pipeline.py +16 -0
  6. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/__init__.py +1 -1
  7. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/catalog.py +9 -0
  8. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/workspace.py +4 -0
  9. {xrefkit-0.7.9 → xrefkit-0.7.10/xrefkit.egg-info}/PKG-INFO +1 -1
  10. {xrefkit-0.7.9 → xrefkit-0.7.10}/LICENSE +0 -0
  11. {xrefkit-0.7.9 → xrefkit-0.7.10}/README.md +0 -0
  12. {xrefkit-0.7.9 → xrefkit-0.7.10}/setup.cfg +0 -0
  13. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_artifact_selected_family.py +0 -0
  14. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_attention_pet.py +0 -0
  15. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_attention_pet_client_protocol.py +0 -0
  16. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_attention_pet_codex_session.py +0 -0
  17. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_attention_pet_fit.py +0 -0
  18. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_azure_connection.py +0 -0
  19. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_azure_import.py +0 -0
  20. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_azure_recovery.py +0 -0
  21. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_azure_update_candidate.py +0 -0
  22. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_azure_writer.py +0 -0
  23. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_boundary_analysis.py +0 -0
  24. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_brownfield_csharp_structure_definitions.py +0 -0
  25. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_brownfield_file_editing_protocol.py +0 -0
  26. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_business_intake_conversation_definitions.py +0 -0
  27. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_business_intake_definition.py +0 -0
  28. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_calibration_lint.py +0 -0
  29. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_catalog_preparation_definition.py +0 -0
  30. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_check_skill_knowledge_xids.py +0 -0
  31. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_cli.py +0 -0
  32. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_code_constraint_definition.py +0 -0
  33. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_collect_analyzer_sarif.py +0 -0
  34. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_compact_skill_logs.py +0 -0
  35. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_constraint_derivation_family_definition.py +0 -0
  36. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_constraint_derivation_selected_family.py +0 -0
  37. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_contribution_adoption_bytes.py +0 -0
  38. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_contribution_returns.py +0 -0
  39. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_convert_to_xrefkit_skill.py +0 -0
  40. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_cs_scope_probe.py +0 -0
  41. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_csharp_commonality.py +0 -0
  42. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_csharp_naming_profile.py +0 -0
  43. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_ctx.py +0 -0
  44. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_cutover_readiness.py +0 -0
  45. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_dashboard.py +0 -0
  46. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_database_batch_definition_migration.py +0 -0
  47. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_decision_trace.py +0 -0
  48. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_design_business_intake_selected_family.py +0 -0
  49. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_design_planning_definition_migration.py +0 -0
  50. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_dotnet_definition_candidate.py +0 -0
  51. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_editorial_family_definition.py +0 -0
  52. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_editorial_intake_definition.py +0 -0
  53. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_editorial_selected_family.py +0 -0
  54. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_embedded_startup_pack.py +0 -0
  55. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_error_policy_audit.py +0 -0
  56. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_error_policy_locator.py +0 -0
  57. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_execution_binding.py +0 -0
  58. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_existing_skill_definition_batch.py +0 -0
  59. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_final_skilldefinition_batch.py +0 -0
  60. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_flow_selected_family.py +0 -0
  61. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_fm_multiroot.py +0 -0
  62. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_gate.py +0 -0
  63. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_gateway.py +0 -0
  64. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_gateway_mcp.py +0 -0
  65. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_gateway_skill_adapter.py +0 -0
  66. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_gateway_work_items.py +0 -0
  67. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_goal_desired_state.py +0 -0
  68. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_governance_entry.py +0 -0
  69. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_governance_host.py +0 -0
  70. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_host_precheck.py +0 -0
  71. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_human_evaluation.py +0 -0
  72. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_implementation_flow_definition.py +0 -0
  73. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_implementation_review_selected_family.py +0 -0
  74. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_inbound_uploads.py +0 -0
  75. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_instruction_workflow.py +0 -0
  76. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_knowledge_relations_validator.py +0 -0
  77. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_language_review_definition.py +0 -0
  78. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_legacy_guidance.py +0 -0
  79. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_legacy_migration.py +0 -0
  80. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_legacy_resources.py +0 -0
  81. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_mcp_package_routing.py +0 -0
  82. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_mcp_setup.py +0 -0
  83. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_mcp_subagent_startup.py +0 -0
  84. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_mcp_subagent_startup_integration.py +0 -0
  85. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_ontology_assessment_validator.py +0 -0
  86. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_os_family_definition.py +0 -0
  87. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_os_knowledge_family_definition.py +0 -0
  88. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_os_selected_family.py +0 -0
  89. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_ownership.py +0 -0
  90. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_package_skill_run.py +0 -0
  91. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_packaged_native_governance.py +0 -0
  92. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_packmeta.py +0 -0
  93. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_plan_markdown.py +0 -0
  94. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_plan_observation.py +0 -0
  95. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_project_management_materialization.py +0 -0
  96. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_project_quality_baseline.py +0 -0
  97. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_qa_report_definition.py +0 -0
  98. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_reporting_profiles.py +0 -0
  99. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_reporting_quality.py +0 -0
  100. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_repository_skill_adoption.py +0 -0
  101. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_repository_startup_pack.py +0 -0
  102. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_resource_provider.py +0 -0
  103. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_runtime_contracts.py +0 -0
  104. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_sarif_to_locator.py +0 -0
  105. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_security_definition_migration.py +0 -0
  106. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_site_release_metadata.py +0 -0
  107. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_skill_definition.py +0 -0
  108. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_skill_definition_governance.py +0 -0
  109. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_skill_definition_mcp.py +0 -0
  110. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_skill_definition_runtime.py +0 -0
  111. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_skill_edits.py +0 -0
  112. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_skill_maturity_return.py +0 -0
  113. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_skill_release_compatibility.py +0 -0
  114. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_skill_runtime_audit.py +0 -0
  115. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_skillmeta.py +0 -0
  116. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_skills_sync.py +0 -0
  117. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_source_analysis_fragments.py +0 -0
  118. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_structure_catalog.py +0 -0
  119. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_subagent_startup.py +0 -0
  120. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_subagent_startup_boundaries.py +0 -0
  121. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_wbs.py +0 -0
  122. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_work_management.py +0 -0
  123. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_work_packages.py +0 -0
  124. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_workflow_family_definition.py +0 -0
  125. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_xref.py +0 -0
  126. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_xrefkit_instance.py +0 -0
  127. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_xrefkit_tools.py +0 -0
  128. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_xrefkit_v2_discovery.py +0 -0
  129. {xrefkit-0.7.9 → xrefkit-0.7.10}/tests/test_xrefkit_v2_models.py +0 -0
  130. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/__main__.py +0 -0
  131. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/attention_pet/__init__.py +0 -0
  132. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/attention_pet/__main__.py +0 -0
  133. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/attention_pet/client.py +0 -0
  134. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/attention_pet/client_protocol.py +0 -0
  135. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/attention_pet/codex_session.py +0 -0
  136. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/attention_pet/evaluator.py +0 -0
  137. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/attention_pet/model.py +0 -0
  138. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/attention_pet/presentation.py +0 -0
  139. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/attention_pet/profiles.py +0 -0
  140. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/attention_pet/scenarios.py +0 -0
  141. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/attention_pet/server.py +0 -0
  142. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/attention_pet/store.py +0 -0
  143. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/azure_connection.py +0 -0
  144. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/azure_import.py +0 -0
  145. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/azure_recovery.py +0 -0
  146. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/azure_update_candidate.py +0 -0
  147. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/azure_writer.py +0 -0
  148. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/boundary_analysis.py +0 -0
  149. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/catalog_cli.py +0 -0
  150. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/cli.py +0 -0
  151. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/contracts.py +0 -0
  152. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/ctx.py +0 -0
  153. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/dashboard.py +0 -0
  154. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/decision_trace.py +0 -0
  155. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/discovery.py +0 -0
  156. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/execution_binding.py +0 -0
  157. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/execution_binding_cli.py +0 -0
  158. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/gate.py +0 -0
  159. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/gateway.py +0 -0
  160. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/goalstate.py +0 -0
  161. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/governance_entry.py +0 -0
  162. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/governance_entry_cli.py +0 -0
  163. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/governance_host.py +0 -0
  164. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/hashing.py +0 -0
  165. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/host_precheck.py +0 -0
  166. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/import_skill.py +0 -0
  167. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/instance.py +0 -0
  168. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/loaders.py +0 -0
  169. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/__init__.py +0 -0
  170. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/audit.py +0 -0
  171. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/bootstrap.py +0 -0
  172. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/cli.py +0 -0
  173. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/client_cache.py +0 -0
  174. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/client_flow.py +0 -0
  175. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/context_registry.py +0 -0
  176. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/context_token.py +0 -0
  177. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/contracts.py +0 -0
  178. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/contribution_adoption.py +0 -0
  179. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/contribution_returns.py +0 -0
  180. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/dist.py +0 -0
  181. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/gateway.py +0 -0
  182. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/governed_overlays.py +0 -0
  183. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/inbound_uploads.py +0 -0
  184. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/knowledge_edits.py +0 -0
  185. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/legacy_guidance.py +0 -0
  186. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/legacy_migration.py +0 -0
  187. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/legacy_resources.py +0 -0
  188. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/ownership.py +0 -0
  189. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/repository.py +0 -0
  190. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/schemas.py +0 -0
  191. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/server.py +0 -0
  192. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/setup.py +0 -0
  193. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/skill_edits.py +0 -0
  194. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/skill_maturity.py +0 -0
  195. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/startup_contract_pack.py +0 -0
  196. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/subagent_startup.py +0 -0
  197. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp/update_gate_intake.py +0 -0
  198. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/mcp_tools.py +0 -0
  199. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/models/__init__.py +0 -0
  200. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/models/common.py +0 -0
  201. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/models/effective_bundle.py +0 -0
  202. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/models/human_evaluation.py +0 -0
  203. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/models/local_manifest.py +0 -0
  204. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/models/package_manifest.py +0 -0
  205. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/models/run_log.py +0 -0
  206. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/models/server_config.py +0 -0
  207. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/models/skill_definition.py +0 -0
  208. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/operations_cli.py +0 -0
  209. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/ownership.py +0 -0
  210. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/packmeta.py +0 -0
  211. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/plan_markdown.py +0 -0
  212. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/plan_observation.py +0 -0
  213. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/registry.py +0 -0
  214. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/reporting.py +0 -0
  215. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/reporting_profiles.py +0 -0
  216. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/repository_skills.py +0 -0
  217. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/resolver.py +0 -0
  218. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/resource_provider.py +0 -0
  219. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/resources/attention_pet/client-state.schema.json +0 -0
  220. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/resources/attention_pet/pet.css +0 -0
  221. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/resources/attention_pet/pet.html +0 -0
  222. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/resources/attention_pet/pet.js +0 -0
  223. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/resources/base/contracts.json +0 -0
  224. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/resources/base/current.json +0 -0
  225. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/resources/base/generations/7a682a5272907354/contracts.json +0 -0
  226. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/resources/base/generations/7a682a5272907354/model_body.md +0 -0
  227. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/resources/base/generations/9929294385ccb7b0/contracts.json +0 -0
  228. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/resources/base/generations/9929294385ccb7b0/model_body.md +0 -0
  229. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/resources/base/model_body.md +0 -0
  230. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/resources/base/startup_sources/000_agent_entry.md +0 -0
  231. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/resources/base/startup_sources/011_startup_xref_routing.md +0 -0
  232. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/resources/base/startup_sources/015_shared_memory_operations.md +0 -0
  233. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/resources/base/startup_sources/016_uncertainty_protocol.md +0 -0
  234. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/resources/base/startup_sources/017_base_and_xref_layering.md +0 -0
  235. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/resources/base/startup_sources/053_context_direction_security_guard.md +0 -0
  236. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/resources/base/startup_sources/yomiyasu_LICENSE.txt +0 -0
  237. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/resources/migration/docs/guides/062_legacy_flow_skill_migration_guide.md +0 -0
  238. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/resources/migration/knowledge/operations/130_legacy_flow_skill_migration_rules.md +0 -0
  239. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/resources/migration/knowledge/organization/160_context_direction_guard_rules.md +0 -0
  240. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/resources/migration/skills/os/legacy_flow_skill_migration/SKILL.v1.md +0 -0
  241. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/resources/migration/skills/os/legacy_flow_skill_migration/references/legacy_flow_skill_migration_template.md +0 -0
  242. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/resources/migration/skills/repository_adoption.json +0 -0
  243. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/resources/migration/tools/migrate_legacy_flow_skill.py +0 -0
  244. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/runlog.py +0 -0
  245. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/skill_definition.py +0 -0
  246. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/skill_definition_catalog.py +0 -0
  247. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/skill_definition_governance.py +0 -0
  248. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/skillmeta.py +0 -0
  249. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/skillrun.py +0 -0
  250. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/skills_sync.py +0 -0
  251. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/structure_catalog.py +0 -0
  252. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/subagent_startup.py +0 -0
  253. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/tools/__init__.py +0 -0
  254. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/tools/__main__.py +0 -0
  255. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/v2_cli.py +0 -0
  256. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/wbs.py +0 -0
  257. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/work_management.py +0 -0
  258. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/work_management_view.py +0 -0
  259. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit/xref.py +0 -0
  260. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit.egg-info/SOURCES.txt +0 -0
  261. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit.egg-info/dependency_links.txt +0 -0
  262. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit.egg-info/entry_points.txt +0 -0
  263. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit.egg-info/requires.txt +0 -0
  264. {xrefkit-0.7.9 → xrefkit-0.7.10}/xrefkit.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xrefkit
3
- Version: 0.7.9
3
+ Version: 0.7.10
4
4
  Summary: Portable XID, Skill, Knowledge, workflow, and MCP runtime for XRefKit
5
5
  Author: synthaicode
6
6
  License: MIT License
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "xrefkit"
7
- version = "0.7.9"
7
+ version = "0.7.10"
8
8
  description = "Portable XID, Skill, Knowledge, workflow, and MCP runtime for XRefKit"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -18,34 +18,18 @@ PACKAGES = {
18
18
  }
19
19
 
20
20
 
21
- @pytest.mark.parametrize("stop_status,remains,expected", [
22
- (0, False, 0), (1, False, 0), (1, True, 1), (2, False, 2),
21
+ @pytest.mark.parametrize("filename", [
22
+ "python-package.yml",
23
+ "python-skill-project-management-package.yml",
23
24
  ])
24
- def test_core_updater_stop_handles_exit_race_without_hiding_errors(stop_status, remains, expected):
25
- bash = shutil.which("bash")
26
- if Path("C:/Program Files/Git/bin/bash.exe").is_file():
27
- bash = "C:/Program Files/Git/bin/bash.exe"
28
- if not bash:
29
- pytest.skip("Bash is required to execute the workflow stop block")
30
- steps = workflow("python-package.yml")["jobs"]["artifact-inspection"]["steps"]
31
- update = next(s["run"] for s in steps if "sudo apt-get install --yes clamav" in s.get("run", ""))
32
- block = update.split("# Package installation", 1)[1].split("# A failed definition update", 1)[0]
33
- block = "# Package installation" + block
34
- mocks = f"""
35
- set -euo pipefail
36
- calls=0
37
- pgrep() {{
38
- calls=$((calls + 1))
39
- if [ "$calls" -eq 1 ]; then return 0; fi
40
- return {0 if remains else 1}
41
- }}
42
- sudo() {{ return {stop_status}; }}
43
- sleep() {{ :; }}
44
- """
45
- result = subprocess.run([bash, "-c", mocks + block + "\necho stop-complete\n"],
46
- capture_output=True, text=True)
47
- assert result.returncode == expected, result.stdout + result.stderr
48
- assert ("stop-complete" in result.stdout) == (expected == 0)
25
+ def test_release_artifact_inspection_uses_verified_fresh_clamav(filename):
26
+ steps = workflow(filename)["jobs"]["artifact-inspection"]["steps"]
27
+ assert any(step.get("run") == "bash tools/scan_python_artifacts.sh dist/" for step in steps)
28
+ script = (WORKFLOWS.parents[1] / "tools/scan_python_artifacts.sh").read_text(encoding="utf-8")
29
+ assert "sha256sum --check" in script
30
+ assert "--fail-if-cvd-older-than=1" in script
31
+ assert script.index("sha256sum --check") < script.index('"${clamav_bin}/freshclam"')
32
+ assert script.index('"${clamav_bin}/freshclam"') < script.index('"${clamav_bin}/clamscan"')
49
33
 
50
34
 
51
35
  def workflow(filename):
@@ -191,3 +191,16 @@ def test_prefixed_native_startup_identity_cannot_shadow_core(tmp_path):
191
191
  catalog.discovered_packages[0].manifest.provides.knowledge[0].xid = "xid-0B5C58B5E5B2"
192
192
  with pytest.raises(ValueError, match="core startup XID"):
193
193
  catalog.get_document_by_xid("xid-0B5C58B5E5B2")
194
+
195
+
196
+ def test_native_seed_resolves_prefixed_package_asset(tmp_path):
197
+ catalog = package_catalog(tmp_path)
198
+ package = catalog.discovered_packages[0]
199
+ package.manifest.provides.knowledge[0].xid = "xid-7A2F4C8D1701"
200
+ bare = catalog.get_document_by_xid("7A2F4C8D1701")
201
+ prefixed = catalog.get_document_by_xid("xid-7A2F4C8D1701")
202
+ assert bare["content_hash"] == prefixed["content_hash"]
203
+ assert bare["content"] == prefixed["content"]
204
+
205
+ duplicate = replace(catalog, discovered_packages=(package, package))
206
+ assert duplicate.get_document_by_xid("7A2F4C8D1701")["error"] == "xid_conflict"
@@ -533,3 +533,19 @@ def test_repository_csharp_package_resolves_local_csharp_review(tmp_path: Path)
533
533
  assert "applied_skills" in bundle.required_outputs
534
534
  assert "xid-branch-csharp-review-async-synchronization" in bundle.references.branches
535
535
  assert "xid-project-csharp-current-code-scope" in bundle.references.knowledge
536
+
537
+
538
+ def test_registry_loads_split_contract_from_mixed_package(tmp_path):
539
+ package_manifest, local_manifest = _sample_workspace(tmp_path)
540
+ manifest = yaml.safe_load(package_manifest.read_text(encoding="utf-8"))
541
+ native_path = "skills/investigation_flow/SKILL.v1.md"
542
+ _write(package_manifest.parent / native_path, (REPO_ROOT / native_path).read_text(encoding="utf-8"))
543
+ manifest["provides"]["skills"].append({
544
+ "id": "investigation_flow",
545
+ "xid": "E8B2D6A4C190",
546
+ "path": native_path,
547
+ })
548
+ _write_yaml(package_manifest, manifest)
549
+
550
+ registry = build_registry(package_manifests=[package_manifest], local_manifest_path=local_manifest)
551
+ assert registry.skills.require("xddp.design.change_design").definition.entry.path == "skills/change_design/entry.md"
@@ -2,4 +2,4 @@
2
2
 
3
3
  __all__ = ["__version__"]
4
4
 
5
- __version__ = "0.7.9"
5
+ __version__ = "0.7.10"
@@ -1299,11 +1299,20 @@ class XRefCatalog:
1299
1299
  if local_xid == xid
1300
1300
  )
1301
1301
  package_documents = {}
1302
+ package_aliases = []
1303
+ native_identity = _native_xid_identity(xid)
1302
1304
  for package, asset_xid, path, _kind in self._package_assets():
1303
1305
  if asset_xid == xid:
1304
1306
  text = read_text(path)
1305
1307
  matches.append((path, text))
1306
1308
  package_documents[path] = self._package_document(package, xid, path, text)
1309
+ elif _native_xid_identity(asset_xid) == native_identity:
1310
+ package_aliases.append((package, path))
1311
+ if not matches:
1312
+ for package, path in package_aliases:
1313
+ text = read_text(path)
1314
+ matches.append((path, text))
1315
+ package_documents[path] = self._package_document(package, xid, path, text)
1307
1316
  if package_documents:
1308
1317
  # Installed packages cannot shadow a core migration document merely
1309
1318
  # because the consumer repository does not contain that document.
@@ -67,6 +67,10 @@ def build_registry(
67
67
  registry.add_package(manifest, package_root)
68
68
  for provided in manifest.provides.skills:
69
69
  skill_path = _contained_path(package_root, provided.path, label=f"package skill {provided.id}")
70
+ # The effective Skill resolver composes split YAML contracts.
71
+ # Native Markdown Skills are registered by the MCP catalog.
72
+ if skill_path.suffix.lower() == ".md":
73
+ continue
70
74
  skill = load_skill_definition(skill_path)
71
75
  _validate_skill_paths(package_root, skill)
72
76
  registry.add_package_skill(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xrefkit
3
- Version: 0.7.9
3
+ Version: 0.7.10
4
4
  Summary: Portable XID, Skill, Knowledge, workflow, and MCP runtime for XRefKit
5
5
  Author: synthaicode
6
6
  License: MIT License
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes