agentbundle 0.46.1__tar.gz → 0.51.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 (694) hide show
  1. {agentbundle-0.46.1/agentbundle.egg-info → agentbundle-0.51.0}/PKG-INFO +111 -21
  2. {agentbundle-0.46.1 → agentbundle-0.51.0}/README-pypi.md +109 -20
  3. {agentbundle-0.46.1 → agentbundle-0.51.0}/README.md +16 -4
  4. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/catalogue-scaffold/guides/_shared/reference/catalogue-ci-contract.md +57 -12
  5. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/catalogue-scaffold/manifest.json +1 -1
  6. {agentbundle-0.46.1/agentbundle/catalogue_tooling → agentbundle-0.51.0/agentbundle/_data}/file_safety.py +3 -3
  7. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/knowledge-captured-observation.schema.json +113 -5
  8. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/workspace_status_engine.py +139 -11
  9. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/projection_io.py +2 -2
  10. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/self_host.py +42 -12
  11. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/catalogue.py +20 -3
  12. agentbundle-0.51.0/agentbundle/catalogue_fetch/__init__.py +222 -0
  13. agentbundle-0.51.0/agentbundle/catalogue_fetch/direct_http.py +330 -0
  14. agentbundle-0.51.0/agentbundle/catalogue_fetch/jfrog_cli.py +1007 -0
  15. agentbundle-0.51.0/agentbundle/catalogue_fetch/models.py +50 -0
  16. {agentbundle-0.46.1/agentbundle/_data → agentbundle-0.51.0/agentbundle/catalogue_tooling}/file_safety.py +3 -3
  17. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/catalogue_tooling/initialise_self_hosted.py +229 -83
  18. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/catalogue_tooling/lint.py +1 -1
  19. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/catalogue_tooling/verify.py +1 -1
  20. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/cli.py +148 -0
  21. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/_common.py +2 -1
  22. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/adapt.py +2 -2
  23. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/catalogue_build.py +5 -5
  24. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/catalogue_contracts.py +1 -1
  25. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/catalogue_init.py +26 -26
  26. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/catalogue_lint.py +4 -4
  27. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/catalogue_package.py +15 -15
  28. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/catalogue_self_host.py +6 -6
  29. agentbundle-0.51.0/agentbundle/commands/catalogue_sync.py +3665 -0
  30. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/catalogue_sync_defaults.py +3 -3
  31. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/catalogue_verify.py +5 -5
  32. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/diff.py +2 -2
  33. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/docs.py +2 -2
  34. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/init_state.py +4 -4
  35. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/install.py +24 -17
  36. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/list_installed.py +8 -8
  37. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/oplog_cmd.py +1 -1
  38. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/pack_config_cmd.py +1 -1
  39. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/package_catalogue.py +3 -3
  40. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/profile.py +1 -1
  41. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/render.py +3 -3
  42. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/show.py +2 -2
  43. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/uninstall.py +4 -4
  44. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/upgrade.py +33 -35
  45. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/validate.py +3 -3
  46. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/direct_source.py +2 -2
  47. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/https_catalogue.py +201 -232
  48. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/safety.py +210 -4
  49. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/statelock.py +2 -2
  50. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/system_trust.py +1 -1
  51. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/version.py +1 -1
  52. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/workspace_mcp.py +360 -117
  53. {agentbundle-0.46.1 → agentbundle-0.51.0/agentbundle.egg-info}/PKG-INFO +111 -21
  54. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle.egg-info/SOURCES.txt +19 -4
  55. agentbundle-0.51.0/agentbundle.egg-info/requires.txt +4 -0
  56. {agentbundle-0.46.1 → agentbundle-0.51.0}/pyproject.toml +15 -2
  57. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/_support.py +29 -1
  58. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_agent_plugin_projection.py +3 -0
  59. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_pack_schema.py +1 -1
  60. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_plugin_publication_gates.py +3 -4
  61. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_scope_rails.py +5 -6
  62. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_self_host_check.py +11 -7
  63. agentbundle-0.51.0/tests/contracts/test_catalogue_fetch_credential_boundary.py +504 -0
  64. agentbundle-0.51.0/tests/fixtures/catalogue_sync/adapter_contract_major_mismatch/pack.toml +6 -0
  65. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_brownfield_round_trip.py +15 -14
  66. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_credential_brokers_pack_install.py +10 -22
  67. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_direct_install.py +11 -10
  68. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_fixtures_validate.py +4 -4
  69. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_hook_wiring_ingress.py +17 -51
  70. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_install_adapt_chain.py +21 -6
  71. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_install_cmd.py +40 -29
  72. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_install_converters_user_scope.py +7 -13
  73. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_install_core_smoke.py +6 -9
  74. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_install_default_source.py +11 -25
  75. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_install_dependencies_gate.py +8 -2
  76. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_install_dropped_primitives_warning.py +11 -3
  77. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_install_dual_scope.py +26 -28
  78. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_install_layout_is_best_effort.py +5 -9
  79. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_install_orphan_reshape.py +7 -14
  80. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_install_pack_metadata_shape.py +5 -7
  81. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_install_research_user_scope.py +7 -13
  82. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_install_seed_delivery.py +6 -11
  83. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_install_session_start_wiring.py +10 -2
  84. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_install_upgrade_offer.py +19 -26
  85. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_install_user_hooks.py +12 -9
  86. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_install_user_scope_allowed_adapters.py +9 -16
  87. agentbundle-0.51.0/tests/integration/test_jfrog_cli_contract.py +276 -0
  88. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_kiro_ide_hook_e2e.py +3 -3
  89. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_local_scope_install.py +20 -28
  90. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_marketplace_entry_validation.py +1 -1
  91. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_plugin_route_membership.py +7 -10
  92. agentbundle-0.51.0/tests/integration/test_portable_catalogue_authentication.py +494 -0
  93. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_recommends_cross_scope.py +12 -6
  94. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_reconcile.py +10 -8
  95. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_tier_invariants.py +41 -53
  96. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_uninstall_cmd.py +13 -20
  97. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_uninstall_user_hooks.py +12 -16
  98. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_upgrade_attach_to_agent.py +9 -9
  99. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_upgrade_cmd.py +26 -24
  100. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_upgrade_user_hooks.py +11 -11
  101. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_version_gate_matrix.py +31 -26
  102. agentbundle-0.51.0/tests/test_workspace_mcp_git_scope.py +926 -0
  103. agentbundle-0.51.0/tests/test_workspace_mcp_layout_override.py +261 -0
  104. agentbundle-0.51.0/tests/unit/conftest.py +114 -0
  105. agentbundle-0.51.0/tests/unit/test_catalogue.py +73 -0
  106. agentbundle-0.51.0/tests/unit/test_catalogue_fetch.py +1264 -0
  107. agentbundle-0.51.0/tests/unit/test_catalogue_fetch_jfrog.py +1449 -0
  108. agentbundle-0.51.0/tests/unit/test_catalogue_sync.py +6719 -0
  109. agentbundle-0.51.0/tests/unit/test_catalogue_sync_fixture_set.py +45 -0
  110. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_catalogue_tooling_self_hosted_init.py +392 -0
  111. agentbundle-0.51.0/tests/unit/test_cli_namespace_fixture.py +75 -0
  112. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_common_classify_seeds.py +3 -3
  113. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_diff_cmd.py +5 -3
  114. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_https_catalogue.py +194 -79
  115. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_init_state_cmd.py +6 -7
  116. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_install_defaults_preferred_adapter.py +7 -8
  117. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_install_first_value_handoff.py +16 -28
  118. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_install_messages.py +5 -12
  119. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_install_state_provenance.py +11 -28
  120. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_layout_bases_anchoring.py +11 -10
  121. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_multi_adapter_disambiguator.py +5 -13
  122. agentbundle-0.51.0/tests/unit/test_offer_upgrade_namespace.py +100 -0
  123. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_orphan_sweep_guards.py +4 -7
  124. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_plugin_scope_filter.py +1 -1
  125. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_render_cmd.py +11 -3
  126. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_route_surface_parity.py +3 -2
  127. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_safety.py +245 -0
  128. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_scaffold_cmd.py +5 -7
  129. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_source_conflict_guard.py +13 -14
  130. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_state_v01_refuse_write.py +11 -29
  131. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_system_trust.py +2 -1
  132. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_validate_categories.py +3 -2
  133. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_validate_cmd.py +6 -4
  134. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_validate_hook_wiring_per_file_compatibility.py +3 -4
  135. agentbundle-0.46.1/agentbundle/telemetry_layout.py +0 -166
  136. agentbundle-0.46.1/agentbundle.egg-info/requires.txt +0 -3
  137. agentbundle-0.46.1/tests/fixtures/telemetry-layout/repo-agentbundle-layout.toml +0 -2
  138. agentbundle-0.46.1/tests/fixtures/telemetry-layout/user-agentbundle-layout.toml +0 -3
  139. agentbundle-0.46.1/tests/unit/test_telemetry_layout.py +0 -337
  140. {agentbundle-0.46.1 → agentbundle-0.51.0}/MANIFEST.in +0 -0
  141. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/__init__.py +0 -0
  142. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/__main__.py +0 -0
  143. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/__init__.py +0 -0
  144. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/adapter.schema.json +0 -0
  145. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/adapter.toml +0 -0
  146. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/agent-plugin-extension-namespaces.schema.json +0 -0
  147. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/agent-plugin-extension-namespaces.toml +0 -0
  148. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/catalogue-index.schema.json +0 -0
  149. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/catalogue-scaffold/guides/_shared/reference/catalogue-authoring-standards.md +0 -0
  150. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/catalogue-scaffold/packs/AGENTS.md +0 -0
  151. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/catalogue-scaffold/packs/CLAUDE.md +0 -0
  152. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/catalogue-scaffold/packs/README.md +0 -0
  153. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/catalogue-scaffold/packs/_example/.apm/skills/example-skill/SKILL.md +0 -0
  154. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/catalogue-scaffold/packs/_example/.apm/skills/example-skill/evals/eval_queries.json +0 -0
  155. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/catalogue-scaffold/packs/_example/.claude-plugin/plugin.json +0 -0
  156. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/catalogue-scaffold/packs/_example/README.md +0 -0
  157. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/catalogue-scaffold/packs/_example/pack.toml +0 -0
  158. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/catalogue-scaffold/profiles/AGENTS.md +0 -0
  159. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/catalogue-scaffold/profiles/CLAUDE.md +0 -0
  160. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/catalogue-scaffold/profiles/README.md +0 -0
  161. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/catalogue-scaffold/profiles/_example/README.md +0 -0
  162. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/catalogue-scaffold/profiles/_example/profile.toml +0 -0
  163. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_gemini_admissibility.py +0 -0
  164. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_pack_layout_declared_section.py +0 -0
  165. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_pack_metadata.py +0 -0
  166. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_shared_library_boundaries.py +0 -0
  167. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/catalogue.schema.json +0 -0
  168. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/close_work.py +0 -0
  169. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/cooling.py +0 -0
  170. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/distribution-routes.schema.json +0 -0
  171. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/distribution-routes.toml +0 -0
  172. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/guide.schema.json +0 -0
  173. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/install-defaults.toml +0 -0
  174. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/install-marker.py +0 -0
  175. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/marketplace-entry.schema.json +0 -0
  176. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/pack.schema.json +0 -0
  177. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/plugin-manifest.derived.schema.json +0 -0
  178. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/plugin-manifest.schema.json +0 -0
  179. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/profile.schema.json +0 -0
  180. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/public-contracts.txt +0 -0
  181. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/skill-manifest.schema.json +0 -0
  182. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/skill.schema.json +0 -0
  183. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/target-vocab.toml +0 -0
  184. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/vendor/agent-plugins/1.0.0/LICENSE.md +0 -0
  185. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/vendor/agent-plugins/1.0.0/PROVENANCE.md +0 -0
  186. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/vendor/agent-plugins/1.0.0/mcp.schema.json +0 -0
  187. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/vendor/agent-plugins/1.0.0/plugin.schema.json +0 -0
  188. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/work_intake_refresh.py +0 -0
  189. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/_data/workspace_status_prune.py +0 -0
  190. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/bounded_metadata.py +0 -0
  191. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/__init__.py +0 -0
  192. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/__main__.py +0 -0
  193. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/adapter_root_bins.py +0 -0
  194. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/adapters/__init__.py +0 -0
  195. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/adapters/_sweep_guard.py +0 -0
  196. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/adapters/claude_code.py +0 -0
  197. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/adapters/codex.py +0 -0
  198. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/adapters/copilot.py +0 -0
  199. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/adapters/cursor.py +0 -0
  200. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/adapters/gemini.py +0 -0
  201. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/adapters/kiro.py +0 -0
  202. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/adapters/kiro_cli.py +0 -0
  203. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/adapters/kiro_ide.py +0 -0
  204. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/contract.py +0 -0
  205. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/hook_wiring_rules.py +0 -0
  206. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/lint_packs.py +0 -0
  207. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/main.py +0 -0
  208. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/phase_order.py +0 -0
  209. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/projections/__init__.py +0 -0
  210. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/projections/codex_agent_toml.py +0 -0
  211. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/projections/copilot_agent_md.py +0 -0
  212. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/projections/copilot_hooks_json.py +0 -0
  213. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/projections/direct_directory.py +0 -0
  214. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/projections/gemini_command_toml.py +0 -0
  215. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/projections/hook_id.py +0 -0
  216. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/projections/kiro_ide_hook.py +0 -0
  217. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/projections/merge_into_agent_json.py +0 -0
  218. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/projections/merge_json.py +0 -0
  219. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/projections/plugin_hooks.py +0 -0
  220. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/projections/user_merge_json.py +0 -0
  221. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/recipes/composite-agents-md.toml +0 -0
  222. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/recipes/composite-marketplace.toml +0 -0
  223. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/recipes/marketplace.toml +0 -0
  224. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/recipes/per-pack-agent-plugin.toml +0 -0
  225. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/recipes/per-pack-apm-package.toml +0 -0
  226. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/recipes/per-pack-claude-plugin.toml +0 -0
  227. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/recipes/per-pack-overlay.toml +0 -0
  228. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/recipes/self-host.toml +0 -0
  229. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/route_agent_plugin.py +0 -0
  230. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/route_apm.py +0 -0
  231. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/route_claude_plugins.py +0 -0
  232. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/route_lookup.py +0 -0
  233. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/scope_rails.py +0 -0
  234. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/shared_libs.py +0 -0
  235. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/target_resolver.py +0 -0
  236. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/user_libs.py +0 -0
  237. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/build/validate.py +0 -0
  238. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/catalogue_tooling/__init__.py +0 -0
  239. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/catalogue_tooling/archive.py +0 -0
  240. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/catalogue_tooling/build.py +0 -0
  241. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/catalogue_tooling/config.py +0 -0
  242. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/catalogue_tooling/contracts_inspector.py +0 -0
  243. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/catalogue_tooling/defaults.py +0 -0
  244. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/catalogue_tooling/diagnostics.py +0 -0
  245. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/catalogue_tooling/identity.py +0 -0
  246. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/catalogue_tooling/index_generator.py +0 -0
  247. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/catalogue_tooling/initialise.py +0 -0
  248. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/catalogue_tooling/journey_validator.py +0 -0
  249. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/catalogue_tooling/manifest.py +0 -0
  250. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/catalogue_tooling/okf_discovery.py +0 -0
  251. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/catalogue_tooling/package.py +0 -0
  252. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/catalogue_tooling/results.py +0 -0
  253. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/catalogue_tooling/self_host.py +0 -0
  254. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/catalogue_tooling/self_host_windows.py +0 -0
  255. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/catalogue_tooling/skill_spec_lint.py +0 -0
  256. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/catalogue_tooling/toml_emit.py +0 -0
  257. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/catalogue_tooling/version_ranges.py +0 -0
  258. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/categories.py +0 -0
  259. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/__init__.py +0 -0
  260. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/_drop_warning.py +0 -0
  261. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/catalogue_index.py +0 -0
  262. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/catalogue_tooling_stub.py +0 -0
  263. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/config.py +0 -0
  264. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/list_packs.py +0 -0
  265. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/list_profiles.py +0 -0
  266. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/list_targets.py +0 -0
  267. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/pack_evals.py +0 -0
  268. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/reconcile.py +0 -0
  269. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/commands/scaffold.py +0 -0
  270. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/config.py +0 -0
  271. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/direct_install.py +0 -0
  272. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/direct_source_acquisition.py +0 -0
  273. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/direct_source_state.py +0 -0
  274. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/direct_validate.py +0 -0
  275. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/local_exclude.py +0 -0
  276. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/oplog.py +0 -0
  277. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/pack_inventory.py +0 -0
  278. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/render.py +0 -0
  279. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/scaffold.py +0 -0
  280. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/scope.py +0 -0
  281. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/source_defaults.py +0 -0
  282. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle/user_config.py +0 -0
  283. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle.egg-info/dependency_links.txt +0 -0
  284. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle.egg-info/entry_points.txt +0 -0
  285. {agentbundle-0.46.1 → agentbundle-0.51.0}/agentbundle.egg-info/top_level.txt +0 -0
  286. {agentbundle-0.46.1 → agentbundle-0.51.0}/conftest.py +0 -0
  287. {agentbundle-0.46.1 → agentbundle-0.51.0}/setup.cfg +0 -0
  288. {agentbundle-0.46.1 → agentbundle-0.51.0}/templates/install-marker.py +0 -0
  289. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/__init__.py +0 -0
  290. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/_direct_acquisition.py +0 -0
  291. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/__init__.py +0 -0
  292. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/fixtures/README.md +0 -0
  293. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/fixtures/claude-code-2.1.226-hook-events.json +0 -0
  294. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/fixtures/claude-code-2.1.228-hook-events.json +0 -0
  295. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/fixtures/packs/core/.apm/agents/bar.md +0 -0
  296. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/fixtures/packs/core/.apm/commands/qux.md +0 -0
  297. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/fixtures/packs/core/.apm/hook-wiring/baz.toml +0 -0
  298. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/fixtures/packs/core/.apm/hook-wiring/qux.toml +0 -0
  299. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/fixtures/packs/core/.apm/hooks/baz.py +0 -0
  300. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/fixtures/packs/core/.apm/hooks/baz.sh +0 -0
  301. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/fixtures/packs/core/.apm/skills/example/SKILL.md +0 -0
  302. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/fixtures/packs/core/.claude-plugin/plugin.json +0 -0
  303. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/fixtures/packs/core/pack.toml +0 -0
  304. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/fixtures/packs/governance-extras/.apm/skills/example/SKILL.md +0 -0
  305. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/fixtures/packs/governance-extras/.claude-plugin/plugin.json +0 -0
  306. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/fixtures/packs/governance-extras/pack.toml +0 -0
  307. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/fixtures/packs/monorepo-extras/.apm/skills/example/SKILL.md +0 -0
  308. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/fixtures/packs/monorepo-extras/.claude-plugin/plugin.json +0 -0
  309. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/fixtures/packs/monorepo-extras/pack.toml +0 -0
  310. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/fixtures/packs/product-documentation/.apm/skills/example/SKILL.md +0 -0
  311. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/fixtures/packs/product-documentation/.claude-plugin/plugin.json +0 -0
  312. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/fixtures/packs/product-documentation/pack.toml +0 -0
  313. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/.apm/skills/example/SKILL.md +0 -0
  314. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/.claude-plugin/plugin.json +0 -0
  315. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/pack.toml +0 -0
  316. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/fixtures/recipes/bogus-target.toml +0 -0
  317. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_adapter_claude_code.py +0 -0
  318. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_adapter_codex.py +0 -0
  319. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_adapter_copilot.py +0 -0
  320. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_adapter_cursor.py +0 -0
  321. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_adapter_gemini.py +0 -0
  322. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_adapter_kiro.py +0 -0
  323. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_adapter_kiro_alias.py +0 -0
  324. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_adapter_kiro_cli.py +0 -0
  325. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_adapter_kiro_ide.py +0 -0
  326. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_adapter_root_bins_projection.py +0 -0
  327. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_agent_boundary_metadata_projection.py +0 -0
  328. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_build_ships_seeds.py +0 -0
  329. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_contract.py +0 -0
  330. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_contract_scope.py +0 -0
  331. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_contract_v07.py +0 -0
  332. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_contract_v08.py +0 -0
  333. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_direct_directory_cleanup.py +0 -0
  334. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_distribution_route_contract.py +0 -0
  335. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_distribution_route_golden.py +0 -0
  336. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_distribution_route_resolution.py +0 -0
  337. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_end_to_end_build.py +0 -0
  338. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_hook_wiring_rules.py +0 -0
  339. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_lint_packs.py +0 -0
  340. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_load_pack_hook_wiring_safely.py +0 -0
  341. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_pack_schema_allowed_adapters.py +0 -0
  342. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_pack_schema_install.py +0 -0
  343. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_pipeline.py +0 -0
  344. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_plugin_hooks.py +0 -0
  345. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_plugin_manifest_schema.py +0 -0
  346. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_policy_registry_projection.py +0 -0
  347. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_projectable_subset.py +0 -0
  348. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_projection_io.py +0 -0
  349. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_projections_merge_json.py +0 -0
  350. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_route_lookup.py +0 -0
  351. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_security.py +0 -0
  352. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_self_host_fixture_guard.py +0 -0
  353. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_self_host_metadata_policy.py +0 -0
  354. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_self_host_recipe_config.py +0 -0
  355. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_sequential_implementer_dispatch_projection.py +0 -0
  356. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_shared_libs_projection.py +0 -0
  357. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_shared_prefix_contract.py +0 -0
  358. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_user_libs_projection.py +0 -0
  359. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_validate.py +0 -0
  360. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/build_pipeline/test_writers_emit_lf.py +0 -0
  361. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/conftest.py +0 -0
  362. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/contracts/test_agentbundle_show_schema.py +0 -0
  363. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/contracts/test_skill_schema.py +0 -0
  364. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/adapt/.adapt-discovery.toml +0 -0
  365. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/adapt/values.toml +0 -0
  366. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/blank_catalogue/.claude-plugin/marketplace.json +0 -0
  367. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/blank_catalogue/catalogue.toml +0 -0
  368. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/blank_catalogue/packs/.gitkeep +0 -0
  369. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/blank_catalogue/packs/_example/.apm/skills/example-skill/SKILL.md +0 -0
  370. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/blank_catalogue/packs/_example/.claude-plugin/plugin.json +0 -0
  371. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/blank_catalogue/packs/_example/README.md +0 -0
  372. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/blank_catalogue/packs/_example/evals/eval_queries.json +0 -0
  373. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/blank_catalogue/packs/_example/pack.toml +0 -0
  374. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/blank_catalogue/profiles/.gitkeep +0 -0
  375. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/blank_catalogue/profiles/_example/README.md +0 -0
  376. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/blank_catalogue/profiles/_example/profile.toml +0 -0
  377. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/brownfield/values.toml +0 -0
  378. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/brownfield-adapt/AGENTS.md +0 -0
  379. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/brownfield-adapt/AGENTS.upstream.md +0 -0
  380. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/brownfield-adapt/DESIGN.md +0 -0
  381. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/brownfield-adapt/EXPECTED_TREE.md +0 -0
  382. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/brownfield-adapt/docs/CHARTER.md +0 -0
  383. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/brownfield-adapt/docs/guides/how-to/index.md +0 -0
  384. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/brownfield-adapt/docs/howto/getting-started.md +0 -0
  385. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/brownfield-adapt-expected/AGENTS.md +0 -0
  386. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/brownfield-adapt-expected/docs/CHARTER.md +0 -0
  387. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/brownfield-adapt-user-home/.agentbundle/.adapt-discovery.toml +0 -0
  388. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/brownfield-adapt-user-home/.agentbundle/state.toml +0 -0
  389. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/catalogue_wave4/catalogue.toml +0 -0
  390. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/catalogue_wave4/packs/pack-with-journey/.apm/hook-wiring/example.json +0 -0
  391. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/catalogue_wave4/packs/pack-with-journey/.apm/skills/example-skill/SKILL.md +0 -0
  392. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/catalogue_wave4/packs/pack-with-journey/.apm/skills/example-skill/scripts/run.py +0 -0
  393. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/catalogue_wave4/packs/pack-with-journey/JOURNEY.md +0 -0
  394. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/catalogue_wave4/packs/pack-with-journey/pack.toml +0 -0
  395. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/catalogue_wave4/packs/pack-without-journey/pack.toml +0 -0
  396. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/catalogue_wave4/profiles/test-profile.toml +0 -0
  397. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/cognitive-load-hosts.json +0 -0
  398. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/creds/skills/argv-flag/SKILL.md +0 -0
  399. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/creds/skills/argv-flag/scripts/cli.py +0 -0
  400. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/creds/skills/argv-flag-derived/SKILL.md +0 -0
  401. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/creds/skills/argv-flag-derived/scripts/cli.py +0 -0
  402. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/creds/skills/argv-flag-normalised/SKILL.md +0 -0
  403. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/creds/skills/argv-flag-normalised/scripts/cli.py +0 -0
  404. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/creds/skills/conforming/SKILL.md +0 -0
  405. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/creds/skills/conforming/scripts/cli.py +0 -0
  406. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/creds/skills/dotfile-grep/SKILL.md +0 -0
  407. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/creds/skills/dotfile-grep/scripts/leak.py +0 -0
  408. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/creds/skills/dotfile-with-optout/SKILL.md +0 -0
  409. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/creds/skills/dotfile-with-optout/scripts/legit.py +0 -0
  410. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/creds/skills/mcp-server-headers/SKILL.md +0 -0
  411. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/creds/skills/mcp-server-headers/scripts/cli.py +0 -0
  412. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/creds/skills/missing-dont-block/SKILL.md +0 -0
  413. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/direct/ac35_corpus_verdicts.json +0 -0
  414. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/direct/golden_state_0_5.toml +0 -0
  415. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/distribution-routes/golden.json +0 -0
  416. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/distribution-routes/witness-packs/portable/.apm/skills/example/SKILL.md +0 -0
  417. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/distribution-routes/witness-packs/portable/pack.toml +0 -0
  418. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/external_catalogue/.claude-plugin/marketplace.json +0 -0
  419. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/external_catalogue/AGENTS.md +0 -0
  420. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/external_catalogue/LICENSE-APACHE +0 -0
  421. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/external_catalogue/LICENSE-MIT +0 -0
  422. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/external_catalogue/agentbundle/_data/install-defaults.toml +0 -0
  423. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/external_catalogue/catalogue.toml +0 -0
  424. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/external_catalogue/packs/alpha/.apm/skills/example/SKILL.md +0 -0
  425. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/external_catalogue/packs/alpha/.claude-plugin/plugin.json +0 -0
  426. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/external_catalogue/packs/alpha/pack.toml +0 -0
  427. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/external_catalogue/packs/alpha/seeds/AGENTS.md +0 -0
  428. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/external_catalogue/packs/beta/.claude-plugin/plugin.json +0 -0
  429. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/external_catalogue/packs/beta/pack.toml +0 -0
  430. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/external_catalogue/profiles/example.toml +0 -0
  431. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/agents/helper.md +0 -0
  432. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/commands/cmd.md +0 -0
  433. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/hook-wiring/run.toml +0 -0
  434. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/hooks/run.sh +0 -0
  435. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/skills/example/SKILL.md +0 -0
  436. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/install/catalogue/packs/alpha/.claude-plugin/plugin.json +0 -0
  437. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/install/catalogue/packs/alpha/pack.toml +0 -0
  438. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/kiro_ide_hook/ask_agent_basic.kiro.hook +0 -0
  439. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/kiro_ide_hook/run_command_with_placeholder.kiro.hook +0 -0
  440. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/lint_packs/clean/pack.toml +0 -0
  441. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/lint_packs/clean/seeds/README.md +0 -0
  442. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/list-installed/golden_120col.txt +0 -0
  443. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/list-installed/golden_80col.txt +0 -0
  444. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/list_packs/catalogue/packs/alpha/pack.toml +0 -0
  445. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/list_packs/catalogue/packs/beta/pack.toml +0 -0
  446. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/local_scope/catalogue/packs/local-test-pack/.apm/skills/local-test/SKILL.md +0 -0
  447. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/local_scope/catalogue/packs/local-test-pack/pack.toml +0 -0
  448. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/packs/cc-user-hooks/.apm/hook-wiring/on-prompt.toml +0 -0
  449. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/packs/cc-user-hooks/.apm/hooks/on-prompt.sh +0 -0
  450. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/packs/cc-user-hooks/pack.toml +0 -0
  451. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/packs/kiro-repo-hooks/.apm/agents/reviewer.md +0 -0
  452. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/packs/kiro-repo-hooks/.apm/hook-wiring/on-spawn.toml +0 -0
  453. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/packs/kiro-repo-hooks/.apm/hooks/on-spawn.sh +0 -0
  454. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/packs/kiro-repo-hooks/pack.toml +0 -0
  455. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/packs/kiro-user-hooks/.apm/agents/reviewer.md +0 -0
  456. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/packs/kiro-user-hooks/.apm/hook-wiring/on-spawn.toml +0 -0
  457. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/packs/kiro-user-hooks/.apm/hooks/on-spawn.sh +0 -0
  458. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/packs/kiro-user-hooks/pack.toml +0 -0
  459. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/agents/reviewer.md +0 -0
  460. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/hook-wiring/on-spawn.toml +0 -0
  461. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/hooks/on-spawn.sh +0 -0
  462. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/packs/malformed-kiro-missing-attach/pack.toml +0 -0
  463. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/agents/reviewer.md +0 -0
  464. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/hook-wiring/on-spawn.toml +0 -0
  465. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/hooks/on-spawn.sh +0 -0
  466. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/packs/malformed-kiro-pascal-events/pack.toml +0 -0
  467. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/agents/reviewer.md +0 -0
  468. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/hook-wiring/on-spawn.toml +0 -0
  469. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/hooks/on-spawn.sh +0 -0
  470. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/packs/malformed-kiro-unknown-agent/pack.toml +0 -0
  471. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/scaffold/test-pack/seeds/AGENTS.md +0 -0
  472. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/scaffold/test-pack/seeds/_agents-footer.md +0 -0
  473. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/scaffold/test-pack/seeds/docs/CHARTER.md +0 -0
  474. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/show_contract/agentbundle-show.schema.json +0 -0
  475. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/show_contract/catalogue.json +0 -0
  476. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/show_contract/installed_state.json +0 -0
  477. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/agents/reviewer.md +0 -0
  478. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/commands/deploy.md +0 -0
  479. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hook-wiring/pre-commit.toml +0 -0
  480. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hooks/lint.py +0 -0
  481. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hooks/pre-commit.sh +0 -0
  482. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
  483. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.claude-plugin/plugin.json +0 -0
  484. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/pack.toml +0 -0
  485. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/agents/reviewer.md +0 -0
  486. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/commands/deploy.md +0 -0
  487. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hook-wiring/pre-commit.toml +0 -0
  488. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hooks/lint.py +0 -0
  489. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hooks/pre-commit.sh +0 -0
  490. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
  491. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.claude-plugin/plugin.json +0 -0
  492. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/pack.toml +0 -0
  493. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/agents/reviewer.md +0 -0
  494. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/commands/deploy.md +0 -0
  495. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hook-wiring/pre-commit.toml +0 -0
  496. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hooks/lint.py +0 -0
  497. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hooks/pre-commit.sh +0 -0
  498. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
  499. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.claude-plugin/plugin.json +0 -0
  500. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/pack.toml +0 -0
  501. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/validate/bad_recipe_pack/pack.toml +0 -0
  502. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/validate/malformed_pack/pack.toml +0 -0
  503. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/validate/valid_pack/pack.toml +0 -0
  504. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/fixtures/validate/version_mismatch_pack/pack.toml +0 -0
  505. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/__init__.py +0 -0
  506. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_adapt_cmd.py +0 -0
  507. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_adapt_dual_scope.py +0 -0
  508. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_adapt_preflight_detection.py +0 -0
  509. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_adapt_schema_migration.py +0 -0
  510. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_apm_install_route.py +0 -0
  511. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_blank_catalogue.py +0 -0
  512. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_brownfield_adapt_end_to_end.py +0 -0
  513. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_brownfield_user_home_fixture.py +0 -0
  514. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_build_check_drift_gates.py +0 -0
  515. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_build_derivation_apm.py +0 -0
  516. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_build_derivation_claude_plugins.py +0 -0
  517. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_catalogue_init.py +0 -0
  518. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_catalogue_verify_adapter_compat.py +0 -0
  519. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_catalogue_verify_dependencies.py +0 -0
  520. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_catalogue_verify_external_portability.py +0 -0
  521. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_catalogue_verify_fixture_checks.py +0 -0
  522. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_catalogue_verify_marketplace.py +0 -0
  523. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_catalogue_verify_output_drift.py +0 -0
  524. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_catalogue_verify_package_preflight.py +0 -0
  525. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_catalogue_verify_plugin_path.py +0 -0
  526. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_catalogue_verify_profile_schema.py +0 -0
  527. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_catalogue_verify_step1.py +0 -0
  528. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_catalogue_wave4_index_generator.py +0 -0
  529. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_catalogue_wave4_integration.py +0 -0
  530. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_catalogue_wave4_journey_validator.py +0 -0
  531. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_catalogue_wave4_schema.py +0 -0
  532. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_cc_user_hooks_fixture.py +0 -0
  533. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_claude_plugins_install_route.py +0 -0
  534. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_config_cascade.py +0 -0
  535. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_credentials_wheel.py +0 -0
  536. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_discovery_schema_cross_consumer.py +0 -0
  537. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_editable_source_detection.py +0 -0
  538. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_install_copilot_full_parity.py +0 -0
  539. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_install_profile.py +0 -0
  540. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_install_profile_live.py +0 -0
  541. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_install_repo_scope_per_adapter.py +0 -0
  542. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_kiro_repo_hooks_fixture.py +0 -0
  543. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_kiro_user_hooks_fixture.py +0 -0
  544. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_list_packs_cmd.py +0 -0
  545. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_marketplace_manifest_regression.py +0 -0
  546. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_multi_pack_install.py +0 -0
  547. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_orphan_cleanup_respects_foreign_state.py +0 -0
  548. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_reserved_path_filter.py +0 -0
  549. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_scaffold_projection.py +0 -0
  550. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_self_host_schema_migration.py +0 -0
  551. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_self_host_sweep_respects_state.py +0 -0
  552. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_shared_prefix_coexistence.py +0 -0
  553. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_show_cmd.py +0 -0
  554. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_trust_fallback_tls.py +0 -0
  555. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_workspace_mcp_git_fsm.py +0 -0
  556. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/integration/test_zipapp.py +0 -0
  557. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/performance/__init__.py +0 -0
  558. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/performance/test_direct_family2_budget_cost.py +0 -0
  559. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/test_adapter_permissions_projection.py +0 -0
  560. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/test_workspace_mcp_elicit.py +0 -0
  561. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/test_workspace_mcp_event_bridge.py +0 -0
  562. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/test_workspace_mcp_git.py +0 -0
  563. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/test_workspace_mcp_lifecycle.py +0 -0
  564. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/test_workspace_mcp_stdin.py +0 -0
  565. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/test_workspace_mcp_tools.py +0 -0
  566. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/__init__.py +0 -0
  567. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_adapt_discovery_schema.py +0 -0
  568. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_adapter_symlink_policy.py +0 -0
  569. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_append_layout_section.py +0 -0
  570. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_architect_readme_install_command.py +0 -0
  571. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_catalogue_ci_contract.py +0 -0
  572. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_catalogue_curation_deps.py +0 -0
  573. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_catalogue_init_cli_self_hosted.py +0 -0
  574. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_catalogue_pack_defaults.py +0 -0
  575. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_catalogue_self_hosted_export_removal.py +0 -0
  576. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_catalogue_skill_spec_lint.py +0 -0
  577. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_catalogue_tooling_archive.py +0 -0
  578. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_catalogue_tooling_build.py +0 -0
  579. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_catalogue_tooling_defaults.py +0 -0
  580. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_catalogue_tooling_file_safety.py +0 -0
  581. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_catalogue_tooling_foundation.py +0 -0
  582. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_catalogue_tooling_identity.py +0 -0
  583. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_catalogue_tooling_init.py +0 -0
  584. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_catalogue_tooling_lint.py +0 -0
  585. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_catalogue_tooling_package.py +0 -0
  586. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_catalogue_tooling_self_host.py +0 -0
  587. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_catalogue_tooling_source_package.py +0 -0
  588. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_catalogue_tooling_verify.py +0 -0
  589. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_catalogue_trust_fallback.py +0 -0
  590. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_catalogue_wave2_schema.py +0 -0
  591. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_catalogue_wave2_validation.py +0 -0
  592. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_catalogue_wave3_contracts_cli.py +0 -0
  593. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_catalogue_wave3_contracts_inspector.py +0 -0
  594. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_catalogue_wave3_init_nextsteps.py +0 -0
  595. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_catalogue_wave3_offline_navigation.py +0 -0
  596. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_cli_catalogue_optional.py +0 -0
  597. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_cli_help_lists_config.py +0 -0
  598. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_cli_list_targets_help.py +0 -0
  599. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_cli_path_normalisation.py +0 -0
  600. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_cli_profile_surface.py +0 -0
  601. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_cli_scope_flags.py +0 -0
  602. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_codex_agent_toml.py +0 -0
  603. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_codex_projection_modes.py +0 -0
  604. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_cognitive_load_seed_contract.py +0 -0
  605. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_collect_tree_symlinks.py +0 -0
  606. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_config.py +0 -0
  607. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_config_cmd.py +0 -0
  608. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_configured_adapter.py +0 -0
  609. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_confirm_helper.py +0 -0
  610. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_contract_parity.py +0 -0
  611. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_contract_v0_3_schema.py +0 -0
  612. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_copilot_agent_md.py +0 -0
  613. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_copilot_hooks_json.py +0 -0
  614. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_copilot_user_scope_wiring.py +0 -0
  615. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_credbroker_lint_hardening.py +0 -0
  616. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_dependencies_batch.py +0 -0
  617. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_direct_admission.py +0 -0
  618. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_direct_architecture_controls.py +0 -0
  619. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_direct_diagnostics.py +0 -0
  620. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_direct_lifecycle_facts.py +0 -0
  621. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_direct_source_acquisition.py +0 -0
  622. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_direct_source_state.py +0 -0
  623. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_direct_upgrade.py +0 -0
  624. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_direct_validate.py +0 -0
  625. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_footprint_ownership.py +0 -0
  626. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_install_argparse_adapter_flag.py +0 -0
  627. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_install_argparse_emit_install_routes.py +0 -0
  628. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_install_dropped_primitives_warning.py +0 -0
  629. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_install_event_dropped_wirings.py +0 -0
  630. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_install_force_help.py +0 -0
  631. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_install_inband_detection.py +0 -0
  632. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_install_messages_repo_scope.py +0 -0
  633. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_install_refusal_ordering.py +0 -0
  634. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_kiro_ide_hook_projection.py +0 -0
  635. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_kiro_ide_hook_rail.py +0 -0
  636. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_kiro_ide_hook_schema.py +0 -0
  637. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_lint_agent_artifacts_metadata_auth.py +0 -0
  638. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_list_installed_cmd.py +0 -0
  639. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_list_installed_status.py +0 -0
  640. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_list_targets_cmd.py +0 -0
  641. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_local_exclude_git_cache.py +0 -0
  642. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_local_scope_schema.py +0 -0
  643. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_local_scope_t10_uninstall.py +0 -0
  644. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_local_scope_t12_show.py +0 -0
  645. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_local_scope_t2_resolve.py +0 -0
  646. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_local_scope_t3_config.py +0 -0
  647. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_local_scope_t4_state_path.py +0 -0
  648. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_local_scope_t5_list_installed.py +0 -0
  649. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_local_scope_t7_install_gates.py +0 -0
  650. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_local_scope_t8_install.py +0 -0
  651. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_local_scope_t9_exclude.py +0 -0
  652. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_marker_schema_version_parity.py +0 -0
  653. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_merge_into_agent_json.py +0 -0
  654. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_nested_symlink_hardening.py +0 -0
  655. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_okf_discovery.py +0 -0
  656. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_org_bootstrap.py +0 -0
  657. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_pack_config_api.py +0 -0
  658. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_pack_inventory.py +0 -0
  659. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_pack_layout_section_schema.py +0 -0
  660. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_package_catalogue.py +0 -0
  661. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_packstate_source_provenance.py +0 -0
  662. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_pipeline_phase_order.py +0 -0
  663. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_profile_reader.py +0 -0
  664. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_render.py +0 -0
  665. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_render_table.py +0 -0
  666. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_resolve_state_path.py +0 -0
  667. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_resolve_target_adapter_user_config.py +0 -0
  668. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_resolve_user_scope_target_adapter.py +0 -0
  669. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_safety_repo_scope_prefixes.py +0 -0
  670. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_safety_scan_per_pack_scoping.py +0 -0
  671. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_scope.py +0 -0
  672. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_self_host_windows.py +0 -0
  673. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_shared_prefix_disclosure.py +0 -0
  674. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_source_defaults.py +0 -0
  675. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_state_v02.py +0 -0
  676. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_state_v0_4_schema.py +0 -0
  677. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_statelock.py +0 -0
  678. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_statelock_hardening.py +0 -0
  679. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_target_resolver.py +0 -0
  680. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_toml_emitters.py +0 -0
  681. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_unresolved_markers.py +0 -0
  682. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_upgrade_bulk_all.py +0 -0
  683. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_upgrade_recap.py +0 -0
  684. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_upgrade_source_inference.py +0 -0
  685. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_user_config_io.py +0 -0
  686. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_user_config_isolation.py +0 -0
  687. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_user_config_path.py +0 -0
  688. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_user_config_source.py +0 -0
  689. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_user_merge_json.py +0 -0
  690. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_validate_attach_to_agent.py +0 -0
  691. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_values_from_shapes.py +0 -0
  692. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_version.py +0 -0
  693. {agentbundle-0.46.1 → agentbundle-0.51.0}/tests/unit/test_windows_direct_suite_registration.py +0 -0
  694. {agentbundle-0.46.1 → agentbundle-0.51.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.46.1
3
+ Version: 0.51.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,96 @@ 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.51.0
39
+
40
+ HTTPS catalogue acquisition now selects credentials automatically. Set
41
+ `AGENTBUNDLE_HTTP_BEARER_TOKEN` for a bearer token, configure a JFrog CLI 2.105.0+
42
+ profile with `jf login` or `jf config add` (and optionally name it with
43
+ `JFROG_CLI_SERVER_ID`), or provide an exact-machine `.netrc` record for the
44
+ catalogue host. Public catalogues still work with no credential setup. AgentBundle
45
+ picks the first available source and stops — no fallback across credential types.
46
+
47
+ On a corporate network, set `AGENTBUNDLE_CA_BUNDLE` for bearer, `.netrc`, and
48
+ public catalogues. For the JFrog CLI path on Linux, set `SSL_CERT_FILE` or
49
+ `SSL_CERT_DIR` instead; `AGENTBUNDLE_CA_BUNDLE` does not reach the `jf`
50
+ subprocess. On macOS, add the corporate CA to the system keychain for the JFrog
51
+ CLI path.
52
+
53
+ ## What's new in 0.50.0
54
+
55
+ `agentbundle catalogue sync --package <name>` writes now instead of refusing.
56
+ `credbroker` syncs `packages/credbroker/`; `agentbundle` syncs the whole
57
+ vendored tooling root under `--tooling vendored`. Packages are written last,
58
+ and a failed package write rolls the run back.
59
+
60
+ A vendored sync refuses when the target supplies the `agentbundle` you are
61
+ running — replacing your own engine mid-run means what executes afterwards is
62
+ not what you reviewed.
63
+
64
+ ## What's new in 0.49.0
65
+
66
+ `agentbundle catalogue sync` can now write. Run it with neither `--dry-run`
67
+ nor `--check` and it asks for confirmation, then applies the same plan
68
+ `--dry-run` would have printed — updating unedited files, keeping your edits
69
+ behind a `.upstream.<ext>` companion, and removing paths the source stopped
70
+ shipping. Pass `--yes` to skip the prompt in a script or CI job. Four flags
71
+ scope a run to part of the catalogue: `--pack` (repeatable), `--profile`,
72
+ `--guides`, and `--package` (reserved; refuses for now — package sync is not
73
+ shipped yet). A source affording a resolved ref or a verified digest now has
74
+ that value recorded, so a later `--check` compares against it.
75
+
76
+ **Breaking:** the `sync` subcommand no longer resolves abbreviated flag
77
+ names. `--guides` is now a real flag — the scoping flag above — so a command
78
+ that relied on `--guides selected` resolving to `--guides-mode` now errors;
79
+ spell `--guides-mode selected` in full.
80
+
81
+ ## What's new in 0.48.0
82
+
83
+ `agentbundle catalogue sync` is a new command. It checks a derived catalogue
84
+ against its source without changing any file. `--dry-run` prints what would
85
+ update, what would keep your edits behind a `.upstream.<ext>` companion file,
86
+ and what the source no longer has. `--check` answers whether your catalogue
87
+ still matches its source.
88
+
89
+ Sync accepts every source form `catalogue init` does — a local path, a
90
+ `git+https://` URL, or a `catalogue+https://` descriptor — and reports which
91
+ of those affords a verified digest. It also warns, without ever blocking the
92
+ run, when a selected pack's version has moved in the source.
93
+
94
+ ## What's new in 0.47.3
95
+
96
+ **Fixed:** `git_commit` no longer stages files outside the item it was
97
+ dispatched for. If the `output_dir` you configure contains `*`, `?`, `[`, `{`
98
+ or `}`, that value cannot describe a commit scope, so `git_commit` now refuses
99
+ it with an error naming the section instead of committing from a wider
100
+ directory. A base containing `*` was the one that widened the scope; the others
101
+ matched nothing and now say so. `git_status`, `git_branch` and `git_push` keep
102
+ working. Rename the directory to one without those characters to commit again.
103
+
104
+ ## What's new in 0.47.2
105
+
106
+ **Fixed:** `workspace_status` now applies the same character rules to your
107
+ configured `output_dir` that it applies to every other path it reports. A value
108
+ using anything outside letters, digits and `. _ - /` is reported as no pattern,
109
+ with a warning naming the section, instead of being passed through.
110
+
111
+ ## What's new in 0.47.1
112
+
113
+ **Fixed:** `workspace_status` now reports the output path your
114
+ `agentbundle-layout.toml` configures. It previously showed the built-in default
115
+ for an item type while the git tools committed to your configured `output_dir`,
116
+ so the status surface and everything else disagreed. If your configured
117
+ directory resolves outside the repository, the status surface now reports no
118
+ pattern and says why, because commits are confined to the repository.
119
+
120
+ ## What's new in 0.47.0
121
+
122
+ **Removed:** the work-loop telemetry resolver. `jsonl-otlp-export` now reads
123
+ `[telemetry]` from your repository and user `agentbundle-layout.toml` itself,
124
+ through its own `--config` and `--user-config` flags, so invoking it no longer
125
+ requires importing this package. Configuration files, their location and their
126
+ repository-wins-per-setting precedence are unchanged; only what reads them moved.
127
+
37
128
  ## What's new in 0.46.1
38
129
 
39
130
  `catalogue init` no longer stages its writes under a name another local user
@@ -57,22 +148,9 @@ null. Values written into the generated `catalogue.toml` are escaped for TOML.
57
148
 
58
149
  ## What's new in 0.45.0
59
150
 
60
- `agentbundle` can now work out where to send your work-loop telemetry.
61
- `agentbundle.telemetry_layout.resolve()` reads the `[telemetry]` section of the
62
- `agentbundle-layout.toml` in your repository and the one in your user layout
63
- directory, and returns the arguments for the separately installed
64
- `jsonl-otlp-exporter` sender. Nothing is sent unless you configure an endpoint
65
- and install that sender: they are two separate consents.
66
-
67
- Repository settings win per setting, because sending data off the machine is a
68
- team decision rather than a personal one. Both files are read through the
69
- catalogue's confinement helper and bounded at 64 KiB, and a `[telemetry]`
70
- setting the sender has no route for is refused — naming the file it came from —
71
- rather than silently ignored.
72
-
73
- `catalogue lint` also reports `CAT-L032` when a pack declares an optional
74
- runtime dependency you do not have installed. It names the package and exits 0.
75
- It never invokes a package manager and never installs anything.
151
+ Work-loop telemetry configuration. The resolver this release introduced was
152
+ removed in 0.47.0 — the sender reads both `agentbundle-layout.toml` files
153
+ itself, so nothing in this package stands between your configuration and it.
76
154
 
77
155
  ## What's new in 0.44.3
78
156
 
@@ -482,9 +560,21 @@ agentbundle install --pack core
482
560
  ```
483
561
 
484
562
  The channel descriptor points to an immutable versioned archive; agentbundle
485
- fetches, verifies its SHA-256 digest, and installs. Pass a bearer token via
486
- `AGENTBUNDLE_HTTP_BEARER_TOKEN` — it is never stored in state, never printed, and
487
- never forwarded to a different host.
563
+ fetches, verifies its SHA-256 digest, and installs.
564
+
565
+ AgentBundle picks credentials automatically: set `AGENTBUNDLE_HTTP_BEARER_TOKEN`
566
+ for a bearer token, configure a JFrog CLI 2.105.0+ profile with `jf login` or
567
+ `jf config add` (optionally name it with `JFROG_CLI_SERVER_ID`), or provide an
568
+ exact-machine `.netrc` record. Public catalogues need no credential setup.
569
+ AgentBundle picks the first available source and does not fall back across types.
570
+ AgentBundle never stores or prints the catalogue credential, and never forwards
571
+ it to another origin — redirects that leave the origin are rejected.
572
+
573
+ For bearer, `.netrc`, and public catalogues, set `AGENTBUNDLE_CA_BUNDLE` for a
574
+ private CA. For the JFrog CLI path on Linux, use `SSL_CERT_FILE` or
575
+ `SSL_CERT_DIR`; `AGENTBUNDLE_CA_BUNDLE` does not reach the `jf` subprocess. On
576
+ macOS, add the corporate CA to the system keychain for the JFrog CLI path — `jf
577
+ api` reads only the system keychain there and ignores `~/.jfrog/security/certs/`.
488
578
 
489
579
  **JSON output for CI pipelines:**
490
580
 
@@ -863,7 +953,7 @@ not the environment — compare them with
863
953
 
864
954
  ## Credentials
865
955
 
866
- `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.
956
+ 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.
867
957
 
868
958
  ## Learn more
869
959
 
@@ -14,6 +14,96 @@ 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.51.0
18
+
19
+ HTTPS catalogue acquisition now selects credentials automatically. Set
20
+ `AGENTBUNDLE_HTTP_BEARER_TOKEN` for a bearer token, configure a JFrog CLI 2.105.0+
21
+ profile with `jf login` or `jf config add` (and optionally name it with
22
+ `JFROG_CLI_SERVER_ID`), or provide an exact-machine `.netrc` record for the
23
+ catalogue host. Public catalogues still work with no credential setup. AgentBundle
24
+ picks the first available source and stops — no fallback across credential types.
25
+
26
+ On a corporate network, set `AGENTBUNDLE_CA_BUNDLE` for bearer, `.netrc`, and
27
+ public catalogues. For the JFrog CLI path on Linux, set `SSL_CERT_FILE` or
28
+ `SSL_CERT_DIR` instead; `AGENTBUNDLE_CA_BUNDLE` does not reach the `jf`
29
+ subprocess. On macOS, add the corporate CA to the system keychain for the JFrog
30
+ CLI path.
31
+
32
+ ## What's new in 0.50.0
33
+
34
+ `agentbundle catalogue sync --package <name>` writes now instead of refusing.
35
+ `credbroker` syncs `packages/credbroker/`; `agentbundle` syncs the whole
36
+ vendored tooling root under `--tooling vendored`. Packages are written last,
37
+ and a failed package write rolls the run back.
38
+
39
+ A vendored sync refuses when the target supplies the `agentbundle` you are
40
+ running — replacing your own engine mid-run means what executes afterwards is
41
+ not what you reviewed.
42
+
43
+ ## What's new in 0.49.0
44
+
45
+ `agentbundle catalogue sync` can now write. Run it with neither `--dry-run`
46
+ nor `--check` and it asks for confirmation, then applies the same plan
47
+ `--dry-run` would have printed — updating unedited files, keeping your edits
48
+ behind a `.upstream.<ext>` companion, and removing paths the source stopped
49
+ shipping. Pass `--yes` to skip the prompt in a script or CI job. Four flags
50
+ scope a run to part of the catalogue: `--pack` (repeatable), `--profile`,
51
+ `--guides`, and `--package` (reserved; refuses for now — package sync is not
52
+ shipped yet). A source affording a resolved ref or a verified digest now has
53
+ that value recorded, so a later `--check` compares against it.
54
+
55
+ **Breaking:** the `sync` subcommand no longer resolves abbreviated flag
56
+ names. `--guides` is now a real flag — the scoping flag above — so a command
57
+ that relied on `--guides selected` resolving to `--guides-mode` now errors;
58
+ spell `--guides-mode selected` in full.
59
+
60
+ ## What's new in 0.48.0
61
+
62
+ `agentbundle catalogue sync` is a new command. It checks a derived catalogue
63
+ against its source without changing any file. `--dry-run` prints what would
64
+ update, what would keep your edits behind a `.upstream.<ext>` companion file,
65
+ and what the source no longer has. `--check` answers whether your catalogue
66
+ still matches its source.
67
+
68
+ Sync accepts every source form `catalogue init` does — a local path, a
69
+ `git+https://` URL, or a `catalogue+https://` descriptor — and reports which
70
+ of those affords a verified digest. It also warns, without ever blocking the
71
+ run, when a selected pack's version has moved in the source.
72
+
73
+ ## What's new in 0.47.3
74
+
75
+ **Fixed:** `git_commit` no longer stages files outside the item it was
76
+ dispatched for. If the `output_dir` you configure contains `*`, `?`, `[`, `{`
77
+ or `}`, that value cannot describe a commit scope, so `git_commit` now refuses
78
+ it with an error naming the section instead of committing from a wider
79
+ directory. A base containing `*` was the one that widened the scope; the others
80
+ matched nothing and now say so. `git_status`, `git_branch` and `git_push` keep
81
+ working. Rename the directory to one without those characters to commit again.
82
+
83
+ ## What's new in 0.47.2
84
+
85
+ **Fixed:** `workspace_status` now applies the same character rules to your
86
+ configured `output_dir` that it applies to every other path it reports. A value
87
+ using anything outside letters, digits and `. _ - /` is reported as no pattern,
88
+ with a warning naming the section, instead of being passed through.
89
+
90
+ ## What's new in 0.47.1
91
+
92
+ **Fixed:** `workspace_status` now reports the output path your
93
+ `agentbundle-layout.toml` configures. It previously showed the built-in default
94
+ for an item type while the git tools committed to your configured `output_dir`,
95
+ so the status surface and everything else disagreed. If your configured
96
+ directory resolves outside the repository, the status surface now reports no
97
+ pattern and says why, because commits are confined to the repository.
98
+
99
+ ## What's new in 0.47.0
100
+
101
+ **Removed:** the work-loop telemetry resolver. `jsonl-otlp-export` now reads
102
+ `[telemetry]` from your repository and user `agentbundle-layout.toml` itself,
103
+ through its own `--config` and `--user-config` flags, so invoking it no longer
104
+ requires importing this package. Configuration files, their location and their
105
+ repository-wins-per-setting precedence are unchanged; only what reads them moved.
106
+
17
107
  ## What's new in 0.46.1
18
108
 
19
109
  `catalogue init` no longer stages its writes under a name another local user
@@ -37,22 +127,9 @@ null. Values written into the generated `catalogue.toml` are escaped for TOML.
37
127
 
38
128
  ## What's new in 0.45.0
39
129
 
40
- `agentbundle` can now work out where to send your work-loop telemetry.
41
- `agentbundle.telemetry_layout.resolve()` reads the `[telemetry]` section of the
42
- `agentbundle-layout.toml` in your repository and the one in your user layout
43
- directory, and returns the arguments for the separately installed
44
- `jsonl-otlp-exporter` sender. Nothing is sent unless you configure an endpoint
45
- and install that sender: they are two separate consents.
46
-
47
- Repository settings win per setting, because sending data off the machine is a
48
- team decision rather than a personal one. Both files are read through the
49
- catalogue's confinement helper and bounded at 64 KiB, and a `[telemetry]`
50
- setting the sender has no route for is refused — naming the file it came from —
51
- rather than silently ignored.
52
-
53
- `catalogue lint` also reports `CAT-L032` when a pack declares an optional
54
- runtime dependency you do not have installed. It names the package and exits 0.
55
- It never invokes a package manager and never installs anything.
130
+ Work-loop telemetry configuration. The resolver this release introduced was
131
+ removed in 0.47.0 — the sender reads both `agentbundle-layout.toml` files
132
+ itself, so nothing in this package stands between your configuration and it.
56
133
 
57
134
  ## What's new in 0.44.3
58
135
 
@@ -462,9 +539,21 @@ agentbundle install --pack core
462
539
  ```
463
540
 
464
541
  The channel descriptor points to an immutable versioned archive; agentbundle
465
- fetches, verifies its SHA-256 digest, and installs. Pass a bearer token via
466
- `AGENTBUNDLE_HTTP_BEARER_TOKEN` — it is never stored in state, never printed, and
467
- never forwarded to a different host.
542
+ fetches, verifies its SHA-256 digest, and installs.
543
+
544
+ AgentBundle picks credentials automatically: set `AGENTBUNDLE_HTTP_BEARER_TOKEN`
545
+ for a bearer token, configure a JFrog CLI 2.105.0+ profile with `jf login` or
546
+ `jf config add` (optionally name it with `JFROG_CLI_SERVER_ID`), or provide an
547
+ exact-machine `.netrc` record. Public catalogues need no credential setup.
548
+ AgentBundle picks the first available source and does not fall back across types.
549
+ AgentBundle never stores or prints the catalogue credential, and never forwards
550
+ it to another origin — redirects that leave the origin are rejected.
551
+
552
+ For bearer, `.netrc`, and public catalogues, set `AGENTBUNDLE_CA_BUNDLE` for a
553
+ private CA. For the JFrog CLI path on Linux, use `SSL_CERT_FILE` or
554
+ `SSL_CERT_DIR`; `AGENTBUNDLE_CA_BUNDLE` does not reach the `jf` subprocess. On
555
+ macOS, add the corporate CA to the system keychain for the JFrog CLI path — `jf
556
+ api` reads only the system keychain there and ignores `~/.jfrog/security/certs/`.
468
557
 
469
558
  **JSON output for CI pipelines:**
470
559
 
@@ -843,7 +932,7 @@ not the environment — compare them with
843
932
 
844
933
  ## Credentials
845
934
 
846
- `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.
935
+ 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.
847
936
 
848
937
  ## Learn more
849
938
 
@@ -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