agentbundle 0.47.1__tar.gz → 0.52.0__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 (690) hide show
  1. {agentbundle-0.47.1/agentbundle.egg-info → agentbundle-0.52.0}/PKG-INFO +104 -5
  2. {agentbundle-0.47.1 → agentbundle-0.52.0}/README-pypi.md +102 -4
  3. {agentbundle-0.47.1 → agentbundle-0.52.0}/README.md +16 -4
  4. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/catalogue-scaffold/guides/_shared/reference/catalogue-ci-contract.md +57 -12
  5. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/catalogue-scaffold/manifest.json +1 -1
  6. {agentbundle-0.47.1/agentbundle/catalogue_tooling → agentbundle-0.52.0/agentbundle/_data}/file_safety.py +3 -3
  7. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/workspace_status_engine.py +277 -139
  8. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/workspace_status_prune.py +20 -16
  9. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/projection_io.py +2 -2
  10. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/catalogue.py +20 -3
  11. agentbundle-0.52.0/agentbundle/catalogue_fetch/__init__.py +222 -0
  12. agentbundle-0.52.0/agentbundle/catalogue_fetch/direct_http.py +330 -0
  13. agentbundle-0.52.0/agentbundle/catalogue_fetch/jfrog_cli.py +1007 -0
  14. agentbundle-0.52.0/agentbundle/catalogue_fetch/models.py +50 -0
  15. {agentbundle-0.47.1/agentbundle/_data → agentbundle-0.52.0/agentbundle/catalogue_tooling}/file_safety.py +3 -3
  16. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/catalogue_tooling/initialise_self_hosted.py +229 -83
  17. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/cli.py +148 -0
  18. agentbundle-0.52.0/agentbundle/commands/catalogue_sync.py +3665 -0
  19. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/direct_source.py +2 -2
  20. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/https_catalogue.py +201 -232
  21. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/safety.py +210 -4
  22. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/statelock.py +2 -2
  23. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/version.py +1 -1
  24. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/workspace_mcp.py +224 -72
  25. {agentbundle-0.47.1 → agentbundle-0.52.0/agentbundle.egg-info}/PKG-INFO +104 -5
  26. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle.egg-info/SOURCES.txt +16 -0
  27. agentbundle-0.52.0/agentbundle.egg-info/requires.txt +4 -0
  28. {agentbundle-0.47.1 → agentbundle-0.52.0}/pyproject.toml +2 -2
  29. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_agent_plugin_projection.py +13 -2
  30. agentbundle-0.52.0/tests/contracts/test_catalogue_fetch_credential_boundary.py +504 -0
  31. agentbundle-0.52.0/tests/fixtures/catalogue_sync/adapter_contract_major_mismatch/pack.toml +6 -0
  32. agentbundle-0.52.0/tests/integration/test_jfrog_cli_contract.py +276 -0
  33. agentbundle-0.52.0/tests/integration/test_portable_catalogue_authentication.py +494 -0
  34. agentbundle-0.52.0/tests/test_workspace_mcp_git_scope.py +926 -0
  35. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/test_workspace_mcp_layout_override.py +111 -1
  36. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/test_workspace_mcp_tools.py +59 -2
  37. agentbundle-0.52.0/tests/unit/conftest.py +114 -0
  38. agentbundle-0.52.0/tests/unit/test_catalogue.py +73 -0
  39. agentbundle-0.52.0/tests/unit/test_catalogue_fetch.py +1264 -0
  40. agentbundle-0.52.0/tests/unit/test_catalogue_fetch_jfrog.py +1449 -0
  41. agentbundle-0.52.0/tests/unit/test_catalogue_sync.py +6719 -0
  42. agentbundle-0.52.0/tests/unit/test_catalogue_sync_fixture_set.py +45 -0
  43. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_catalogue_tooling_self_hosted_init.py +392 -0
  44. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_https_catalogue.py +194 -79
  45. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_safety.py +245 -0
  46. agentbundle-0.47.1/agentbundle.egg-info/requires.txt +0 -3
  47. {agentbundle-0.47.1 → agentbundle-0.52.0}/MANIFEST.in +0 -0
  48. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/__init__.py +0 -0
  49. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/__main__.py +0 -0
  50. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/__init__.py +0 -0
  51. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/adapter.schema.json +0 -0
  52. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/adapter.toml +0 -0
  53. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/agent-plugin-extension-namespaces.schema.json +0 -0
  54. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/agent-plugin-extension-namespaces.toml +0 -0
  55. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/catalogue-index.schema.json +0 -0
  56. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/catalogue-scaffold/guides/_shared/reference/catalogue-authoring-standards.md +0 -0
  57. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/catalogue-scaffold/packs/AGENTS.md +0 -0
  58. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/catalogue-scaffold/packs/CLAUDE.md +0 -0
  59. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/catalogue-scaffold/packs/README.md +0 -0
  60. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/catalogue-scaffold/packs/_example/.apm/skills/example-skill/SKILL.md +0 -0
  61. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/catalogue-scaffold/packs/_example/.apm/skills/example-skill/evals/eval_queries.json +0 -0
  62. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/catalogue-scaffold/packs/_example/.claude-plugin/plugin.json +0 -0
  63. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/catalogue-scaffold/packs/_example/README.md +0 -0
  64. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/catalogue-scaffold/packs/_example/pack.toml +0 -0
  65. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/catalogue-scaffold/profiles/AGENTS.md +0 -0
  66. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/catalogue-scaffold/profiles/CLAUDE.md +0 -0
  67. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/catalogue-scaffold/profiles/README.md +0 -0
  68. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/catalogue-scaffold/profiles/_example/README.md +0 -0
  69. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/catalogue-scaffold/profiles/_example/profile.toml +0 -0
  70. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_gemini_admissibility.py +0 -0
  71. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_pack_layout_declared_section.py +0 -0
  72. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_pack_metadata.py +0 -0
  73. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_shared_library_boundaries.py +0 -0
  74. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/catalogue.schema.json +0 -0
  75. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/close_work.py +0 -0
  76. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/cooling.py +0 -0
  77. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/distribution-routes.schema.json +0 -0
  78. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/distribution-routes.toml +0 -0
  79. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/guide.schema.json +0 -0
  80. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/install-defaults.toml +0 -0
  81. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/install-marker.py +0 -0
  82. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/knowledge-captured-observation.schema.json +0 -0
  83. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/marketplace-entry.schema.json +0 -0
  84. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/pack.schema.json +0 -0
  85. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/plugin-manifest.derived.schema.json +0 -0
  86. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/plugin-manifest.schema.json +0 -0
  87. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/profile.schema.json +0 -0
  88. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/public-contracts.txt +0 -0
  89. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/skill-manifest.schema.json +0 -0
  90. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/skill.schema.json +0 -0
  91. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/target-vocab.toml +0 -0
  92. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/vendor/agent-plugins/1.0.0/LICENSE.md +0 -0
  93. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/vendor/agent-plugins/1.0.0/PROVENANCE.md +0 -0
  94. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/vendor/agent-plugins/1.0.0/mcp.schema.json +0 -0
  95. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/vendor/agent-plugins/1.0.0/plugin.schema.json +0 -0
  96. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/_data/work_intake_refresh.py +0 -0
  97. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/bounded_metadata.py +0 -0
  98. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/__init__.py +0 -0
  99. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/__main__.py +0 -0
  100. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/adapter_root_bins.py +0 -0
  101. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/adapters/__init__.py +0 -0
  102. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/adapters/_sweep_guard.py +0 -0
  103. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/adapters/claude_code.py +0 -0
  104. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/adapters/codex.py +0 -0
  105. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/adapters/copilot.py +0 -0
  106. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/adapters/cursor.py +0 -0
  107. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/adapters/gemini.py +0 -0
  108. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/adapters/kiro.py +0 -0
  109. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/adapters/kiro_cli.py +0 -0
  110. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/adapters/kiro_ide.py +0 -0
  111. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/contract.py +0 -0
  112. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/hook_wiring_rules.py +0 -0
  113. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/lint_packs.py +0 -0
  114. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/main.py +0 -0
  115. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/phase_order.py +0 -0
  116. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/projections/__init__.py +0 -0
  117. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/projections/codex_agent_toml.py +0 -0
  118. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/projections/copilot_agent_md.py +0 -0
  119. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/projections/copilot_hooks_json.py +0 -0
  120. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/projections/direct_directory.py +0 -0
  121. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/projections/gemini_command_toml.py +0 -0
  122. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/projections/hook_id.py +0 -0
  123. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/projections/kiro_ide_hook.py +0 -0
  124. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/projections/merge_into_agent_json.py +0 -0
  125. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/projections/merge_json.py +0 -0
  126. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/projections/plugin_hooks.py +0 -0
  127. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/projections/user_merge_json.py +0 -0
  128. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/recipes/composite-agents-md.toml +0 -0
  129. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/recipes/composite-marketplace.toml +0 -0
  130. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/recipes/marketplace.toml +0 -0
  131. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/recipes/per-pack-agent-plugin.toml +0 -0
  132. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/recipes/per-pack-apm-package.toml +0 -0
  133. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/recipes/per-pack-claude-plugin.toml +0 -0
  134. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/recipes/per-pack-overlay.toml +0 -0
  135. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/recipes/self-host.toml +0 -0
  136. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/route_agent_plugin.py +0 -0
  137. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/route_apm.py +0 -0
  138. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/route_claude_plugins.py +0 -0
  139. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/route_lookup.py +0 -0
  140. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/scope_rails.py +0 -0
  141. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/self_host.py +0 -0
  142. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/shared_libs.py +0 -0
  143. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/target_resolver.py +0 -0
  144. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/user_libs.py +0 -0
  145. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/build/validate.py +0 -0
  146. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/catalogue_tooling/__init__.py +0 -0
  147. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/catalogue_tooling/archive.py +0 -0
  148. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/catalogue_tooling/build.py +0 -0
  149. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/catalogue_tooling/config.py +0 -0
  150. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/catalogue_tooling/contracts_inspector.py +0 -0
  151. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/catalogue_tooling/defaults.py +0 -0
  152. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/catalogue_tooling/diagnostics.py +0 -0
  153. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/catalogue_tooling/identity.py +0 -0
  154. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/catalogue_tooling/index_generator.py +0 -0
  155. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/catalogue_tooling/initialise.py +0 -0
  156. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/catalogue_tooling/journey_validator.py +0 -0
  157. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/catalogue_tooling/lint.py +0 -0
  158. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/catalogue_tooling/manifest.py +0 -0
  159. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/catalogue_tooling/okf_discovery.py +0 -0
  160. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/catalogue_tooling/package.py +0 -0
  161. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/catalogue_tooling/results.py +0 -0
  162. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/catalogue_tooling/self_host.py +0 -0
  163. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/catalogue_tooling/self_host_windows.py +0 -0
  164. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/catalogue_tooling/skill_spec_lint.py +0 -0
  165. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/catalogue_tooling/toml_emit.py +0 -0
  166. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/catalogue_tooling/verify.py +0 -0
  167. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/catalogue_tooling/version_ranges.py +0 -0
  168. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/categories.py +0 -0
  169. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/__init__.py +0 -0
  170. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/_common.py +0 -0
  171. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/_drop_warning.py +0 -0
  172. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/adapt.py +0 -0
  173. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/catalogue_build.py +0 -0
  174. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/catalogue_contracts.py +0 -0
  175. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/catalogue_index.py +0 -0
  176. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/catalogue_init.py +0 -0
  177. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/catalogue_lint.py +0 -0
  178. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/catalogue_package.py +0 -0
  179. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/catalogue_self_host.py +0 -0
  180. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/catalogue_sync_defaults.py +0 -0
  181. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/catalogue_tooling_stub.py +0 -0
  182. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/catalogue_verify.py +0 -0
  183. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/config.py +0 -0
  184. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/diff.py +0 -0
  185. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/docs.py +0 -0
  186. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/init_state.py +0 -0
  187. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/install.py +0 -0
  188. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/list_installed.py +0 -0
  189. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/list_packs.py +0 -0
  190. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/list_profiles.py +0 -0
  191. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/list_targets.py +0 -0
  192. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/oplog_cmd.py +0 -0
  193. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/pack_config_cmd.py +0 -0
  194. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/pack_evals.py +0 -0
  195. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/package_catalogue.py +0 -0
  196. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/profile.py +0 -0
  197. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/reconcile.py +0 -0
  198. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/render.py +0 -0
  199. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/scaffold.py +0 -0
  200. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/show.py +0 -0
  201. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/uninstall.py +0 -0
  202. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/upgrade.py +0 -0
  203. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/commands/validate.py +0 -0
  204. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/config.py +0 -0
  205. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/direct_install.py +0 -0
  206. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/direct_source_acquisition.py +0 -0
  207. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/direct_source_state.py +0 -0
  208. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/direct_validate.py +0 -0
  209. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/local_exclude.py +0 -0
  210. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/oplog.py +0 -0
  211. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/pack_inventory.py +0 -0
  212. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/render.py +0 -0
  213. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/scaffold.py +0 -0
  214. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/scope.py +0 -0
  215. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/source_defaults.py +0 -0
  216. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/system_trust.py +0 -0
  217. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle/user_config.py +0 -0
  218. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle.egg-info/dependency_links.txt +0 -0
  219. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle.egg-info/entry_points.txt +0 -0
  220. {agentbundle-0.47.1 → agentbundle-0.52.0}/agentbundle.egg-info/top_level.txt +0 -0
  221. {agentbundle-0.47.1 → agentbundle-0.52.0}/conftest.py +0 -0
  222. {agentbundle-0.47.1 → agentbundle-0.52.0}/setup.cfg +0 -0
  223. {agentbundle-0.47.1 → agentbundle-0.52.0}/templates/install-marker.py +0 -0
  224. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/__init__.py +0 -0
  225. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/_direct_acquisition.py +0 -0
  226. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/_support.py +0 -0
  227. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/__init__.py +0 -0
  228. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/fixtures/README.md +0 -0
  229. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/fixtures/claude-code-2.1.226-hook-events.json +0 -0
  230. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/fixtures/claude-code-2.1.228-hook-events.json +0 -0
  231. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/fixtures/packs/core/.apm/agents/bar.md +0 -0
  232. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/fixtures/packs/core/.apm/commands/qux.md +0 -0
  233. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/fixtures/packs/core/.apm/hook-wiring/baz.toml +0 -0
  234. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/fixtures/packs/core/.apm/hook-wiring/qux.toml +0 -0
  235. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/fixtures/packs/core/.apm/hooks/baz.py +0 -0
  236. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/fixtures/packs/core/.apm/hooks/baz.sh +0 -0
  237. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/fixtures/packs/core/.apm/skills/example/SKILL.md +0 -0
  238. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/fixtures/packs/core/.claude-plugin/plugin.json +0 -0
  239. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/fixtures/packs/core/pack.toml +0 -0
  240. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/fixtures/packs/governance-extras/.apm/skills/example/SKILL.md +0 -0
  241. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/fixtures/packs/governance-extras/.claude-plugin/plugin.json +0 -0
  242. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/fixtures/packs/governance-extras/pack.toml +0 -0
  243. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/fixtures/packs/monorepo-extras/.apm/skills/example/SKILL.md +0 -0
  244. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/fixtures/packs/monorepo-extras/.claude-plugin/plugin.json +0 -0
  245. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/fixtures/packs/monorepo-extras/pack.toml +0 -0
  246. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/fixtures/packs/product-documentation/.apm/skills/example/SKILL.md +0 -0
  247. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/fixtures/packs/product-documentation/.claude-plugin/plugin.json +0 -0
  248. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/fixtures/packs/product-documentation/pack.toml +0 -0
  249. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/.apm/skills/example/SKILL.md +0 -0
  250. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/.claude-plugin/plugin.json +0 -0
  251. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/pack.toml +0 -0
  252. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/fixtures/recipes/bogus-target.toml +0 -0
  253. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_adapter_claude_code.py +0 -0
  254. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_adapter_codex.py +0 -0
  255. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_adapter_copilot.py +0 -0
  256. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_adapter_cursor.py +0 -0
  257. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_adapter_gemini.py +0 -0
  258. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_adapter_kiro.py +0 -0
  259. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_adapter_kiro_alias.py +0 -0
  260. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_adapter_kiro_cli.py +0 -0
  261. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_adapter_kiro_ide.py +0 -0
  262. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_adapter_root_bins_projection.py +0 -0
  263. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_agent_boundary_metadata_projection.py +0 -0
  264. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_build_ships_seeds.py +0 -0
  265. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_contract.py +0 -0
  266. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_contract_scope.py +0 -0
  267. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_contract_v07.py +0 -0
  268. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_contract_v08.py +0 -0
  269. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_direct_directory_cleanup.py +0 -0
  270. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_distribution_route_contract.py +0 -0
  271. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_distribution_route_golden.py +0 -0
  272. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_distribution_route_resolution.py +0 -0
  273. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_end_to_end_build.py +0 -0
  274. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_hook_wiring_rules.py +0 -0
  275. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_lint_packs.py +0 -0
  276. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_load_pack_hook_wiring_safely.py +0 -0
  277. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_pack_schema.py +0 -0
  278. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_pack_schema_allowed_adapters.py +0 -0
  279. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_pack_schema_install.py +0 -0
  280. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_pipeline.py +0 -0
  281. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_plugin_hooks.py +0 -0
  282. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_plugin_manifest_schema.py +0 -0
  283. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_plugin_publication_gates.py +0 -0
  284. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_policy_registry_projection.py +0 -0
  285. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_projectable_subset.py +0 -0
  286. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_projection_io.py +0 -0
  287. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_projections_merge_json.py +0 -0
  288. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_route_lookup.py +0 -0
  289. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_scope_rails.py +0 -0
  290. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_security.py +0 -0
  291. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_self_host_check.py +0 -0
  292. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_self_host_fixture_guard.py +0 -0
  293. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_self_host_metadata_policy.py +0 -0
  294. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_self_host_recipe_config.py +0 -0
  295. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_sequential_implementer_dispatch_projection.py +0 -0
  296. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_shared_libs_projection.py +0 -0
  297. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_shared_prefix_contract.py +0 -0
  298. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_user_libs_projection.py +0 -0
  299. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_validate.py +0 -0
  300. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/build_pipeline/test_writers_emit_lf.py +0 -0
  301. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/conftest.py +0 -0
  302. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/contracts/test_agentbundle_show_schema.py +0 -0
  303. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/contracts/test_skill_schema.py +0 -0
  304. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/adapt/.adapt-discovery.toml +0 -0
  305. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/adapt/values.toml +0 -0
  306. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/blank_catalogue/.claude-plugin/marketplace.json +0 -0
  307. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/blank_catalogue/catalogue.toml +0 -0
  308. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/blank_catalogue/packs/.gitkeep +0 -0
  309. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/blank_catalogue/packs/_example/.apm/skills/example-skill/SKILL.md +0 -0
  310. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/blank_catalogue/packs/_example/.claude-plugin/plugin.json +0 -0
  311. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/blank_catalogue/packs/_example/README.md +0 -0
  312. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/blank_catalogue/packs/_example/evals/eval_queries.json +0 -0
  313. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/blank_catalogue/packs/_example/pack.toml +0 -0
  314. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/blank_catalogue/profiles/.gitkeep +0 -0
  315. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/blank_catalogue/profiles/_example/README.md +0 -0
  316. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/blank_catalogue/profiles/_example/profile.toml +0 -0
  317. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/brownfield/values.toml +0 -0
  318. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/brownfield-adapt/AGENTS.md +0 -0
  319. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/brownfield-adapt/AGENTS.upstream.md +0 -0
  320. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/brownfield-adapt/DESIGN.md +0 -0
  321. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/brownfield-adapt/EXPECTED_TREE.md +0 -0
  322. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/brownfield-adapt/docs/CHARTER.md +0 -0
  323. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/brownfield-adapt/docs/guides/how-to/index.md +0 -0
  324. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/brownfield-adapt/docs/howto/getting-started.md +0 -0
  325. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/brownfield-adapt-expected/AGENTS.md +0 -0
  326. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/brownfield-adapt-expected/docs/CHARTER.md +0 -0
  327. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/brownfield-adapt-user-home/.agentbundle/.adapt-discovery.toml +0 -0
  328. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/brownfield-adapt-user-home/.agentbundle/state.toml +0 -0
  329. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/catalogue_wave4/catalogue.toml +0 -0
  330. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/catalogue_wave4/packs/pack-with-journey/.apm/hook-wiring/example.json +0 -0
  331. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/catalogue_wave4/packs/pack-with-journey/.apm/skills/example-skill/SKILL.md +0 -0
  332. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/catalogue_wave4/packs/pack-with-journey/.apm/skills/example-skill/scripts/run.py +0 -0
  333. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/catalogue_wave4/packs/pack-with-journey/JOURNEY.md +0 -0
  334. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/catalogue_wave4/packs/pack-with-journey/pack.toml +0 -0
  335. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/catalogue_wave4/packs/pack-without-journey/pack.toml +0 -0
  336. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/catalogue_wave4/profiles/test-profile.toml +0 -0
  337. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/cognitive-load-hosts.json +0 -0
  338. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/creds/skills/argv-flag/SKILL.md +0 -0
  339. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/creds/skills/argv-flag/scripts/cli.py +0 -0
  340. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/creds/skills/argv-flag-derived/SKILL.md +0 -0
  341. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/creds/skills/argv-flag-derived/scripts/cli.py +0 -0
  342. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/creds/skills/argv-flag-normalised/SKILL.md +0 -0
  343. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/creds/skills/argv-flag-normalised/scripts/cli.py +0 -0
  344. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/creds/skills/conforming/SKILL.md +0 -0
  345. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/creds/skills/conforming/scripts/cli.py +0 -0
  346. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/creds/skills/dotfile-grep/SKILL.md +0 -0
  347. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/creds/skills/dotfile-grep/scripts/leak.py +0 -0
  348. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/creds/skills/dotfile-with-optout/SKILL.md +0 -0
  349. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/creds/skills/dotfile-with-optout/scripts/legit.py +0 -0
  350. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/creds/skills/mcp-server-headers/SKILL.md +0 -0
  351. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/creds/skills/mcp-server-headers/scripts/cli.py +0 -0
  352. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/creds/skills/missing-dont-block/SKILL.md +0 -0
  353. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/direct/ac35_corpus_verdicts.json +0 -0
  354. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/direct/golden_state_0_5.toml +0 -0
  355. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/distribution-routes/golden.json +0 -0
  356. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/distribution-routes/witness-packs/portable/.apm/skills/example/SKILL.md +0 -0
  357. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/distribution-routes/witness-packs/portable/pack.toml +0 -0
  358. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/external_catalogue/.claude-plugin/marketplace.json +0 -0
  359. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/external_catalogue/AGENTS.md +0 -0
  360. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/external_catalogue/LICENSE-APACHE +0 -0
  361. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/external_catalogue/LICENSE-MIT +0 -0
  362. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/external_catalogue/agentbundle/_data/install-defaults.toml +0 -0
  363. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/external_catalogue/catalogue.toml +0 -0
  364. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/external_catalogue/packs/alpha/.apm/skills/example/SKILL.md +0 -0
  365. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/external_catalogue/packs/alpha/.claude-plugin/plugin.json +0 -0
  366. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/external_catalogue/packs/alpha/pack.toml +0 -0
  367. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/external_catalogue/packs/alpha/seeds/AGENTS.md +0 -0
  368. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/external_catalogue/packs/beta/.claude-plugin/plugin.json +0 -0
  369. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/external_catalogue/packs/beta/pack.toml +0 -0
  370. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/external_catalogue/profiles/example.toml +0 -0
  371. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/agents/helper.md +0 -0
  372. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/commands/cmd.md +0 -0
  373. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/hook-wiring/run.toml +0 -0
  374. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/hooks/run.sh +0 -0
  375. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/skills/example/SKILL.md +0 -0
  376. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/install/catalogue/packs/alpha/.claude-plugin/plugin.json +0 -0
  377. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/install/catalogue/packs/alpha/pack.toml +0 -0
  378. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/kiro_ide_hook/ask_agent_basic.kiro.hook +0 -0
  379. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/kiro_ide_hook/run_command_with_placeholder.kiro.hook +0 -0
  380. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/lint_packs/clean/pack.toml +0 -0
  381. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/lint_packs/clean/seeds/README.md +0 -0
  382. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/list-installed/golden_120col.txt +0 -0
  383. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/list-installed/golden_80col.txt +0 -0
  384. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/list_packs/catalogue/packs/alpha/pack.toml +0 -0
  385. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/list_packs/catalogue/packs/beta/pack.toml +0 -0
  386. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/local_scope/catalogue/packs/local-test-pack/.apm/skills/local-test/SKILL.md +0 -0
  387. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/local_scope/catalogue/packs/local-test-pack/pack.toml +0 -0
  388. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/packs/cc-user-hooks/.apm/hook-wiring/on-prompt.toml +0 -0
  389. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/packs/cc-user-hooks/.apm/hooks/on-prompt.sh +0 -0
  390. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/packs/cc-user-hooks/pack.toml +0 -0
  391. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/packs/kiro-repo-hooks/.apm/agents/reviewer.md +0 -0
  392. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/packs/kiro-repo-hooks/.apm/hook-wiring/on-spawn.toml +0 -0
  393. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/packs/kiro-repo-hooks/.apm/hooks/on-spawn.sh +0 -0
  394. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/packs/kiro-repo-hooks/pack.toml +0 -0
  395. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/packs/kiro-user-hooks/.apm/agents/reviewer.md +0 -0
  396. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/packs/kiro-user-hooks/.apm/hook-wiring/on-spawn.toml +0 -0
  397. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/packs/kiro-user-hooks/.apm/hooks/on-spawn.sh +0 -0
  398. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/packs/kiro-user-hooks/pack.toml +0 -0
  399. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/agents/reviewer.md +0 -0
  400. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/hook-wiring/on-spawn.toml +0 -0
  401. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/hooks/on-spawn.sh +0 -0
  402. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/packs/malformed-kiro-missing-attach/pack.toml +0 -0
  403. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/agents/reviewer.md +0 -0
  404. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/hook-wiring/on-spawn.toml +0 -0
  405. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/hooks/on-spawn.sh +0 -0
  406. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/packs/malformed-kiro-pascal-events/pack.toml +0 -0
  407. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/agents/reviewer.md +0 -0
  408. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/hook-wiring/on-spawn.toml +0 -0
  409. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/hooks/on-spawn.sh +0 -0
  410. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/packs/malformed-kiro-unknown-agent/pack.toml +0 -0
  411. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/scaffold/test-pack/seeds/AGENTS.md +0 -0
  412. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/scaffold/test-pack/seeds/_agents-footer.md +0 -0
  413. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/scaffold/test-pack/seeds/docs/CHARTER.md +0 -0
  414. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/show_contract/agentbundle-show.schema.json +0 -0
  415. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/show_contract/catalogue.json +0 -0
  416. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/show_contract/installed_state.json +0 -0
  417. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/agents/reviewer.md +0 -0
  418. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/commands/deploy.md +0 -0
  419. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hook-wiring/pre-commit.toml +0 -0
  420. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hooks/lint.py +0 -0
  421. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hooks/pre-commit.sh +0 -0
  422. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
  423. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.claude-plugin/plugin.json +0 -0
  424. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/pack.toml +0 -0
  425. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/agents/reviewer.md +0 -0
  426. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/commands/deploy.md +0 -0
  427. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hook-wiring/pre-commit.toml +0 -0
  428. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hooks/lint.py +0 -0
  429. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hooks/pre-commit.sh +0 -0
  430. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
  431. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.claude-plugin/plugin.json +0 -0
  432. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/pack.toml +0 -0
  433. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/agents/reviewer.md +0 -0
  434. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/commands/deploy.md +0 -0
  435. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hook-wiring/pre-commit.toml +0 -0
  436. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hooks/lint.py +0 -0
  437. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hooks/pre-commit.sh +0 -0
  438. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
  439. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.claude-plugin/plugin.json +0 -0
  440. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/pack.toml +0 -0
  441. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/validate/bad_recipe_pack/pack.toml +0 -0
  442. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/validate/malformed_pack/pack.toml +0 -0
  443. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/validate/valid_pack/pack.toml +0 -0
  444. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/fixtures/validate/version_mismatch_pack/pack.toml +0 -0
  445. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/__init__.py +0 -0
  446. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_adapt_cmd.py +0 -0
  447. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_adapt_dual_scope.py +0 -0
  448. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_adapt_preflight_detection.py +0 -0
  449. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_adapt_schema_migration.py +0 -0
  450. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_apm_install_route.py +0 -0
  451. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_blank_catalogue.py +0 -0
  452. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_brownfield_adapt_end_to_end.py +0 -0
  453. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_brownfield_round_trip.py +0 -0
  454. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_brownfield_user_home_fixture.py +0 -0
  455. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_build_check_drift_gates.py +0 -0
  456. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_build_derivation_apm.py +0 -0
  457. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_build_derivation_claude_plugins.py +0 -0
  458. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_catalogue_init.py +0 -0
  459. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_catalogue_verify_adapter_compat.py +0 -0
  460. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_catalogue_verify_dependencies.py +0 -0
  461. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_catalogue_verify_external_portability.py +0 -0
  462. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_catalogue_verify_fixture_checks.py +0 -0
  463. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_catalogue_verify_marketplace.py +0 -0
  464. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_catalogue_verify_output_drift.py +0 -0
  465. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_catalogue_verify_package_preflight.py +0 -0
  466. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_catalogue_verify_plugin_path.py +0 -0
  467. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_catalogue_verify_profile_schema.py +0 -0
  468. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_catalogue_verify_step1.py +0 -0
  469. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_catalogue_wave4_index_generator.py +0 -0
  470. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_catalogue_wave4_integration.py +0 -0
  471. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_catalogue_wave4_journey_validator.py +0 -0
  472. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_catalogue_wave4_schema.py +0 -0
  473. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_cc_user_hooks_fixture.py +0 -0
  474. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_claude_plugins_install_route.py +0 -0
  475. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_config_cascade.py +0 -0
  476. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_credential_brokers_pack_install.py +0 -0
  477. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_credentials_wheel.py +0 -0
  478. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_direct_install.py +0 -0
  479. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_discovery_schema_cross_consumer.py +0 -0
  480. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_editable_source_detection.py +0 -0
  481. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_fixtures_validate.py +0 -0
  482. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_hook_wiring_ingress.py +0 -0
  483. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_install_adapt_chain.py +0 -0
  484. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_install_cmd.py +0 -0
  485. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_install_converters_user_scope.py +0 -0
  486. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_install_copilot_full_parity.py +0 -0
  487. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_install_core_smoke.py +0 -0
  488. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_install_default_source.py +0 -0
  489. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_install_dependencies_gate.py +0 -0
  490. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_install_dropped_primitives_warning.py +0 -0
  491. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_install_dual_scope.py +0 -0
  492. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_install_layout_is_best_effort.py +0 -0
  493. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_install_orphan_reshape.py +0 -0
  494. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_install_pack_metadata_shape.py +0 -0
  495. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_install_profile.py +0 -0
  496. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_install_profile_live.py +0 -0
  497. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_install_repo_scope_per_adapter.py +0 -0
  498. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_install_research_user_scope.py +0 -0
  499. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_install_seed_delivery.py +0 -0
  500. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_install_session_start_wiring.py +0 -0
  501. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_install_upgrade_offer.py +0 -0
  502. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_install_user_hooks.py +0 -0
  503. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_install_user_scope_allowed_adapters.py +0 -0
  504. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_kiro_ide_hook_e2e.py +0 -0
  505. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_kiro_repo_hooks_fixture.py +0 -0
  506. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_kiro_user_hooks_fixture.py +0 -0
  507. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_list_packs_cmd.py +0 -0
  508. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_local_scope_install.py +0 -0
  509. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_marketplace_entry_validation.py +0 -0
  510. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_marketplace_manifest_regression.py +0 -0
  511. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_multi_pack_install.py +0 -0
  512. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_orphan_cleanup_respects_foreign_state.py +0 -0
  513. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_plugin_route_membership.py +0 -0
  514. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_recommends_cross_scope.py +0 -0
  515. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_reconcile.py +0 -0
  516. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_reserved_path_filter.py +0 -0
  517. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_scaffold_projection.py +0 -0
  518. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_self_host_schema_migration.py +0 -0
  519. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_self_host_sweep_respects_state.py +0 -0
  520. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_shared_prefix_coexistence.py +0 -0
  521. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_show_cmd.py +0 -0
  522. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_tier_invariants.py +0 -0
  523. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_trust_fallback_tls.py +0 -0
  524. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_uninstall_cmd.py +0 -0
  525. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_uninstall_user_hooks.py +0 -0
  526. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_upgrade_attach_to_agent.py +0 -0
  527. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_upgrade_cmd.py +0 -0
  528. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_upgrade_user_hooks.py +0 -0
  529. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_version_gate_matrix.py +0 -0
  530. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_workspace_mcp_git_fsm.py +0 -0
  531. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/integration/test_zipapp.py +0 -0
  532. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/performance/__init__.py +0 -0
  533. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/performance/test_direct_family2_budget_cost.py +0 -0
  534. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/test_adapter_permissions_projection.py +0 -0
  535. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/test_workspace_mcp_elicit.py +0 -0
  536. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/test_workspace_mcp_event_bridge.py +0 -0
  537. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/test_workspace_mcp_git.py +0 -0
  538. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/test_workspace_mcp_lifecycle.py +0 -0
  539. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/test_workspace_mcp_stdin.py +0 -0
  540. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/__init__.py +0 -0
  541. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_adapt_discovery_schema.py +0 -0
  542. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_adapter_symlink_policy.py +0 -0
  543. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_append_layout_section.py +0 -0
  544. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_architect_readme_install_command.py +0 -0
  545. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_catalogue_ci_contract.py +0 -0
  546. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_catalogue_curation_deps.py +0 -0
  547. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_catalogue_init_cli_self_hosted.py +0 -0
  548. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_catalogue_pack_defaults.py +0 -0
  549. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_catalogue_self_hosted_export_removal.py +0 -0
  550. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_catalogue_skill_spec_lint.py +0 -0
  551. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_catalogue_tooling_archive.py +0 -0
  552. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_catalogue_tooling_build.py +0 -0
  553. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_catalogue_tooling_defaults.py +0 -0
  554. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_catalogue_tooling_file_safety.py +0 -0
  555. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_catalogue_tooling_foundation.py +0 -0
  556. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_catalogue_tooling_identity.py +0 -0
  557. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_catalogue_tooling_init.py +0 -0
  558. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_catalogue_tooling_lint.py +0 -0
  559. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_catalogue_tooling_package.py +0 -0
  560. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_catalogue_tooling_self_host.py +0 -0
  561. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_catalogue_tooling_source_package.py +0 -0
  562. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_catalogue_tooling_verify.py +0 -0
  563. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_catalogue_trust_fallback.py +0 -0
  564. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_catalogue_wave2_schema.py +0 -0
  565. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_catalogue_wave2_validation.py +0 -0
  566. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_catalogue_wave3_contracts_cli.py +0 -0
  567. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_catalogue_wave3_contracts_inspector.py +0 -0
  568. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_catalogue_wave3_init_nextsteps.py +0 -0
  569. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_catalogue_wave3_offline_navigation.py +0 -0
  570. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_cli_catalogue_optional.py +0 -0
  571. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_cli_help_lists_config.py +0 -0
  572. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_cli_list_targets_help.py +0 -0
  573. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_cli_namespace_fixture.py +0 -0
  574. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_cli_path_normalisation.py +0 -0
  575. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_cli_profile_surface.py +0 -0
  576. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_cli_scope_flags.py +0 -0
  577. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_codex_agent_toml.py +0 -0
  578. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_codex_projection_modes.py +0 -0
  579. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_cognitive_load_seed_contract.py +0 -0
  580. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_collect_tree_symlinks.py +0 -0
  581. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_common_classify_seeds.py +0 -0
  582. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_config.py +0 -0
  583. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_config_cmd.py +0 -0
  584. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_configured_adapter.py +0 -0
  585. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_confirm_helper.py +0 -0
  586. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_contract_parity.py +0 -0
  587. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_contract_v0_3_schema.py +0 -0
  588. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_copilot_agent_md.py +0 -0
  589. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_copilot_hooks_json.py +0 -0
  590. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_copilot_user_scope_wiring.py +0 -0
  591. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_credbroker_lint_hardening.py +0 -0
  592. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_dependencies_batch.py +0 -0
  593. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_diff_cmd.py +0 -0
  594. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_direct_admission.py +0 -0
  595. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_direct_architecture_controls.py +0 -0
  596. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_direct_diagnostics.py +0 -0
  597. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_direct_lifecycle_facts.py +0 -0
  598. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_direct_source_acquisition.py +0 -0
  599. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_direct_source_state.py +0 -0
  600. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_direct_upgrade.py +0 -0
  601. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_direct_validate.py +0 -0
  602. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_footprint_ownership.py +0 -0
  603. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_init_state_cmd.py +0 -0
  604. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_install_argparse_adapter_flag.py +0 -0
  605. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_install_argparse_emit_install_routes.py +0 -0
  606. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_install_defaults_preferred_adapter.py +0 -0
  607. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_install_dropped_primitives_warning.py +0 -0
  608. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_install_event_dropped_wirings.py +0 -0
  609. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_install_first_value_handoff.py +0 -0
  610. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_install_force_help.py +0 -0
  611. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_install_inband_detection.py +0 -0
  612. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_install_messages.py +0 -0
  613. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_install_messages_repo_scope.py +0 -0
  614. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_install_refusal_ordering.py +0 -0
  615. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_install_state_provenance.py +0 -0
  616. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_kiro_ide_hook_projection.py +0 -0
  617. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_kiro_ide_hook_rail.py +0 -0
  618. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_kiro_ide_hook_schema.py +0 -0
  619. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_layout_bases_anchoring.py +0 -0
  620. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_lint_agent_artifacts_metadata_auth.py +0 -0
  621. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_list_installed_cmd.py +0 -0
  622. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_list_installed_status.py +0 -0
  623. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_list_targets_cmd.py +0 -0
  624. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_local_exclude_git_cache.py +0 -0
  625. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_local_scope_schema.py +0 -0
  626. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_local_scope_t10_uninstall.py +0 -0
  627. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_local_scope_t12_show.py +0 -0
  628. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_local_scope_t2_resolve.py +0 -0
  629. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_local_scope_t3_config.py +0 -0
  630. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_local_scope_t4_state_path.py +0 -0
  631. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_local_scope_t5_list_installed.py +0 -0
  632. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_local_scope_t7_install_gates.py +0 -0
  633. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_local_scope_t8_install.py +0 -0
  634. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_local_scope_t9_exclude.py +0 -0
  635. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_marker_schema_version_parity.py +0 -0
  636. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_merge_into_agent_json.py +0 -0
  637. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_multi_adapter_disambiguator.py +0 -0
  638. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_nested_symlink_hardening.py +0 -0
  639. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_offer_upgrade_namespace.py +0 -0
  640. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_okf_discovery.py +0 -0
  641. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_org_bootstrap.py +0 -0
  642. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_orphan_sweep_guards.py +0 -0
  643. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_pack_config_api.py +0 -0
  644. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_pack_inventory.py +0 -0
  645. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_pack_layout_section_schema.py +0 -0
  646. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_package_catalogue.py +0 -0
  647. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_packstate_source_provenance.py +0 -0
  648. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_pipeline_phase_order.py +0 -0
  649. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_plugin_scope_filter.py +0 -0
  650. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_profile_reader.py +0 -0
  651. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_render.py +0 -0
  652. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_render_cmd.py +0 -0
  653. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_render_table.py +0 -0
  654. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_resolve_state_path.py +0 -0
  655. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_resolve_target_adapter_user_config.py +0 -0
  656. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_resolve_user_scope_target_adapter.py +0 -0
  657. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_route_surface_parity.py +0 -0
  658. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_safety_repo_scope_prefixes.py +0 -0
  659. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_safety_scan_per_pack_scoping.py +0 -0
  660. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_scaffold_cmd.py +0 -0
  661. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_scope.py +0 -0
  662. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_self_host_windows.py +0 -0
  663. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_shared_prefix_disclosure.py +0 -0
  664. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_source_conflict_guard.py +0 -0
  665. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_source_defaults.py +0 -0
  666. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_state_v01_refuse_write.py +0 -0
  667. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_state_v02.py +0 -0
  668. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_state_v0_4_schema.py +0 -0
  669. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_statelock.py +0 -0
  670. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_statelock_hardening.py +0 -0
  671. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_system_trust.py +0 -0
  672. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_target_resolver.py +0 -0
  673. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_toml_emitters.py +0 -0
  674. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_unresolved_markers.py +0 -0
  675. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_upgrade_bulk_all.py +0 -0
  676. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_upgrade_recap.py +0 -0
  677. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_upgrade_source_inference.py +0 -0
  678. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_user_config_io.py +0 -0
  679. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_user_config_isolation.py +0 -0
  680. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_user_config_path.py +0 -0
  681. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_user_config_source.py +0 -0
  682. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_user_merge_json.py +0 -0
  683. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_validate_attach_to_agent.py +0 -0
  684. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_validate_categories.py +0 -0
  685. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_validate_cmd.py +0 -0
  686. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_validate_hook_wiring_per_file_compatibility.py +0 -0
  687. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_values_from_shapes.py +0 -0
  688. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_version.py +0 -0
  689. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_windows_direct_suite_registration.py +0 -0
  690. {agentbundle-0.47.1 → agentbundle-0.52.0}/tests/unit/test_workspace_mcp_events_poller.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentbundle
3
- Version: 0.47.1
3
+ Version: 0.52.0
4
4
  Summary: npm for your coding agent. Install packs of skills, subagents, and hooks into any repo, for every major agent.
5
5
  Author-email: eugenelim <eugenelim@users.noreply.github.com>
6
6
  License-Expression: Apache-2.0 OR MIT
@@ -15,6 +15,7 @@ Classifier: Programming Language :: Python :: 3.11
15
15
  Classifier: Programming Language :: Python :: 3.12
16
16
  Requires-Python: >=3.11
17
17
  Description-Content-Type: text/markdown
18
+ Requires-Dist: credbroker<0.8,>=0.7
18
19
  Provides-Extra: lint
19
20
  Requires-Dist: pyyaml>=6.0; extra == "lint"
20
21
 
@@ -34,6 +35,92 @@ python -m pip install agentbundle
34
35
 
35
36
  Requires Python 3.11+. Runs on macOS, Linux, and Windows.
36
37
 
38
+ ## What's new in 0.52.0
39
+
40
+ The workspace-status MCP tool now surfaces a former legacy entry (a bare
41
+ `spec/<slug>` string or other accepted legacy shape) as an `unsupported_legacy`
42
+ finding. The entry is absent from `ready` and `blocked`; ordinary
43
+ reconciliation no longer accepts legacy shapes as lifecycle members. A
44
+ canonical entry with a surviving historical alias appears in `blocked` with a
45
+ `duplicate_membership` finding and does not appear in `ready`. Delete the alias
46
+ and the canonical entry dispatches normally.
47
+
48
+ The `capture-work` alias for `work-intake` is removed as part of Core 3.0.0.
49
+ All intake requests should go to `work-intake`.
50
+
51
+ ## What's new in 0.51.0
52
+
53
+ HTTPS catalogue acquisition now selects credentials automatically. Set
54
+ `AGENTBUNDLE_HTTP_BEARER_TOKEN` for a bearer token, configure a JFrog CLI 2.105.0+
55
+ profile with `jf login` or `jf config add` (and optionally name it with
56
+ `JFROG_CLI_SERVER_ID`), or provide an exact-machine `.netrc` record for the
57
+ catalogue host. Public catalogues still work with no credential setup. AgentBundle
58
+ picks the first available source and stops — no fallback across credential types.
59
+
60
+ On a corporate network, set `AGENTBUNDLE_CA_BUNDLE` for bearer, `.netrc`, and
61
+ public catalogues. For the JFrog CLI path on Linux, set `SSL_CERT_FILE` or
62
+ `SSL_CERT_DIR` instead; `AGENTBUNDLE_CA_BUNDLE` does not reach the `jf`
63
+ subprocess. On macOS, add the corporate CA to the system keychain for the JFrog
64
+ CLI path.
65
+
66
+ ## What's new in 0.50.0
67
+
68
+ `agentbundle catalogue sync --package <name>` writes now instead of refusing.
69
+ `credbroker` syncs `packages/credbroker/`; `agentbundle` syncs the whole
70
+ vendored tooling root under `--tooling vendored`. Packages are written last,
71
+ and a failed package write rolls the run back.
72
+
73
+ A vendored sync refuses when the target supplies the `agentbundle` you are
74
+ running — replacing your own engine mid-run means what executes afterwards is
75
+ not what you reviewed.
76
+
77
+ ## What's new in 0.49.0
78
+
79
+ `agentbundle catalogue sync` can now write. Run it with neither `--dry-run`
80
+ nor `--check` and it asks for confirmation, then applies the same plan
81
+ `--dry-run` would have printed — updating unedited files, keeping your edits
82
+ behind a `.upstream.<ext>` companion, and removing paths the source stopped
83
+ shipping. Pass `--yes` to skip the prompt in a script or CI job. Four flags
84
+ scope a run to part of the catalogue: `--pack` (repeatable), `--profile`,
85
+ `--guides`, and `--package` (reserved; refuses for now — package sync is not
86
+ shipped yet). A source affording a resolved ref or a verified digest now has
87
+ that value recorded, so a later `--check` compares against it.
88
+
89
+ **Breaking:** the `sync` subcommand no longer resolves abbreviated flag
90
+ names. `--guides` is now a real flag — the scoping flag above — so a command
91
+ that relied on `--guides selected` resolving to `--guides-mode` now errors;
92
+ spell `--guides-mode selected` in full.
93
+
94
+ ## What's new in 0.48.0
95
+
96
+ `agentbundle catalogue sync` is a new command. It checks a derived catalogue
97
+ against its source without changing any file. `--dry-run` prints what would
98
+ update, what would keep your edits behind a `.upstream.<ext>` companion file,
99
+ and what the source no longer has. `--check` answers whether your catalogue
100
+ still matches its source.
101
+
102
+ Sync accepts every source form `catalogue init` does — a local path, a
103
+ `git+https://` URL, or a `catalogue+https://` descriptor — and reports which
104
+ of those affords a verified digest. It also warns, without ever blocking the
105
+ run, when a selected pack's version has moved in the source.
106
+
107
+ ## What's new in 0.47.3
108
+
109
+ **Fixed:** `git_commit` no longer stages files outside the item it was
110
+ dispatched for. If the `output_dir` you configure contains `*`, `?`, `[`, `{`
111
+ or `}`, that value cannot describe a commit scope, so `git_commit` now refuses
112
+ it with an error naming the section instead of committing from a wider
113
+ directory. A base containing `*` was the one that widened the scope; the others
114
+ matched nothing and now say so. `git_status`, `git_branch` and `git_push` keep
115
+ working. Rename the directory to one without those characters to commit again.
116
+
117
+ ## What's new in 0.47.2
118
+
119
+ **Fixed:** `workspace_status` now applies the same character rules to your
120
+ configured `output_dir` that it applies to every other path it reports. A value
121
+ using anything outside letters, digits and `. _ - /` is reported as no pattern,
122
+ with a warning naming the section, instead of being passed through.
123
+
37
124
  ## What's new in 0.47.1
38
125
 
39
126
  **Fixed:** `workspace_status` now reports the output path your
@@ -486,9 +573,21 @@ agentbundle install --pack core
486
573
  ```
487
574
 
488
575
  The channel descriptor points to an immutable versioned archive; agentbundle
489
- fetches, verifies its SHA-256 digest, and installs. Pass a bearer token via
490
- `AGENTBUNDLE_HTTP_BEARER_TOKEN` — it is never stored in state, never printed, and
491
- never forwarded to a different host.
576
+ fetches, verifies its SHA-256 digest, and installs.
577
+
578
+ AgentBundle picks credentials automatically: set `AGENTBUNDLE_HTTP_BEARER_TOKEN`
579
+ for a bearer token, configure a JFrog CLI 2.105.0+ profile with `jf login` or
580
+ `jf config add` (optionally name it with `JFROG_CLI_SERVER_ID`), or provide an
581
+ exact-machine `.netrc` record. Public catalogues need no credential setup.
582
+ AgentBundle picks the first available source and does not fall back across types.
583
+ AgentBundle never stores or prints the catalogue credential, and never forwards
584
+ it to another origin — redirects that leave the origin are rejected.
585
+
586
+ For bearer, `.netrc`, and public catalogues, set `AGENTBUNDLE_CA_BUNDLE` for a
587
+ private CA. For the JFrog CLI path on Linux, use `SSL_CERT_FILE` or
588
+ `SSL_CERT_DIR`; `AGENTBUNDLE_CA_BUNDLE` does not reach the `jf` subprocess. On
589
+ macOS, add the corporate CA to the system keychain for the JFrog CLI path — `jf
590
+ api` reads only the system keychain there and ignores `~/.jfrog/security/certs/`.
492
591
 
493
592
  **JSON output for CI pipelines:**
494
593
 
@@ -867,7 +966,7 @@ not the environment — compare them with
867
966
 
868
967
  ## Credentials
869
968
 
870
- `agentbundle` doesn't resolve secrets. Credentialed skills use [`credbroker`](https://pypi.org/project/credbroker/), a standalone resolver that keeps cleartext out of the model's reach.
969
+ Skills resolve their own credentials through [`credbroker`](https://pypi.org/project/credbroker/), a standalone resolver that keeps cleartext out of the model's reach. AgentBundle uses `credbroker` only to read protected catalogues.
871
970
 
872
971
  ## Learn more
873
972
 
@@ -14,6 +14,92 @@ python -m pip install agentbundle
14
14
 
15
15
  Requires Python 3.11+. Runs on macOS, Linux, and Windows.
16
16
 
17
+ ## What's new in 0.52.0
18
+
19
+ The workspace-status MCP tool now surfaces a former legacy entry (a bare
20
+ `spec/<slug>` string or other accepted legacy shape) as an `unsupported_legacy`
21
+ finding. The entry is absent from `ready` and `blocked`; ordinary
22
+ reconciliation no longer accepts legacy shapes as lifecycle members. A
23
+ canonical entry with a surviving historical alias appears in `blocked` with a
24
+ `duplicate_membership` finding and does not appear in `ready`. Delete the alias
25
+ and the canonical entry dispatches normally.
26
+
27
+ The `capture-work` alias for `work-intake` is removed as part of Core 3.0.0.
28
+ All intake requests should go to `work-intake`.
29
+
30
+ ## What's new in 0.51.0
31
+
32
+ HTTPS catalogue acquisition now selects credentials automatically. Set
33
+ `AGENTBUNDLE_HTTP_BEARER_TOKEN` for a bearer token, configure a JFrog CLI 2.105.0+
34
+ profile with `jf login` or `jf config add` (and optionally name it with
35
+ `JFROG_CLI_SERVER_ID`), or provide an exact-machine `.netrc` record for the
36
+ catalogue host. Public catalogues still work with no credential setup. AgentBundle
37
+ picks the first available source and stops — no fallback across credential types.
38
+
39
+ On a corporate network, set `AGENTBUNDLE_CA_BUNDLE` for bearer, `.netrc`, and
40
+ public catalogues. For the JFrog CLI path on Linux, set `SSL_CERT_FILE` or
41
+ `SSL_CERT_DIR` instead; `AGENTBUNDLE_CA_BUNDLE` does not reach the `jf`
42
+ subprocess. On macOS, add the corporate CA to the system keychain for the JFrog
43
+ CLI path.
44
+
45
+ ## What's new in 0.50.0
46
+
47
+ `agentbundle catalogue sync --package <name>` writes now instead of refusing.
48
+ `credbroker` syncs `packages/credbroker/`; `agentbundle` syncs the whole
49
+ vendored tooling root under `--tooling vendored`. Packages are written last,
50
+ and a failed package write rolls the run back.
51
+
52
+ A vendored sync refuses when the target supplies the `agentbundle` you are
53
+ running — replacing your own engine mid-run means what executes afterwards is
54
+ not what you reviewed.
55
+
56
+ ## What's new in 0.49.0
57
+
58
+ `agentbundle catalogue sync` can now write. Run it with neither `--dry-run`
59
+ nor `--check` and it asks for confirmation, then applies the same plan
60
+ `--dry-run` would have printed — updating unedited files, keeping your edits
61
+ behind a `.upstream.<ext>` companion, and removing paths the source stopped
62
+ shipping. Pass `--yes` to skip the prompt in a script or CI job. Four flags
63
+ scope a run to part of the catalogue: `--pack` (repeatable), `--profile`,
64
+ `--guides`, and `--package` (reserved; refuses for now — package sync is not
65
+ shipped yet). A source affording a resolved ref or a verified digest now has
66
+ that value recorded, so a later `--check` compares against it.
67
+
68
+ **Breaking:** the `sync` subcommand no longer resolves abbreviated flag
69
+ names. `--guides` is now a real flag — the scoping flag above — so a command
70
+ that relied on `--guides selected` resolving to `--guides-mode` now errors;
71
+ spell `--guides-mode selected` in full.
72
+
73
+ ## What's new in 0.48.0
74
+
75
+ `agentbundle catalogue sync` is a new command. It checks a derived catalogue
76
+ against its source without changing any file. `--dry-run` prints what would
77
+ update, what would keep your edits behind a `.upstream.<ext>` companion file,
78
+ and what the source no longer has. `--check` answers whether your catalogue
79
+ still matches its source.
80
+
81
+ Sync accepts every source form `catalogue init` does — a local path, a
82
+ `git+https://` URL, or a `catalogue+https://` descriptor — and reports which
83
+ of those affords a verified digest. It also warns, without ever blocking the
84
+ run, when a selected pack's version has moved in the source.
85
+
86
+ ## What's new in 0.47.3
87
+
88
+ **Fixed:** `git_commit` no longer stages files outside the item it was
89
+ dispatched for. If the `output_dir` you configure contains `*`, `?`, `[`, `{`
90
+ or `}`, that value cannot describe a commit scope, so `git_commit` now refuses
91
+ it with an error naming the section instead of committing from a wider
92
+ directory. A base containing `*` was the one that widened the scope; the others
93
+ matched nothing and now say so. `git_status`, `git_branch` and `git_push` keep
94
+ working. Rename the directory to one without those characters to commit again.
95
+
96
+ ## What's new in 0.47.2
97
+
98
+ **Fixed:** `workspace_status` now applies the same character rules to your
99
+ configured `output_dir` that it applies to every other path it reports. A value
100
+ using anything outside letters, digits and `. _ - /` is reported as no pattern,
101
+ with a warning naming the section, instead of being passed through.
102
+
17
103
  ## What's new in 0.47.1
18
104
 
19
105
  **Fixed:** `workspace_status` now reports the output path your
@@ -466,9 +552,21 @@ agentbundle install --pack core
466
552
  ```
467
553
 
468
554
  The channel descriptor points to an immutable versioned archive; agentbundle
469
- fetches, verifies its SHA-256 digest, and installs. Pass a bearer token via
470
- `AGENTBUNDLE_HTTP_BEARER_TOKEN` — it is never stored in state, never printed, and
471
- never forwarded to a different host.
555
+ fetches, verifies its SHA-256 digest, and installs.
556
+
557
+ AgentBundle picks credentials automatically: set `AGENTBUNDLE_HTTP_BEARER_TOKEN`
558
+ for a bearer token, configure a JFrog CLI 2.105.0+ profile with `jf login` or
559
+ `jf config add` (optionally name it with `JFROG_CLI_SERVER_ID`), or provide an
560
+ exact-machine `.netrc` record. Public catalogues need no credential setup.
561
+ AgentBundle picks the first available source and does not fall back across types.
562
+ AgentBundle never stores or prints the catalogue credential, and never forwards
563
+ it to another origin — redirects that leave the origin are rejected.
564
+
565
+ For bearer, `.netrc`, and public catalogues, set `AGENTBUNDLE_CA_BUNDLE` for a
566
+ private CA. For the JFrog CLI path on Linux, use `SSL_CERT_FILE` or
567
+ `SSL_CERT_DIR`; `AGENTBUNDLE_CA_BUNDLE` does not reach the `jf` subprocess. On
568
+ macOS, add the corporate CA to the system keychain for the JFrog CLI path — `jf
569
+ api` reads only the system keychain there and ignores `~/.jfrog/security/certs/`.
472
570
 
473
571
  **JSON output for CI pipelines:**
474
572
 
@@ -847,7 +945,7 @@ not the environment — compare them with
847
945
 
848
946
  ## Credentials
849
947
 
850
- `agentbundle` doesn't resolve secrets. Credentialed skills use [`credbroker`](https://pypi.org/project/credbroker/), a standalone resolver that keeps cleartext out of the model's reach.
948
+ Skills resolve their own credentials through [`credbroker`](https://pypi.org/project/credbroker/), a standalone resolver that keeps cleartext out of the model's reach. AgentBundle uses `credbroker` only to read protected catalogues.
851
949
 
852
950
  ## Learn more
853
951
 
@@ -106,9 +106,21 @@ agentbundle install --pack core
106
106
  ```
107
107
 
108
108
  The channel descriptor points to an immutable versioned archive; agentbundle
109
- fetches, verifies its SHA-256 digest, and installs. Pass a bearer token via
110
- `AGENTBUNDLE_HTTP_BEARER_TOKEN` — it is never stored in state, never printed, and
111
- never forwarded to a different host.
109
+ fetches, verifies its SHA-256 digest, and installs.
110
+
111
+ AgentBundle picks credentials automatically: set `AGENTBUNDLE_HTTP_BEARER_TOKEN`
112
+ for a bearer token, configure a JFrog CLI 2.105.0+ profile with `jf login` or
113
+ `jf config add` (optionally name it with `JFROG_CLI_SERVER_ID`), or provide an
114
+ exact-machine `.netrc` record. Public catalogues need no credential setup.
115
+ AgentBundle picks the first available source and does not fall back across types.
116
+ AgentBundle never stores or prints the catalogue credential, and never forwards
117
+ it to another origin — redirects that leave the origin are rejected.
118
+
119
+ For bearer, `.netrc`, and public catalogues, set `AGENTBUNDLE_CA_BUNDLE` for a
120
+ private CA. For the JFrog CLI path on Linux, use `SSL_CERT_FILE` or
121
+ `SSL_CERT_DIR`; `AGENTBUNDLE_CA_BUNDLE` does not reach the `jf` subprocess. On
122
+ macOS, add the corporate CA to the system keychain for the JFrog CLI path — `jf
123
+ api` reads only the system keychain there and ignores `~/.jfrog/security/certs/`.
112
124
 
113
125
  **JSON output for CI pipelines:**
114
126
 
@@ -298,7 +310,7 @@ The session instruction template (injected by the control plane at session start
298
310
 
299
311
  ## Credentials
300
312
 
301
- `agentbundle` doesn't resolve secrets. Credentialed skills use [`credbroker`](../credbroker/README.md), a standalone resolver that keeps cleartext out of the model's reach.
313
+ Skills resolve their own credentials through [`credbroker`](../credbroker/README.md), a standalone resolver that keeps cleartext out of the model's reach. AgentBundle uses `credbroker` only to read protected catalogues.
302
314
 
303
315
  ## Learn more
304
316
 
@@ -13,6 +13,11 @@ package, and publish an AgentBundle catalogue. It names the commands, outputs,
13
13
  exit codes, publication ordering, and responsibility boundaries — without
14
14
  prescribing a CI provider or a specific workflow shape.
15
15
 
16
+ Use it to implement the same release flow in GitHub Actions, GitLab CI, Jenkins,
17
+ or another runner: build without publication secrets, inject a restricted
18
+ publisher identity only into the upload job, serialize releases, verify with a
19
+ read identity, and retain a credential-free receipt.
20
+
16
21
  ## Responsibility boundary
17
22
 
18
23
  Three parties share responsibility for a catalogue CI pipeline. No party may
@@ -21,7 +26,7 @@ silently assume another's obligations.
21
26
  | Party | Owns | Never does |
22
27
  |---|---|---|
23
28
  | **AgentBundle CLI** | Correct catalogue validation; deterministic archive + SHA256 sidecar; stable JSON output shapes; stable exit-code contract | Read secrets; issue network calls; control upload order; manage retention |
24
- | **Organization CI** | Secrets and credential injection; HTTPS upload; publication serialization (ensuring one release lands at a time); rollback policy; artifact retention | Implement validation logic; bypass exit-code signals; skip the admission command |
29
+ | **Organization CI** | Protected secret storage; publisher and read identities; HTTPS upload; publication serialization (ensuring one release lands at a time); rollback policy; artifact retention | Implement validation logic; expose credentials to build jobs; bypass exit-code signals; skip the admission command |
25
30
  | **Host Repository** | CI workflow files and trigger config; internal governance gates; tests proving the portable commands work in this repository | Alter the portable command signatures; branch AgentBundle's output format |
26
31
 
27
32
  ## CI lifecycle phases
@@ -43,6 +48,11 @@ Pin the version for reproducibility:
43
48
  pip install 'agentbundle==<version>'
44
49
  ```
45
50
 
51
+ If the wheel is in an internal Artifactory PyPI repository, the selected Python
52
+ package client owns authentication. Its credentials are separate from the
53
+ identity that uploads a catalogue and from the identity that later reads a
54
+ protected Generic repository.
55
+
46
56
  **Vendored.** The organization pre-installs agentbundle into a shared CI image or
47
57
  tool layer. The CI step runs catalogue commands without an explicit install.
48
58
 
@@ -108,6 +118,22 @@ confirm the archive is valid before uploading it.
108
118
 
109
119
  ### Phase 4 — Publication
110
120
 
121
+ Run this phase in a protected upload job. Inject a restricted service identity
122
+ or an organization-configured CI OIDC exchange only after the source and
123
+ package checks pass. Use a username only when the selected upload client
124
+ requires one.
125
+
126
+ The portable controls map to common CI systems as follows:
127
+
128
+ | Control | GitHub Actions example | GitLab CI example | Jenkins or another runner |
129
+ | --- | --- | --- | --- |
130
+ | Publisher secret | Environment or organization Actions secret | Protected, masked, and hidden CI/CD variable | Credential binding or external secret store |
131
+ | Release gate | Protected environment and release tag | Protected release tag | Restricted release job |
132
+ | Serialization | `concurrency` group | `resource_group` | Deployment lock or equivalent |
133
+
134
+ These are mappings, not required products or variable names. The host
135
+ repository owns its workflow syntax.
136
+
111
137
  Upload artifacts in this exact order:
112
138
 
113
139
  1. The archive (`.tar.gz`)
@@ -121,12 +147,13 @@ channel pointer and fails cleanly; a consumer that resolves after step 3 finds t
121
147
  archive already present.
122
148
 
123
149
  Publication serialization — preventing two concurrent releases from interleaving
124
- their uploads — is the CI system's responsibility.
150
+ their uploads — is the CI system's responsibility. Configure release objects as
151
+ immutable and allow controlled replacement only for channel descriptors.
125
152
 
126
153
  ### Phase 5 — Post-publication verification
127
154
 
128
- After the channel descriptor is published, download the archive and sidecar from
129
- the publication store and verify them locally:
155
+ After the channel descriptor is published, use a read-only identity to download
156
+ the archive and sidecar from the publication store and verify them locally:
130
157
 
131
158
  ```bash
132
159
  # Download from the store first (provider-specific step)
@@ -141,7 +168,9 @@ archive. This confirms the archive round-trips through the publication store
141
168
  without corruption.
142
169
 
143
170
  Optionally, smoke-test pack installation from the published catalogue to confirm
144
- consumer-side resolution.
171
+ consumer-side resolution. A smoke test against a protected catalogue needs the
172
+ same reader authentication that end users need; it must not silently reuse the
173
+ publisher identity.
145
174
 
146
175
  ### Phase 6 — Evidence retention
147
176
 
@@ -152,6 +181,11 @@ audit, and incident response. Minimum retention artifacts:
152
181
  - The JSON output of `catalogue verify --format json` from Phase 2
153
182
  - The JSON output of `catalogue verify --archive ...` from Phase 5
154
183
 
184
+ Also record a credential-free publication receipt: source revision, release and
185
+ channel names, artifact paths, archive digest, CI run reference, and remote
186
+ verification result. Never include a token, password, username, authenticated
187
+ URL, or secret-store location.
188
+
155
189
  Retention period and storage location are Organization CI policy, not
156
190
  AgentBundle's.
157
191
 
@@ -168,18 +202,29 @@ All `agentbundle catalogue` commands follow the same convention:
168
202
  These codes are stable. A CI step that treats any non-zero exit as a failure
169
203
  gets the correct behaviour.
170
204
 
171
- ## Secrets and network calls
205
+ ## Credential and network boundaries
172
206
 
173
207
  `agentbundle catalogue lint`, `agentbundle catalogue verify`, and
174
208
  `agentbundle catalogue package` do not read secrets and do not issue network
175
209
  calls. They operate entirely on the local filesystem.
176
210
 
177
- TLS certificate verification, bearer-token injection, proxy configuration, and
178
- upload credentials are exclusively Organization CI responsibilities. The
179
- `AGENTBUNDLE_HTTP_BEARER_TOKEN`, `AGENTBUNDLE_CA_BUNDLE`, and `HTTPS_PROXY`
180
- environment variables control AgentBundle's behaviour when resolving a remote
181
- catalogue source (used by install and upgrade verbs, not by the catalogue
182
- pipeline commands above).
211
+ The three credential paths are independent:
212
+
213
+ 1. The Python package client authenticates to the repository that serves the
214
+ `agentbundle` wheel.
215
+ 2. The protected upload job authenticates its upload client with a restricted
216
+ publisher identity.
217
+ 3. AgentBundle's HTTPS client resolves a protected catalogue read through a
218
+ four-provider chain: bearer token (`AGENTBUNDLE_HTTP_BEARER_TOKEN`), JFrog
219
+ CLI 2.105.0+ profile, exact-machine `.netrc` record, then anonymous. The
220
+ chain stops at the first available provider; there is no fallback once a
221
+ provider is chosen. See the AgentBundle reference's Protected catalogue
222
+ authentication section for provider details and failure codes.
223
+
224
+ `AGENTBUNDLE_CA_BUNDLE`, `HTTPS_PROXY`, and `NO_PROXY` control TLS trust and
225
+ network routing when install or upgrade resolves a remote catalogue. They are
226
+ not publication credentials. Keep same-origin redirects, HTTPS-only access,
227
+ digest verification, and archive extraction confinement enabled.
183
228
 
184
229
  ## Command reference
185
230
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "files": {
3
3
  "guides/_shared/reference/catalogue-authoring-standards.md": "72771324354ff29a4bf9072f48236e537bc680421785d700d2a3308d562777cc",
4
- "guides/_shared/reference/catalogue-ci-contract.md": "fae793ab47989b6dd3c731afcb0b4cda21c7d08bbe7fa40fca6d3abb3d158141",
4
+ "guides/_shared/reference/catalogue-ci-contract.md": "78994d30da2b0eb9ea9347f397791fafa99ebc92f80410f26b9af93788a6e188",
5
5
  "packs/AGENTS.md": "c20af03f72b4c25c032ba5c15299eadaa0b41442c92d1cf621dde042cf9ff8db",
6
6
  "packs/CLAUDE.md": "336cc4fbf19beaada7ccf9986414fa91851a8d7a07dfb3ccbe800a69eed0ab49",
7
7
  "packs/README.md": "d2de5f9556f4c8e521103474bde74636e02cc805f9bf5312a3a61a1f3eb45d8f",
@@ -7,7 +7,7 @@ import stat
7
7
  from contextlib import contextmanager
8
8
  from hashlib import sha256
9
9
  from pathlib import Path
10
- from typing import BinaryIO, Iterator, Literal, NamedTuple, overload
10
+ from typing import BinaryIO, Generator, Literal, NamedTuple, overload
11
11
 
12
12
 
13
13
  class UnsafeContentError(ValueError):
@@ -282,7 +282,7 @@ def _supports_descriptor_walk() -> bool:
282
282
  @contextmanager
283
283
  def _open_confined_parent(
284
284
  root: Path, path: Path, *, relative: str
285
- ) -> Iterator[tuple[int | None, str]]:
285
+ ) -> Generator[tuple[int | None, str], None, None]:
286
286
  """Hold the target's parent open without following path components."""
287
287
  try:
288
288
  relative_path = path.relative_to(root)
@@ -352,7 +352,7 @@ def _open_confined_regular_file(
352
352
  path: Path,
353
353
  *,
354
354
  max_bytes: int | None = None,
355
- ) -> Iterator[BinaryIO]:
355
+ ) -> Generator[BinaryIO, None, None]:
356
356
  """Open *path* only when it is a bounded, confined regular file.
357
357
 
358
358
  The link count is checked both before and after opening so a hard-linked