xrefkit 0.7.8__tar.gz → 0.7.9__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.8/xrefkit.egg-info → xrefkit-0.7.9}/PKG-INFO +1 -1
  2. {xrefkit-0.7.8 → xrefkit-0.7.9}/pyproject.toml +1 -1
  3. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_package_knowledge_resolution.py +27 -0
  4. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/__init__.py +1 -1
  5. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/catalog.py +10 -3
  6. {xrefkit-0.7.8 → xrefkit-0.7.9/xrefkit.egg-info}/PKG-INFO +1 -1
  7. {xrefkit-0.7.8 → xrefkit-0.7.9}/LICENSE +0 -0
  8. {xrefkit-0.7.8 → xrefkit-0.7.9}/README.md +0 -0
  9. {xrefkit-0.7.8 → xrefkit-0.7.9}/setup.cfg +0 -0
  10. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_artifact_selected_family.py +0 -0
  11. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_attention_pet.py +0 -0
  12. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_attention_pet_client_protocol.py +0 -0
  13. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_attention_pet_codex_session.py +0 -0
  14. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_attention_pet_fit.py +0 -0
  15. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_azure_connection.py +0 -0
  16. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_azure_import.py +0 -0
  17. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_azure_recovery.py +0 -0
  18. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_azure_update_candidate.py +0 -0
  19. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_azure_writer.py +0 -0
  20. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_boundary_analysis.py +0 -0
  21. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_brownfield_csharp_structure_definitions.py +0 -0
  22. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_brownfield_file_editing_protocol.py +0 -0
  23. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_business_intake_conversation_definitions.py +0 -0
  24. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_business_intake_definition.py +0 -0
  25. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_calibration_lint.py +0 -0
  26. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_catalog_preparation_definition.py +0 -0
  27. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_check_skill_knowledge_xids.py +0 -0
  28. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_ci_workflow_invariants.py +0 -0
  29. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_cli.py +0 -0
  30. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_code_constraint_definition.py +0 -0
  31. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_collect_analyzer_sarif.py +0 -0
  32. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_compact_skill_logs.py +0 -0
  33. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_constraint_derivation_family_definition.py +0 -0
  34. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_constraint_derivation_selected_family.py +0 -0
  35. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_contribution_adoption_bytes.py +0 -0
  36. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_contribution_returns.py +0 -0
  37. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_convert_to_xrefkit_skill.py +0 -0
  38. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_cs_scope_probe.py +0 -0
  39. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_csharp_commonality.py +0 -0
  40. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_csharp_naming_profile.py +0 -0
  41. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_ctx.py +0 -0
  42. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_cutover_readiness.py +0 -0
  43. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_dashboard.py +0 -0
  44. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_database_batch_definition_migration.py +0 -0
  45. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_decision_trace.py +0 -0
  46. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_design_business_intake_selected_family.py +0 -0
  47. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_design_planning_definition_migration.py +0 -0
  48. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_dotnet_definition_candidate.py +0 -0
  49. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_editorial_family_definition.py +0 -0
  50. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_editorial_intake_definition.py +0 -0
  51. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_editorial_selected_family.py +0 -0
  52. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_embedded_startup_pack.py +0 -0
  53. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_error_policy_audit.py +0 -0
  54. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_error_policy_locator.py +0 -0
  55. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_execution_binding.py +0 -0
  56. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_existing_skill_definition_batch.py +0 -0
  57. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_final_skilldefinition_batch.py +0 -0
  58. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_flow_selected_family.py +0 -0
  59. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_fm_multiroot.py +0 -0
  60. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_gate.py +0 -0
  61. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_gateway.py +0 -0
  62. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_gateway_mcp.py +0 -0
  63. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_gateway_skill_adapter.py +0 -0
  64. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_gateway_work_items.py +0 -0
  65. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_goal_desired_state.py +0 -0
  66. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_governance_entry.py +0 -0
  67. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_governance_host.py +0 -0
  68. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_host_precheck.py +0 -0
  69. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_human_evaluation.py +0 -0
  70. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_implementation_flow_definition.py +0 -0
  71. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_implementation_review_selected_family.py +0 -0
  72. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_inbound_uploads.py +0 -0
  73. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_instruction_workflow.py +0 -0
  74. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_knowledge_relations_validator.py +0 -0
  75. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_language_review_definition.py +0 -0
  76. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_legacy_guidance.py +0 -0
  77. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_legacy_migration.py +0 -0
  78. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_legacy_resources.py +0 -0
  79. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_mcp_package_routing.py +0 -0
  80. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_mcp_setup.py +0 -0
  81. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_mcp_subagent_startup.py +0 -0
  82. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_mcp_subagent_startup_integration.py +0 -0
  83. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_ontology_assessment_validator.py +0 -0
  84. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_os_family_definition.py +0 -0
  85. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_os_knowledge_family_definition.py +0 -0
  86. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_os_selected_family.py +0 -0
  87. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_ownership.py +0 -0
  88. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_package_skill_run.py +0 -0
  89. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_packaged_native_governance.py +0 -0
  90. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_packmeta.py +0 -0
  91. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_plan_markdown.py +0 -0
  92. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_plan_observation.py +0 -0
  93. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_project_management_materialization.py +0 -0
  94. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_project_quality_baseline.py +0 -0
  95. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_qa_report_definition.py +0 -0
  96. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_reporting_profiles.py +0 -0
  97. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_reporting_quality.py +0 -0
  98. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_repository_skill_adoption.py +0 -0
  99. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_repository_startup_pack.py +0 -0
  100. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_resource_provider.py +0 -0
  101. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_runtime_contracts.py +0 -0
  102. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_sarif_to_locator.py +0 -0
  103. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_security_definition_migration.py +0 -0
  104. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_site_release_metadata.py +0 -0
  105. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_skill_definition.py +0 -0
  106. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_skill_definition_governance.py +0 -0
  107. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_skill_definition_mcp.py +0 -0
  108. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_skill_definition_runtime.py +0 -0
  109. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_skill_edits.py +0 -0
  110. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_skill_maturity_return.py +0 -0
  111. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_skill_release_compatibility.py +0 -0
  112. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_skill_runtime_audit.py +0 -0
  113. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_skillmeta.py +0 -0
  114. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_skills_sync.py +0 -0
  115. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_source_analysis_fragments.py +0 -0
  116. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_structure_catalog.py +0 -0
  117. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_subagent_startup.py +0 -0
  118. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_subagent_startup_boundaries.py +0 -0
  119. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_wbs.py +0 -0
  120. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_work_management.py +0 -0
  121. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_work_packages.py +0 -0
  122. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_workflow_family_definition.py +0 -0
  123. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_xref.py +0 -0
  124. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_xrefkit_instance.py +0 -0
  125. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_xrefkit_tools.py +0 -0
  126. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_xrefkit_v2_discovery.py +0 -0
  127. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_xrefkit_v2_models.py +0 -0
  128. {xrefkit-0.7.8 → xrefkit-0.7.9}/tests/test_xrefkit_v2_pipeline.py +0 -0
  129. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/__main__.py +0 -0
  130. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/attention_pet/__init__.py +0 -0
  131. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/attention_pet/__main__.py +0 -0
  132. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/attention_pet/client.py +0 -0
  133. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/attention_pet/client_protocol.py +0 -0
  134. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/attention_pet/codex_session.py +0 -0
  135. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/attention_pet/evaluator.py +0 -0
  136. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/attention_pet/model.py +0 -0
  137. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/attention_pet/presentation.py +0 -0
  138. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/attention_pet/profiles.py +0 -0
  139. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/attention_pet/scenarios.py +0 -0
  140. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/attention_pet/server.py +0 -0
  141. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/attention_pet/store.py +0 -0
  142. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/azure_connection.py +0 -0
  143. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/azure_import.py +0 -0
  144. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/azure_recovery.py +0 -0
  145. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/azure_update_candidate.py +0 -0
  146. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/azure_writer.py +0 -0
  147. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/boundary_analysis.py +0 -0
  148. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/catalog_cli.py +0 -0
  149. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/cli.py +0 -0
  150. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/contracts.py +0 -0
  151. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/ctx.py +0 -0
  152. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/dashboard.py +0 -0
  153. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/decision_trace.py +0 -0
  154. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/discovery.py +0 -0
  155. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/execution_binding.py +0 -0
  156. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/execution_binding_cli.py +0 -0
  157. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/gate.py +0 -0
  158. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/gateway.py +0 -0
  159. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/goalstate.py +0 -0
  160. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/governance_entry.py +0 -0
  161. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/governance_entry_cli.py +0 -0
  162. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/governance_host.py +0 -0
  163. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/hashing.py +0 -0
  164. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/host_precheck.py +0 -0
  165. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/import_skill.py +0 -0
  166. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/instance.py +0 -0
  167. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/loaders.py +0 -0
  168. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/__init__.py +0 -0
  169. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/audit.py +0 -0
  170. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/bootstrap.py +0 -0
  171. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/cli.py +0 -0
  172. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/client_cache.py +0 -0
  173. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/client_flow.py +0 -0
  174. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/context_registry.py +0 -0
  175. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/context_token.py +0 -0
  176. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/contracts.py +0 -0
  177. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/contribution_adoption.py +0 -0
  178. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/contribution_returns.py +0 -0
  179. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/dist.py +0 -0
  180. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/gateway.py +0 -0
  181. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/governed_overlays.py +0 -0
  182. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/inbound_uploads.py +0 -0
  183. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/knowledge_edits.py +0 -0
  184. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/legacy_guidance.py +0 -0
  185. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/legacy_migration.py +0 -0
  186. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/legacy_resources.py +0 -0
  187. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/ownership.py +0 -0
  188. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/repository.py +0 -0
  189. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/schemas.py +0 -0
  190. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/server.py +0 -0
  191. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/setup.py +0 -0
  192. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/skill_edits.py +0 -0
  193. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/skill_maturity.py +0 -0
  194. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/startup_contract_pack.py +0 -0
  195. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/subagent_startup.py +0 -0
  196. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp/update_gate_intake.py +0 -0
  197. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/mcp_tools.py +0 -0
  198. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/models/__init__.py +0 -0
  199. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/models/common.py +0 -0
  200. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/models/effective_bundle.py +0 -0
  201. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/models/human_evaluation.py +0 -0
  202. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/models/local_manifest.py +0 -0
  203. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/models/package_manifest.py +0 -0
  204. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/models/run_log.py +0 -0
  205. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/models/server_config.py +0 -0
  206. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/models/skill_definition.py +0 -0
  207. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/operations_cli.py +0 -0
  208. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/ownership.py +0 -0
  209. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/packmeta.py +0 -0
  210. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/plan_markdown.py +0 -0
  211. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/plan_observation.py +0 -0
  212. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/registry.py +0 -0
  213. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/reporting.py +0 -0
  214. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/reporting_profiles.py +0 -0
  215. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/repository_skills.py +0 -0
  216. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/resolver.py +0 -0
  217. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/resource_provider.py +0 -0
  218. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/resources/attention_pet/client-state.schema.json +0 -0
  219. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/resources/attention_pet/pet.css +0 -0
  220. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/resources/attention_pet/pet.html +0 -0
  221. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/resources/attention_pet/pet.js +0 -0
  222. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/resources/base/contracts.json +0 -0
  223. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/resources/base/current.json +0 -0
  224. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/resources/base/generations/7a682a5272907354/contracts.json +0 -0
  225. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/resources/base/generations/7a682a5272907354/model_body.md +0 -0
  226. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/resources/base/generations/9929294385ccb7b0/contracts.json +0 -0
  227. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/resources/base/generations/9929294385ccb7b0/model_body.md +0 -0
  228. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/resources/base/model_body.md +0 -0
  229. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/resources/base/startup_sources/000_agent_entry.md +0 -0
  230. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/resources/base/startup_sources/011_startup_xref_routing.md +0 -0
  231. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/resources/base/startup_sources/015_shared_memory_operations.md +0 -0
  232. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/resources/base/startup_sources/016_uncertainty_protocol.md +0 -0
  233. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/resources/base/startup_sources/017_base_and_xref_layering.md +0 -0
  234. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/resources/base/startup_sources/053_context_direction_security_guard.md +0 -0
  235. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/resources/base/startup_sources/yomiyasu_LICENSE.txt +0 -0
  236. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/resources/migration/docs/guides/062_legacy_flow_skill_migration_guide.md +0 -0
  237. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/resources/migration/knowledge/operations/130_legacy_flow_skill_migration_rules.md +0 -0
  238. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/resources/migration/knowledge/organization/160_context_direction_guard_rules.md +0 -0
  239. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/resources/migration/skills/os/legacy_flow_skill_migration/SKILL.v1.md +0 -0
  240. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/resources/migration/skills/os/legacy_flow_skill_migration/references/legacy_flow_skill_migration_template.md +0 -0
  241. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/resources/migration/skills/repository_adoption.json +0 -0
  242. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/resources/migration/tools/migrate_legacy_flow_skill.py +0 -0
  243. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/runlog.py +0 -0
  244. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/skill_definition.py +0 -0
  245. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/skill_definition_catalog.py +0 -0
  246. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/skill_definition_governance.py +0 -0
  247. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/skillmeta.py +0 -0
  248. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/skillrun.py +0 -0
  249. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/skills_sync.py +0 -0
  250. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/structure_catalog.py +0 -0
  251. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/subagent_startup.py +0 -0
  252. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/tools/__init__.py +0 -0
  253. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/tools/__main__.py +0 -0
  254. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/v2_cli.py +0 -0
  255. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/wbs.py +0 -0
  256. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/work_management.py +0 -0
  257. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/work_management_view.py +0 -0
  258. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/workspace.py +0 -0
  259. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit/xref.py +0 -0
  260. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit.egg-info/SOURCES.txt +0 -0
  261. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit.egg-info/dependency_links.txt +0 -0
  262. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit.egg-info/entry_points.txt +0 -0
  263. {xrefkit-0.7.8 → xrefkit-0.7.9}/xrefkit.egg-info/requires.txt +0 -0
  264. {xrefkit-0.7.8 → xrefkit-0.7.9}/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.8
3
+ Version: 0.7.9
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.8"
7
+ version = "0.7.9"
8
8
  description = "Portable XID, Skill, Knowledge, workflow, and MCP runtime for XRefKit"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -164,3 +164,30 @@ def test_inline_identity_mismatch_refused(tmp_path):
164
164
  path.write_text("<!-- xid: ABCDEF123456 -->\n# Wrong identity")
165
165
  with pytest.raises(ValueError, match="identity does not match"):
166
166
  catalog.expand_knowledge("xid-knowledge-rules")
167
+
168
+
169
+ @pytest.mark.parametrize(("declared", "inline", "accepted"), [
170
+ ("xid-7A2F4C8D1401", "7A2F4C8D1401", True),
171
+ ("7A2F4C8D1401", "xid-7A2F4C8D1401", True),
172
+ ("xid-7A2F4C8D1401", "7A2F4C8D1402", False),
173
+ ("xid-knowledge-rules", "knowledge-rules", False),
174
+ ("xid-7A2F4C8D1401-extra", "7A2F4C8D1401", False),
175
+ ])
176
+ def test_native_hex_inline_identity_compatibility(tmp_path, declared, inline, accepted):
177
+ catalog = package_catalog(tmp_path)
178
+ package = catalog.discovered_packages[0]
179
+ package.manifest.provides.knowledge[0].xid = declared
180
+ (package.package_root / "knowledge/rules.md").write_text(f"<!-- xid: {inline} -->\n# Rules")
181
+ if accepted:
182
+ assert catalog.get_document_by_xid(declared)["xid"] == declared
183
+ assert catalog.expand_knowledge(declared)["content"]
184
+ else:
185
+ with pytest.raises(ValueError, match="identity does not match"):
186
+ catalog.get_document_by_xid(declared)
187
+
188
+
189
+ def test_prefixed_native_startup_identity_cannot_shadow_core(tmp_path):
190
+ catalog = package_catalog(tmp_path)
191
+ catalog.discovered_packages[0].manifest.provides.knowledge[0].xid = "xid-0B5C58B5E5B2"
192
+ with pytest.raises(ValueError, match="core startup XID"):
193
+ catalog.get_document_by_xid("xid-0B5C58B5E5B2")
@@ -2,4 +2,4 @@
2
2
 
3
3
  __all__ = ["__version__"]
4
4
 
5
- __version__ = "0.7.8"
5
+ __version__ = "0.7.9"
@@ -709,7 +709,7 @@ class XRefCatalog:
709
709
  for kind, assets in groups.items():
710
710
  for asset in assets:
711
711
  path = _package_asset_path(root, asset.path)
712
- if _embedded_startup_document(asset.xid) is not None:
712
+ if _embedded_startup_document(_native_xid_identity(asset.xid)) is not None:
713
713
  raise ValueError(f"package asset conflicts with core startup XID: {asset.xid}")
714
714
  key = (asset.xid, path)
715
715
  if key not in seen:
@@ -721,7 +721,7 @@ class XRefCatalog:
721
721
  raise ValueError("package Skill identity does not match manifest")
722
722
  for fragment in [skill.entry, *skill.required_fragments, *skill.branches]:
723
723
  target = _package_asset_path(root, fragment.path)
724
- if _embedded_startup_document(fragment.xid) is not None:
724
+ if _embedded_startup_document(_native_xid_identity(fragment.xid)) is not None:
725
725
  raise ValueError(f"package fragment conflicts with core startup XID: {fragment.xid}")
726
726
  key = (fragment.xid, target)
727
727
  if key not in seen:
@@ -729,7 +729,8 @@ class XRefCatalog:
729
729
  yield package, fragment.xid, target, "fragment"
730
730
 
731
731
  def _package_document(self, package: DiscoveredSkillPackage, xid: str, path: Path, text: str) -> XRefDocument:
732
- if path.suffix.lower() == ".md" and first_xid(text) and first_xid(text) != xid:
732
+ document_xid = first_xid(text) if path.suffix.lower() == ".md" else None
733
+ if document_xid and _native_xid_identity(document_xid) != _native_xid_identity(xid):
733
734
  raise ValueError(f"package document identity does not match manifest: {xid}")
734
735
  return XRefDocument(
735
736
  xid=xid,
@@ -1720,6 +1721,12 @@ def _knowledge_entry(
1720
1721
  )
1721
1722
 
1722
1723
 
1724
+ def _native_xid_identity(xid: str) -> str:
1725
+ """Accept the legacy anchor prefix only for native 12-digit hex XIDs."""
1726
+ match = re.fullmatch(r"(?:xid-)?([0-9A-F]{12})", xid)
1727
+ return match.group(1) if match else xid
1728
+
1729
+
1723
1730
  def _package_asset_path(root: Path, relative: str) -> Path:
1724
1731
  """Manifest paths are portable relative allowlist entries, never glob roots."""
1725
1732
  portable = PurePosixPath(relative)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xrefkit
3
- Version: 0.7.8
3
+ Version: 0.7.9
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
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
File without changes
File without changes