agentbundle 0.31.1__tar.gz → 0.32.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 (538) hide show
  1. {agentbundle-0.31.1/agentbundle.egg-info → agentbundle-0.32.0}/PKG-INFO +43 -8
  2. {agentbundle-0.31.1 → agentbundle-0.32.0}/README-pypi.md +42 -7
  3. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/adapter.schema.json +19 -0
  4. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/adapter.toml +6 -1
  5. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/plugin-manifest.derived.schema.json +33 -30
  6. agentbundle-0.32.0/agentbundle/build/hook_wiring_rules.py +402 -0
  7. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/lint_packs.py +32 -2
  8. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/main.py +193 -34
  9. agentbundle-0.32.0/agentbundle/build/projections/plugin_hooks.py +49 -0
  10. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/upgrade.py +1 -1
  11. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/validate.py +14 -3
  12. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/render.py +5 -2
  13. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/version.py +1 -1
  14. {agentbundle-0.31.1 → agentbundle-0.32.0/agentbundle.egg-info}/PKG-INFO +43 -8
  15. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle.egg-info/SOURCES.txt +6 -0
  16. {agentbundle-0.31.1 → agentbundle-0.32.0}/pyproject.toml +1 -1
  17. agentbundle-0.32.0/tests/build_pipeline/fixtures/packs/core/.apm/hook-wiring/baz.toml +5 -0
  18. agentbundle-0.32.0/tests/build_pipeline/fixtures/packs/core/.apm/hook-wiring/qux.toml +4 -0
  19. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/fixtures/packs/core/pack.toml +1 -1
  20. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_adapter_cursor.py +2 -2
  21. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_adapter_gemini.py +2 -3
  22. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_adapter_kiro_ide.py +3 -3
  23. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_contract.py +11 -3
  24. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_end_to_end_build.py +6 -8
  25. agentbundle-0.32.0/tests/build_pipeline/test_hook_wiring_rules.py +250 -0
  26. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_lint_packs.py +21 -0
  27. agentbundle-0.32.0/tests/build_pipeline/test_plugin_hooks.py +82 -0
  28. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_plugin_manifest_schema.py +74 -0
  29. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_shared_prefix_contract.py +1 -1
  30. agentbundle-0.32.0/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hook-wiring/pre-commit.toml +9 -0
  31. agentbundle-0.32.0/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hook-wiring/pre-commit.toml +9 -0
  32. agentbundle-0.32.0/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hook-wiring/pre-commit.toml +9 -0
  33. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_build_derivation_claude_plugins.py +108 -1
  34. agentbundle-0.32.0/tests/integration/test_hook_wiring_ingress.py +220 -0
  35. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_install_core_smoke.py +2 -3
  36. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_install_session_start_wiring.py +18 -16
  37. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_tier_invariants.py +1 -1
  38. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_contract_v0_3_schema.py +2 -2
  39. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_plugin_scope_filter.py +3 -1
  40. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_render_cmd.py +7 -10
  41. agentbundle-0.31.1/tests/build_pipeline/fixtures/packs/core/.apm/hook-wiring/baz.toml +0 -2
  42. agentbundle-0.31.1/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hook-wiring/pre-commit.toml +0 -10
  43. agentbundle-0.31.1/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hook-wiring/pre-commit.toml +0 -10
  44. agentbundle-0.31.1/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hook-wiring/pre-commit.toml +0 -10
  45. {agentbundle-0.31.1 → agentbundle-0.32.0}/MANIFEST.in +0 -0
  46. {agentbundle-0.31.1 → agentbundle-0.32.0}/README.md +0 -0
  47. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/__init__.py +0 -0
  48. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/__main__.py +0 -0
  49. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/catalogue-scaffold/guides/_shared/reference/catalogue-authoring-standards.md +0 -0
  50. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/catalogue-scaffold/guides/_shared/reference/catalogue-ci-contract.md +0 -0
  51. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/catalogue-scaffold/manifest.json +0 -0
  52. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/catalogue-scaffold/packs/AGENTS.md +0 -0
  53. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/catalogue-scaffold/packs/README.md +0 -0
  54. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/catalogue-scaffold/packs/_example/.apm/skills/example-skill/SKILL.md +0 -0
  55. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/catalogue-scaffold/packs/_example/.apm/skills/example-skill/evals/eval_queries.json +0 -0
  56. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/catalogue-scaffold/packs/_example/.claude-plugin/plugin.json +0 -0
  57. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/catalogue-scaffold/packs/_example/README.md +0 -0
  58. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/catalogue-scaffold/packs/_example/pack.toml +0 -0
  59. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/catalogue-scaffold/profiles/AGENTS.md +0 -0
  60. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/catalogue-scaffold/profiles/README.md +0 -0
  61. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/catalogue-scaffold/profiles/_example/README.md +0 -0
  62. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/catalogue-scaffold/profiles/_example/profile.toml +0 -0
  63. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_gemini_admissibility.py +0 -0
  64. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_pack_metadata.py +0 -0
  65. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_shared_library_boundaries.py +0 -0
  66. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/catalogue.schema.json +0 -0
  67. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/guide.schema.json +0 -0
  68. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/install-defaults.toml +0 -0
  69. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/install-marker.py +0 -0
  70. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/marketplace-entry.schema.json +0 -0
  71. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/pack.schema.json +0 -0
  72. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/plugin-manifest.schema.json +0 -0
  73. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/profile.schema.json +0 -0
  74. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/skill-manifest.schema.json +0 -0
  75. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/skill.schema.json +0 -0
  76. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/_data/target-vocab.toml +0 -0
  77. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/__init__.py +0 -0
  78. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/__main__.py +0 -0
  79. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/adapter_root_bins.py +0 -0
  80. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/adapters/__init__.py +0 -0
  81. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/adapters/claude_code.py +0 -0
  82. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/adapters/codex.py +0 -0
  83. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/adapters/copilot.py +0 -0
  84. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/adapters/cursor.py +0 -0
  85. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/adapters/gemini.py +0 -0
  86. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/adapters/kiro.py +0 -0
  87. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/adapters/kiro_cli.py +0 -0
  88. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/adapters/kiro_ide.py +0 -0
  89. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/contract.py +0 -0
  90. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/phase_order.py +0 -0
  91. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/projection_io.py +0 -0
  92. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/projections/__init__.py +0 -0
  93. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/projections/codex_agent_toml.py +0 -0
  94. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/projections/copilot_agent_md.py +0 -0
  95. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/projections/copilot_hooks_json.py +0 -0
  96. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/projections/direct_directory.py +0 -0
  97. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/projections/gemini_command_toml.py +0 -0
  98. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/projections/hook_id.py +0 -0
  99. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/projections/kiro_ide_hook.py +0 -0
  100. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/projections/merge_into_agent_json.py +0 -0
  101. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/projections/merge_json.py +0 -0
  102. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/projections/user_merge_json.py +0 -0
  103. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/recipes/composite-agents-md.toml +0 -0
  104. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/recipes/composite-marketplace.toml +0 -0
  105. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/recipes/marketplace.toml +0 -0
  106. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/recipes/per-pack-apm-package.toml +0 -0
  107. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/recipes/per-pack-claude-plugin.toml +0 -0
  108. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/recipes/per-pack-overlay.toml +0 -0
  109. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/recipes/self-host.toml +0 -0
  110. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/scope_rails.py +0 -0
  111. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/self_host.py +0 -0
  112. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/shared_libs.py +0 -0
  113. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/target_resolver.py +0 -0
  114. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/user_libs.py +0 -0
  115. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/build/validate.py +0 -0
  116. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/catalogue.py +0 -0
  117. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/catalogue_tooling/__init__.py +0 -0
  118. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/catalogue_tooling/archive.py +0 -0
  119. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/catalogue_tooling/build.py +0 -0
  120. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/catalogue_tooling/config.py +0 -0
  121. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/catalogue_tooling/defaults.py +0 -0
  122. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/catalogue_tooling/diagnostics.py +0 -0
  123. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/catalogue_tooling/file_safety.py +0 -0
  124. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/catalogue_tooling/identity.py +0 -0
  125. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/catalogue_tooling/initialise.py +0 -0
  126. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/catalogue_tooling/initialise_self_hosted.py +0 -0
  127. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/catalogue_tooling/lint.py +0 -0
  128. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/catalogue_tooling/package.py +0 -0
  129. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/catalogue_tooling/results.py +0 -0
  130. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/catalogue_tooling/self_host.py +0 -0
  131. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/catalogue_tooling/self_host_windows.py +0 -0
  132. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/catalogue_tooling/skill_spec_lint.py +0 -0
  133. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/catalogue_tooling/toml_emit.py +0 -0
  134. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/catalogue_tooling/verify.py +0 -0
  135. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/categories.py +0 -0
  136. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/cli.py +0 -0
  137. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/__init__.py +0 -0
  138. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/_common.py +0 -0
  139. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/_drop_warning.py +0 -0
  140. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/adapt.py +0 -0
  141. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/catalogue_build.py +0 -0
  142. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/catalogue_init.py +0 -0
  143. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/catalogue_lint.py +0 -0
  144. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/catalogue_package.py +0 -0
  145. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/catalogue_self_host.py +0 -0
  146. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/catalogue_sync_defaults.py +0 -0
  147. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/catalogue_tooling_stub.py +0 -0
  148. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/catalogue_verify.py +0 -0
  149. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/config.py +0 -0
  150. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/diff.py +0 -0
  151. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/docs.py +0 -0
  152. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/init_state.py +0 -0
  153. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/install.py +0 -0
  154. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/list_installed.py +0 -0
  155. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/list_packs.py +0 -0
  156. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/list_profiles.py +0 -0
  157. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/list_targets.py +0 -0
  158. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/oplog_cmd.py +0 -0
  159. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/pack_config_cmd.py +0 -0
  160. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/pack_evals.py +0 -0
  161. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/package_catalogue.py +0 -0
  162. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/profile.py +0 -0
  163. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/reconcile.py +0 -0
  164. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/render.py +0 -0
  165. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/scaffold.py +0 -0
  166. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/show.py +0 -0
  167. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/commands/uninstall.py +0 -0
  168. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/config.py +0 -0
  169. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/https_catalogue.py +0 -0
  170. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/local_exclude.py +0 -0
  171. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/oplog.py +0 -0
  172. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/pack_inventory.py +0 -0
  173. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/safety.py +0 -0
  174. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/scaffold.py +0 -0
  175. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/scope.py +0 -0
  176. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/source_defaults.py +0 -0
  177. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/statelock.py +0 -0
  178. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/user_config.py +0 -0
  179. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle/workspace_mcp.py +0 -0
  180. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle.egg-info/dependency_links.txt +0 -0
  181. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle.egg-info/entry_points.txt +0 -0
  182. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle.egg-info/requires.txt +0 -0
  183. {agentbundle-0.31.1 → agentbundle-0.32.0}/agentbundle.egg-info/top_level.txt +0 -0
  184. {agentbundle-0.31.1 → agentbundle-0.32.0}/conftest.py +0 -0
  185. {agentbundle-0.31.1 → agentbundle-0.32.0}/setup.cfg +0 -0
  186. {agentbundle-0.31.1 → agentbundle-0.32.0}/templates/install-marker.py +0 -0
  187. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/__init__.py +0 -0
  188. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/_support.py +0 -0
  189. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/__init__.py +0 -0
  190. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/fixtures/README.md +0 -0
  191. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/fixtures/packs/core/.apm/agents/bar.md +0 -0
  192. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/fixtures/packs/core/.apm/commands/qux.md +0 -0
  193. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/fixtures/packs/core/.apm/hooks/baz.py +0 -0
  194. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/fixtures/packs/core/.apm/hooks/baz.sh +0 -0
  195. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/fixtures/packs/core/.apm/skills/example/SKILL.md +0 -0
  196. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/fixtures/packs/core/.claude-plugin/plugin.json +0 -0
  197. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/fixtures/packs/governance-extras/.apm/skills/example/SKILL.md +0 -0
  198. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/fixtures/packs/governance-extras/.claude-plugin/plugin.json +0 -0
  199. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/fixtures/packs/governance-extras/pack.toml +0 -0
  200. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/fixtures/packs/monorepo-extras/.apm/skills/example/SKILL.md +0 -0
  201. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/fixtures/packs/monorepo-extras/.claude-plugin/plugin.json +0 -0
  202. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/fixtures/packs/monorepo-extras/pack.toml +0 -0
  203. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/fixtures/packs/product-documentation/.apm/skills/example/SKILL.md +0 -0
  204. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/fixtures/packs/product-documentation/.claude-plugin/plugin.json +0 -0
  205. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/fixtures/packs/product-documentation/pack.toml +0 -0
  206. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/.apm/skills/example/SKILL.md +0 -0
  207. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/.claude-plugin/plugin.json +0 -0
  208. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/pack.toml +0 -0
  209. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/fixtures/recipes/bogus-target.toml +0 -0
  210. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_adapter_claude_code.py +0 -0
  211. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_adapter_codex.py +0 -0
  212. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_adapter_copilot.py +0 -0
  213. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_adapter_kiro.py +0 -0
  214. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_adapter_kiro_alias.py +0 -0
  215. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_adapter_kiro_cli.py +0 -0
  216. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_adapter_root_bins_projection.py +0 -0
  217. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_build_ships_seeds.py +0 -0
  218. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_contract_scope.py +0 -0
  219. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_contract_v07.py +0 -0
  220. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_contract_v08.py +0 -0
  221. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_direct_directory_cleanup.py +0 -0
  222. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_load_pack_hook_wiring_safely.py +0 -0
  223. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_pack_schema.py +0 -0
  224. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_pack_schema_allowed_adapters.py +0 -0
  225. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_pack_schema_install.py +0 -0
  226. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_pipeline.py +0 -0
  227. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_projectable_subset.py +0 -0
  228. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_projections_merge_json.py +0 -0
  229. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_scope_rails.py +0 -0
  230. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_security.py +0 -0
  231. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_self_host_check.py +0 -0
  232. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_self_host_fixture_guard.py +0 -0
  233. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_self_host_recipe_config.py +0 -0
  234. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_shared_libs_projection.py +0 -0
  235. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_user_libs_projection.py +0 -0
  236. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_validate.py +0 -0
  237. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/build_pipeline/test_writers_emit_lf.py +0 -0
  238. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/conftest.py +0 -0
  239. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/adapt/.adapt-discovery.toml +0 -0
  240. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/adapt/values.toml +0 -0
  241. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/blank_catalogue/.claude-plugin/marketplace.json +0 -0
  242. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/blank_catalogue/packs/.gitkeep +0 -0
  243. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/blank_catalogue/packs/_example/.apm/skills/example-skill/SKILL.md +0 -0
  244. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/blank_catalogue/packs/_example/.claude-plugin/plugin.json +0 -0
  245. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/blank_catalogue/packs/_example/README.md +0 -0
  246. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/blank_catalogue/packs/_example/evals/eval_queries.json +0 -0
  247. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/blank_catalogue/packs/_example/pack.toml +0 -0
  248. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/blank_catalogue/profiles/.gitkeep +0 -0
  249. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/blank_catalogue/profiles/_example/README.md +0 -0
  250. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/blank_catalogue/profiles/_example/profile.toml +0 -0
  251. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/brownfield/values.toml +0 -0
  252. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/brownfield-adapt/AGENTS.md +0 -0
  253. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/brownfield-adapt/AGENTS.upstream.md +0 -0
  254. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/brownfield-adapt/DESIGN.md +0 -0
  255. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/brownfield-adapt/EXPECTED_TREE.md +0 -0
  256. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/brownfield-adapt/docs/CHARTER.md +0 -0
  257. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/brownfield-adapt/docs/guides/how-to/index.md +0 -0
  258. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/brownfield-adapt/docs/howto/getting-started.md +0 -0
  259. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/brownfield-adapt-expected/AGENTS.md +0 -0
  260. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/brownfield-adapt-expected/docs/CHARTER.md +0 -0
  261. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/brownfield-adapt-user-home/.agentbundle/.adapt-discovery.toml +0 -0
  262. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/brownfield-adapt-user-home/.agentbundle/state.toml +0 -0
  263. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/creds/skills/argv-flag/SKILL.md +0 -0
  264. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/creds/skills/argv-flag/scripts/cli.py +0 -0
  265. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/creds/skills/argv-flag-derived/SKILL.md +0 -0
  266. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/creds/skills/argv-flag-derived/scripts/cli.py +0 -0
  267. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/creds/skills/argv-flag-normalised/SKILL.md +0 -0
  268. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/creds/skills/argv-flag-normalised/scripts/cli.py +0 -0
  269. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/creds/skills/conforming/SKILL.md +0 -0
  270. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/creds/skills/conforming/scripts/cli.py +0 -0
  271. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/creds/skills/dotfile-grep/SKILL.md +0 -0
  272. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/creds/skills/dotfile-grep/scripts/leak.py +0 -0
  273. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/creds/skills/dotfile-with-optout/SKILL.md +0 -0
  274. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/creds/skills/dotfile-with-optout/scripts/legit.py +0 -0
  275. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/creds/skills/mcp-server-headers/SKILL.md +0 -0
  276. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/creds/skills/mcp-server-headers/scripts/cli.py +0 -0
  277. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/creds/skills/missing-dont-block/SKILL.md +0 -0
  278. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/agents/helper.md +0 -0
  279. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/commands/cmd.md +0 -0
  280. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/hook-wiring/run.toml +0 -0
  281. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/hooks/run.sh +0 -0
  282. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/skills/example/SKILL.md +0 -0
  283. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/install/catalogue/packs/alpha/.claude-plugin/plugin.json +0 -0
  284. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/install/catalogue/packs/alpha/pack.toml +0 -0
  285. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/kiro_ide_hook/ask_agent_basic.kiro.hook +0 -0
  286. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/kiro_ide_hook/run_command_with_placeholder.kiro.hook +0 -0
  287. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/lint_packs/clean/pack.toml +0 -0
  288. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/lint_packs/clean/seeds/README.md +0 -0
  289. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/list-installed/golden_120col.txt +0 -0
  290. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/list-installed/golden_80col.txt +0 -0
  291. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/list_packs/catalogue/packs/alpha/pack.toml +0 -0
  292. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/list_packs/catalogue/packs/beta/pack.toml +0 -0
  293. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/local_scope/catalogue/packs/local-test-pack/.apm/skills/local-test/SKILL.md +0 -0
  294. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/local_scope/catalogue/packs/local-test-pack/pack.toml +0 -0
  295. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/packs/cc-user-hooks/.apm/hook-wiring/on-prompt.toml +0 -0
  296. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/packs/cc-user-hooks/.apm/hooks/on-prompt.sh +0 -0
  297. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/packs/cc-user-hooks/pack.toml +0 -0
  298. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/packs/kiro-repo-hooks/.apm/agents/reviewer.md +0 -0
  299. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/packs/kiro-repo-hooks/.apm/hook-wiring/on-spawn.toml +0 -0
  300. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/packs/kiro-repo-hooks/.apm/hooks/on-spawn.sh +0 -0
  301. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/packs/kiro-repo-hooks/pack.toml +0 -0
  302. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/packs/kiro-user-hooks/.apm/agents/reviewer.md +0 -0
  303. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/packs/kiro-user-hooks/.apm/hook-wiring/on-spawn.toml +0 -0
  304. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/packs/kiro-user-hooks/.apm/hooks/on-spawn.sh +0 -0
  305. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/packs/kiro-user-hooks/pack.toml +0 -0
  306. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/agents/reviewer.md +0 -0
  307. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/hook-wiring/on-spawn.toml +0 -0
  308. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/hooks/on-spawn.sh +0 -0
  309. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/packs/malformed-kiro-missing-attach/pack.toml +0 -0
  310. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/agents/reviewer.md +0 -0
  311. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/hook-wiring/on-spawn.toml +0 -0
  312. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/hooks/on-spawn.sh +0 -0
  313. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/packs/malformed-kiro-pascal-events/pack.toml +0 -0
  314. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/agents/reviewer.md +0 -0
  315. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/hook-wiring/on-spawn.toml +0 -0
  316. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/hooks/on-spawn.sh +0 -0
  317. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/packs/malformed-kiro-unknown-agent/pack.toml +0 -0
  318. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/scaffold/test-pack/seeds/AGENTS.md +0 -0
  319. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/scaffold/test-pack/seeds/_agents-footer.md +0 -0
  320. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/scaffold/test-pack/seeds/docs/CHARTER.md +0 -0
  321. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/agents/reviewer.md +0 -0
  322. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/commands/deploy.md +0 -0
  323. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hooks/lint.py +0 -0
  324. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hooks/pre-commit.sh +0 -0
  325. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
  326. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.claude-plugin/plugin.json +0 -0
  327. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/pack.toml +0 -0
  328. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/agents/reviewer.md +0 -0
  329. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/commands/deploy.md +0 -0
  330. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hooks/lint.py +0 -0
  331. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hooks/pre-commit.sh +0 -0
  332. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
  333. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.claude-plugin/plugin.json +0 -0
  334. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/pack.toml +0 -0
  335. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/agents/reviewer.md +0 -0
  336. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/commands/deploy.md +0 -0
  337. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hooks/lint.py +0 -0
  338. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hooks/pre-commit.sh +0 -0
  339. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
  340. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.claude-plugin/plugin.json +0 -0
  341. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/pack.toml +0 -0
  342. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/validate/bad_recipe_pack/pack.toml +0 -0
  343. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/validate/malformed_pack/pack.toml +0 -0
  344. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/validate/valid_pack/pack.toml +0 -0
  345. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/fixtures/validate/version_mismatch_pack/pack.toml +0 -0
  346. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/__init__.py +0 -0
  347. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_adapt_cmd.py +0 -0
  348. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_adapt_dual_scope.py +0 -0
  349. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_adapt_preflight_detection.py +0 -0
  350. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_adapt_schema_migration.py +0 -0
  351. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_apm_install_route.py +0 -0
  352. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_blank_catalogue.py +0 -0
  353. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_brownfield_adapt_end_to_end.py +0 -0
  354. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_brownfield_round_trip.py +0 -0
  355. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_brownfield_user_home_fixture.py +0 -0
  356. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_build_check_drift_gates.py +0 -0
  357. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_build_derivation_apm.py +0 -0
  358. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_catalogue_init.py +0 -0
  359. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_cc_user_hooks_fixture.py +0 -0
  360. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_claude_plugins_install_route.py +0 -0
  361. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_config_cascade.py +0 -0
  362. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_credential_brokers_pack_install.py +0 -0
  363. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_credentials_wheel.py +0 -0
  364. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_discovery_schema_cross_consumer.py +0 -0
  365. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_editable_source_detection.py +0 -0
  366. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_fixtures_validate.py +0 -0
  367. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_install_adapt_chain.py +0 -0
  368. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_install_cmd.py +0 -0
  369. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_install_converters_user_scope.py +0 -0
  370. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_install_copilot_full_parity.py +0 -0
  371. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_install_default_source.py +0 -0
  372. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_install_dependencies_gate.py +0 -0
  373. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_install_dropped_primitives_warning.py +0 -0
  374. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_install_dual_scope.py +0 -0
  375. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_install_orphan_reshape.py +0 -0
  376. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_install_pack_metadata_shape.py +0 -0
  377. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_install_profile.py +0 -0
  378. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_install_profile_live.py +0 -0
  379. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_install_repo_scope_per_adapter.py +0 -0
  380. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_install_research_user_scope.py +0 -0
  381. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_install_seed_delivery.py +0 -0
  382. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_install_upgrade_offer.py +0 -0
  383. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_install_user_hooks.py +0 -0
  384. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_install_user_scope_allowed_adapters.py +0 -0
  385. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_kiro_ide_hook_e2e.py +0 -0
  386. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_kiro_repo_hooks_fixture.py +0 -0
  387. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_kiro_user_hooks_fixture.py +0 -0
  388. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_list_packs_cmd.py +0 -0
  389. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_local_scope_install.py +0 -0
  390. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_marketplace_entry_validation.py +0 -0
  391. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_marketplace_manifest_regression.py +0 -0
  392. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_multi_pack_install.py +0 -0
  393. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_orphan_cleanup_respects_foreign_state.py +0 -0
  394. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_plugin_route_membership.py +0 -0
  395. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_recommends_cross_scope.py +0 -0
  396. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_reconcile.py +0 -0
  397. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_reserved_path_filter.py +0 -0
  398. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_scaffold_projection.py +0 -0
  399. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_self_host_schema_migration.py +0 -0
  400. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_self_host_sweep_respects_state.py +0 -0
  401. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_shared_prefix_coexistence.py +0 -0
  402. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_show_cmd.py +0 -0
  403. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_uninstall_cmd.py +0 -0
  404. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_uninstall_user_hooks.py +0 -0
  405. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_upgrade_attach_to_agent.py +0 -0
  406. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_upgrade_cmd.py +0 -0
  407. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_upgrade_user_hooks.py +0 -0
  408. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_version_gate_matrix.py +0 -0
  409. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_workspace_mcp_git_fsm.py +0 -0
  410. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/integration/test_zipapp.py +0 -0
  411. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/test_adapter_permissions_projection.py +0 -0
  412. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/test_workspace_mcp_elicit.py +0 -0
  413. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/test_workspace_mcp_event_bridge.py +0 -0
  414. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/test_workspace_mcp_git.py +0 -0
  415. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/test_workspace_mcp_lifecycle.py +0 -0
  416. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/test_workspace_mcp_stdin.py +0 -0
  417. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/test_workspace_mcp_tools.py +0 -0
  418. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/__init__.py +0 -0
  419. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_adapt_discovery_schema.py +0 -0
  420. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_append_layout_section.py +0 -0
  421. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_architect_readme_install_command.py +0 -0
  422. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_catalogue_ci_contract.py +0 -0
  423. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_catalogue_curation_deps.py +0 -0
  424. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_catalogue_init_cli_self_hosted.py +0 -0
  425. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_catalogue_pack_defaults.py +0 -0
  426. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_catalogue_self_hosted_export_removal.py +0 -0
  427. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_catalogue_skill_spec_lint.py +0 -0
  428. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_catalogue_tooling_archive.py +0 -0
  429. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_catalogue_tooling_build.py +0 -0
  430. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_catalogue_tooling_defaults.py +0 -0
  431. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_catalogue_tooling_foundation.py +0 -0
  432. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_catalogue_tooling_identity.py +0 -0
  433. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_catalogue_tooling_init.py +0 -0
  434. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_catalogue_tooling_lint.py +0 -0
  435. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_catalogue_tooling_package.py +0 -0
  436. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_catalogue_tooling_self_host.py +0 -0
  437. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_catalogue_tooling_self_hosted_init.py +0 -0
  438. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_catalogue_tooling_source_package.py +0 -0
  439. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_catalogue_tooling_verify.py +0 -0
  440. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_catalogue_wave2_schema.py +0 -0
  441. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_catalogue_wave2_validation.py +0 -0
  442. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_cli_catalogue_optional.py +0 -0
  443. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_cli_help_lists_config.py +0 -0
  444. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_cli_path_normalisation.py +0 -0
  445. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_cli_profile_surface.py +0 -0
  446. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_cli_scope_flags.py +0 -0
  447. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_codex_agent_toml.py +0 -0
  448. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_codex_projection_modes.py +0 -0
  449. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_common_classify_seeds.py +0 -0
  450. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_config.py +0 -0
  451. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_config_cmd.py +0 -0
  452. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_configured_adapter.py +0 -0
  453. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_confirm_helper.py +0 -0
  454. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_contract_parity.py +0 -0
  455. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_copilot_agent_md.py +0 -0
  456. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_copilot_hooks_json.py +0 -0
  457. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_copilot_user_scope_wiring.py +0 -0
  458. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_credbroker_lint_hardening.py +0 -0
  459. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_dependencies_batch.py +0 -0
  460. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_diff_cmd.py +0 -0
  461. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_footprint_ownership.py +0 -0
  462. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_https_catalogue.py +0 -0
  463. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_init_state_cmd.py +0 -0
  464. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_install_argparse_adapter_flag.py +0 -0
  465. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_install_argparse_emit_install_routes.py +0 -0
  466. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_install_defaults_preferred_adapter.py +0 -0
  467. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_install_dropped_primitives_warning.py +0 -0
  468. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_install_event_dropped_wirings.py +0 -0
  469. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_install_first_value_handoff.py +0 -0
  470. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_install_force_help.py +0 -0
  471. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_install_inband_detection.py +0 -0
  472. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_install_messages.py +0 -0
  473. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_install_messages_repo_scope.py +0 -0
  474. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_install_refusal_ordering.py +0 -0
  475. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_install_state_provenance.py +0 -0
  476. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_kiro_ide_hook_projection.py +0 -0
  477. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_kiro_ide_hook_rail.py +0 -0
  478. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_kiro_ide_hook_schema.py +0 -0
  479. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_lint_agent_artifacts_metadata_auth.py +0 -0
  480. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_list_installed_cmd.py +0 -0
  481. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_list_installed_status.py +0 -0
  482. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_list_targets_cmd.py +0 -0
  483. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_local_scope_schema.py +0 -0
  484. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_local_scope_t10_uninstall.py +0 -0
  485. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_local_scope_t12_show.py +0 -0
  486. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_local_scope_t2_resolve.py +0 -0
  487. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_local_scope_t3_config.py +0 -0
  488. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_local_scope_t4_state_path.py +0 -0
  489. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_local_scope_t5_list_installed.py +0 -0
  490. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_local_scope_t7_install_gates.py +0 -0
  491. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_local_scope_t8_install.py +0 -0
  492. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_local_scope_t9_exclude.py +0 -0
  493. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_marker_schema_version_parity.py +0 -0
  494. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_merge_into_agent_json.py +0 -0
  495. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_multi_adapter_disambiguator.py +0 -0
  496. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_nested_symlink_hardening.py +0 -0
  497. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_org_bootstrap.py +0 -0
  498. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_pack_config_api.py +0 -0
  499. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_pack_inventory.py +0 -0
  500. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_package_catalogue.py +0 -0
  501. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_packstate_source_provenance.py +0 -0
  502. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_pipeline_phase_order.py +0 -0
  503. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_profile_reader.py +0 -0
  504. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_render.py +0 -0
  505. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_render_table.py +0 -0
  506. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_resolve_state_path.py +0 -0
  507. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_resolve_target_adapter_user_config.py +0 -0
  508. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_resolve_user_scope_target_adapter.py +0 -0
  509. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_safety.py +0 -0
  510. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_safety_repo_scope_prefixes.py +0 -0
  511. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_safety_scan_per_pack_scoping.py +0 -0
  512. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_scaffold_cmd.py +0 -0
  513. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_scope.py +0 -0
  514. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_self_host_windows.py +0 -0
  515. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_shared_prefix_disclosure.py +0 -0
  516. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_source_conflict_guard.py +0 -0
  517. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_source_defaults.py +0 -0
  518. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_state_v01_refuse_write.py +0 -0
  519. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_state_v02.py +0 -0
  520. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_state_v0_4_schema.py +0 -0
  521. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_statelock.py +0 -0
  522. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_target_resolver.py +0 -0
  523. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_toml_emitters.py +0 -0
  524. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_unresolved_markers.py +0 -0
  525. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_upgrade_bulk_all.py +0 -0
  526. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_upgrade_recap.py +0 -0
  527. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_upgrade_source_inference.py +0 -0
  528. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_user_config_io.py +0 -0
  529. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_user_config_isolation.py +0 -0
  530. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_user_config_path.py +0 -0
  531. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_user_config_source.py +0 -0
  532. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_user_merge_json.py +0 -0
  533. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_validate_attach_to_agent.py +0 -0
  534. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_validate_categories.py +0 -0
  535. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_validate_cmd.py +0 -0
  536. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_validate_hook_wiring_per_file_compatibility.py +0 -0
  537. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_values_from_shapes.py +0 -0
  538. {agentbundle-0.31.1 → agentbundle-0.32.0}/tests/unit/test_version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentbundle
3
- Version: 0.31.1
3
+ Version: 0.32.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
@@ -29,7 +29,7 @@ Requires-Dist: pyyaml>=6.0; extra == "lint"
29
29
  ## Quick start
30
30
 
31
31
  ```bash
32
- pip install agentbundle
32
+ python -m pip install agentbundle
33
33
  ```
34
34
 
35
35
  Requires Python 3.11+. Runs on macOS, Linux, and Windows.
@@ -50,8 +50,36 @@ agentbundle install --pack desk-research --scope user
50
50
 
51
51
  User-scope packs land in your home directory, not the repo — they're yours, not the team's, and they're there in every project you open.
52
52
 
53
+ **Try a pack without committing it** — so the pack is live in this clone while
54
+ `git status` stays clean:
55
+
56
+ ```bash
57
+ agentbundle install --pack core --scope local
58
+ ```
59
+
60
+ Local scope projects the same runtime files as repo scope, then records them in
61
+ `.git/info/exclude`. It requires a Git work tree. Uninstalling removes both the
62
+ projected files and the managed exclude entries; local and repo installs of the
63
+ same pack cannot coexist.
64
+
53
65
  The install auto-detects your agent (`--adapter` overrides). Multi-IDE? Install the same pack for each agent at the same scope — they coexist, and the agents that read `.agents/skills/` (codex, cursor, gemini, copilot) share one skill copy instead of fighting over it. To install from a **different** catalogue, pass it as a trailing argument — a git URL or a local path (`agentbundle install --pack core <catalogue>`); a `config set source <catalogue>` makes that the default, and an editable clone (`pip install -e`) defaults to itself.
54
66
 
67
+ ## Claude Code marketplace
68
+
69
+ Claude Code users can install any pack that permits user scope without first
70
+ installing this CLI:
71
+
72
+ ```bash
73
+ claude plugin marketplace add eugenelim/agent-ready-repo
74
+ claude plugin install architect@agent-ready-repo
75
+ ```
76
+
77
+ The marketplace excludes repo-only packs because Claude plugins live in a
78
+ global cache. Install `core` and other repo-only packs with `agentbundle` so
79
+ their files land in the project. For hook-bearing user-scope packs, the
80
+ generated marketplace description lists the authored hook event, matcher,
81
+ timeout, interpreter, and body path before publication.
82
+
55
83
  ## More commands
56
84
 
57
85
  ```bash
@@ -198,10 +226,10 @@ Artifactory bootstrap and editable-install detection entirely. `agentbundle` fal
198
226
  straight through to the packaged default, so hosts without network access to Artifactory
199
227
  still resolve a source without errors.
200
228
 
201
- See the full enterprise adoption guide at
202
- `docs/guides/_shared/how-to/use-an-artifactory-catalogue.md` for all six flows
203
- (org bootstrap, repo-scope CI upgrade, user-scope MDM, source-conflict remediation,
204
- disconnected hosts, and security controls).
229
+ See [Configure catalogue enterprise
230
+ distribution](https://github.com/eugenelim/agent-ready-repo/blob/main/guides/_shared/how-to/configure-catalogue-enterprise-distribution.md)
231
+ for channel setup, authentication, CI upgrades, disconnected hosts, and the
232
+ security boundary.
205
233
 
206
234
  ## Build your own catalogue
207
235
 
@@ -248,6 +276,7 @@ my-pack/
248
276
  evals/ # activation + output-quality evals, skill-local
249
277
  agents/<name>.md # subagents
250
278
  hooks/<name>.py # lifecycle hooks
279
+ hook-wiring/<name>.toml # adapter event wiring for a shipped hook body
251
280
  tests/ # implementation tests — NEVER projected
252
281
  skills/<name>/
253
282
  hooks/
@@ -276,6 +305,12 @@ on the published distribution branch, and every entry is schema-validated at
276
305
  build time against `marketplace-entry.schema.json`. Extra fields stay in `pack.toml`; the projection
277
306
  is deliberately lossy per tool.
278
307
 
308
+ A hook-bearing pack that permits user scope must explicitly set
309
+ `[pack.install] user-scope-hooks = true`. On the Claude-plugin route,
310
+ `agentbundle` compiles supported Claude-shaped wiring into native plugin hooks
311
+ and rejects unsafe event, matcher, timeout, command, or body-path shapes before
312
+ creating output. Direct CLI installs keep their adapter-native wiring contract.
313
+
279
314
  Point a catalogue URI (a git URL or a local path) at the repo that holds your packs. Then `validate` a pack against the adapter contract, `render` it to preview the projection, and `install` it into a target repo. `scaffold` drops a pack's seeds into a fresh directory to start from. The build pipeline (`agentbundle.build`) is the same engine `make build` runs.
280
315
 
281
316
  **Org adapter default:** If your org ships a private `agentbundle` wheel (or a fork pinned to your internal catalogue), you can set a default adapter for all developers without requiring them to run `agentbundle config set` or pass `--adapter` on every install. Add an `[organization]` table to `_data/install-defaults.toml` in your fork:
@@ -285,7 +320,7 @@ Point a catalogue URI (a git URL or a local path) at the repo that holds your pa
285
320
  preferred_adapter = "cursor"
286
321
  ```
287
322
 
288
- The org hint fires after the user-config but before the on-disk IDE probe — so `--adapter`, user-config, and upgrade state-hints all take priority. An invalid value exits 1 before writing anything. See the [`agentbundle` reference](https://github.com/eugenelim/agent-ready-repo/blob/main/docs/guides/_shared/reference/agentbundle.md#org-adapter-default) for the full cascade.
323
+ The org hint fires after the user-config but before the on-disk IDE probe — so `--adapter`, user-config, and upgrade state-hints all take priority. An invalid value exits 1 before writing anything. See the [`agentbundle` reference](https://github.com/eugenelim/agent-ready-repo/blob/main/guides/_shared/reference/agentbundle.md#org-adapter-default) for the full cascade.
289
324
 
290
325
  **Bundled contracts** — the wheel ships the machine contracts used for offline validation:
291
326
  `pack.schema.json`, `skill.schema.json`, `guide.schema.json`, `skill-manifest.schema.json`,
@@ -346,7 +381,7 @@ When `preferred-adapter` names an adapter not in the upstream `SELF_HOST_ADAPTER
346
381
  agentbundle pack evals run --pack <pack-name> --catalogue-root .
347
382
  ```
348
383
 
349
- See the [pack layout reference](https://github.com/eugenelim/agent-ready-repo/blob/main/docs/architecture/pack-layout.md) and [authoring a skill](https://github.com/eugenelim/agent-ready-repo/blob/main/docs/guides/_shared/how-to/author-a-skill.md).
384
+ See the [pack layout reference](https://github.com/eugenelim/agent-ready-repo/blob/main/docs/architecture/pack-layout.md) and [authoring a skill](https://github.com/eugenelim/agent-ready-repo/blob/main/guides/_shared/how-to/author-a-skill.md).
350
385
 
351
386
  ## Catalogue defaults and pack config API
352
387
 
@@ -9,7 +9,7 @@
9
9
  ## Quick start
10
10
 
11
11
  ```bash
12
- pip install agentbundle
12
+ python -m pip install agentbundle
13
13
  ```
14
14
 
15
15
  Requires Python 3.11+. Runs on macOS, Linux, and Windows.
@@ -30,8 +30,36 @@ agentbundle install --pack desk-research --scope user
30
30
 
31
31
  User-scope packs land in your home directory, not the repo — they're yours, not the team's, and they're there in every project you open.
32
32
 
33
+ **Try a pack without committing it** — so the pack is live in this clone while
34
+ `git status` stays clean:
35
+
36
+ ```bash
37
+ agentbundle install --pack core --scope local
38
+ ```
39
+
40
+ Local scope projects the same runtime files as repo scope, then records them in
41
+ `.git/info/exclude`. It requires a Git work tree. Uninstalling removes both the
42
+ projected files and the managed exclude entries; local and repo installs of the
43
+ same pack cannot coexist.
44
+
33
45
  The install auto-detects your agent (`--adapter` overrides). Multi-IDE? Install the same pack for each agent at the same scope — they coexist, and the agents that read `.agents/skills/` (codex, cursor, gemini, copilot) share one skill copy instead of fighting over it. To install from a **different** catalogue, pass it as a trailing argument — a git URL or a local path (`agentbundle install --pack core <catalogue>`); a `config set source <catalogue>` makes that the default, and an editable clone (`pip install -e`) defaults to itself.
34
46
 
47
+ ## Claude Code marketplace
48
+
49
+ Claude Code users can install any pack that permits user scope without first
50
+ installing this CLI:
51
+
52
+ ```bash
53
+ claude plugin marketplace add eugenelim/agent-ready-repo
54
+ claude plugin install architect@agent-ready-repo
55
+ ```
56
+
57
+ The marketplace excludes repo-only packs because Claude plugins live in a
58
+ global cache. Install `core` and other repo-only packs with `agentbundle` so
59
+ their files land in the project. For hook-bearing user-scope packs, the
60
+ generated marketplace description lists the authored hook event, matcher,
61
+ timeout, interpreter, and body path before publication.
62
+
35
63
  ## More commands
36
64
 
37
65
  ```bash
@@ -178,10 +206,10 @@ Artifactory bootstrap and editable-install detection entirely. `agentbundle` fal
178
206
  straight through to the packaged default, so hosts without network access to Artifactory
179
207
  still resolve a source without errors.
180
208
 
181
- See the full enterprise adoption guide at
182
- `docs/guides/_shared/how-to/use-an-artifactory-catalogue.md` for all six flows
183
- (org bootstrap, repo-scope CI upgrade, user-scope MDM, source-conflict remediation,
184
- disconnected hosts, and security controls).
209
+ See [Configure catalogue enterprise
210
+ distribution](https://github.com/eugenelim/agent-ready-repo/blob/main/guides/_shared/how-to/configure-catalogue-enterprise-distribution.md)
211
+ for channel setup, authentication, CI upgrades, disconnected hosts, and the
212
+ security boundary.
185
213
 
186
214
  ## Build your own catalogue
187
215
 
@@ -228,6 +256,7 @@ my-pack/
228
256
  evals/ # activation + output-quality evals, skill-local
229
257
  agents/<name>.md # subagents
230
258
  hooks/<name>.py # lifecycle hooks
259
+ hook-wiring/<name>.toml # adapter event wiring for a shipped hook body
231
260
  tests/ # implementation tests — NEVER projected
232
261
  skills/<name>/
233
262
  hooks/
@@ -256,6 +285,12 @@ on the published distribution branch, and every entry is schema-validated at
256
285
  build time against `marketplace-entry.schema.json`. Extra fields stay in `pack.toml`; the projection
257
286
  is deliberately lossy per tool.
258
287
 
288
+ A hook-bearing pack that permits user scope must explicitly set
289
+ `[pack.install] user-scope-hooks = true`. On the Claude-plugin route,
290
+ `agentbundle` compiles supported Claude-shaped wiring into native plugin hooks
291
+ and rejects unsafe event, matcher, timeout, command, or body-path shapes before
292
+ creating output. Direct CLI installs keep their adapter-native wiring contract.
293
+
259
294
  Point a catalogue URI (a git URL or a local path) at the repo that holds your packs. Then `validate` a pack against the adapter contract, `render` it to preview the projection, and `install` it into a target repo. `scaffold` drops a pack's seeds into a fresh directory to start from. The build pipeline (`agentbundle.build`) is the same engine `make build` runs.
260
295
 
261
296
  **Org adapter default:** If your org ships a private `agentbundle` wheel (or a fork pinned to your internal catalogue), you can set a default adapter for all developers without requiring them to run `agentbundle config set` or pass `--adapter` on every install. Add an `[organization]` table to `_data/install-defaults.toml` in your fork:
@@ -265,7 +300,7 @@ Point a catalogue URI (a git URL or a local path) at the repo that holds your pa
265
300
  preferred_adapter = "cursor"
266
301
  ```
267
302
 
268
- The org hint fires after the user-config but before the on-disk IDE probe — so `--adapter`, user-config, and upgrade state-hints all take priority. An invalid value exits 1 before writing anything. See the [`agentbundle` reference](https://github.com/eugenelim/agent-ready-repo/blob/main/docs/guides/_shared/reference/agentbundle.md#org-adapter-default) for the full cascade.
303
+ The org hint fires after the user-config but before the on-disk IDE probe — so `--adapter`, user-config, and upgrade state-hints all take priority. An invalid value exits 1 before writing anything. See the [`agentbundle` reference](https://github.com/eugenelim/agent-ready-repo/blob/main/guides/_shared/reference/agentbundle.md#org-adapter-default) for the full cascade.
269
304
 
270
305
  **Bundled contracts** — the wheel ships the machine contracts used for offline validation:
271
306
  `pack.schema.json`, `skill.schema.json`, `guide.schema.json`, `skill-manifest.schema.json`,
@@ -326,7 +361,7 @@ When `preferred-adapter` names an adapter not in the upstream `SELF_HOST_ADAPTER
326
361
  agentbundle pack evals run --pack <pack-name> --catalogue-root .
327
362
  ```
328
363
 
329
- See the [pack layout reference](https://github.com/eugenelim/agent-ready-repo/blob/main/docs/architecture/pack-layout.md) and [authoring a skill](https://github.com/eugenelim/agent-ready-repo/blob/main/docs/guides/_shared/how-to/author-a-skill.md).
364
+ See the [pack layout reference](https://github.com/eugenelim/agent-ready-repo/blob/main/docs/architecture/pack-layout.md) and [authoring a skill](https://github.com/eugenelim/agent-ready-repo/blob/main/guides/_shared/how-to/author-a-skill.md).
330
365
 
331
366
  ## Catalogue defaults and pack config API
332
367
 
@@ -54,6 +54,25 @@
54
54
  ]
55
55
  },
56
56
  "target-path": {"type": "string"},
57
+ "plugin-target-path": {"type": "string"},
58
+ "plugin-mode": {
59
+ "type": "string",
60
+ "enum": [
61
+ "direct-directory",
62
+ "direct-file",
63
+ "merge-json",
64
+ "user-merge-json",
65
+ "merge-into-agent-json",
66
+ "instruction-file",
67
+ "managed-block-inline",
68
+ "degraded-info-log",
69
+ "dropped",
70
+ "codex-agent-toml",
71
+ "copilot-agent-md",
72
+ "copilot-hooks-json",
73
+ "gemini-command-toml"
74
+ ]
75
+ },
57
76
  "on-conflict": {
58
77
  "type": "string",
59
78
  "enum": [
@@ -90,7 +90,10 @@
90
90
  # reader cohort. cursor/gemini/copilot route the `skill` primitive to the shared
91
91
  # `.agents/skills/` home (joining codex) and gain it in `allowed-prefixes` at
92
92
  # both scopes; their agent/hook/command projection stays native.
93
- version = "0.17"
93
+ # v0.18 (Claude-plugin hook parity): `hook-body` gains the plugin-root
94
+ # `hooks/` target and `hook-wiring` is dropped from the ordinary projection on
95
+ # that route after its entries are compiled into plugin.json.
96
+ version = "0.18"
94
97
 
95
98
  # Sibling schemas this contract references — pack metadata and the
96
99
  # per-pack Claude-plugin manifest.
@@ -202,11 +205,13 @@ on-conflict = "prompt-then-preserve"
202
205
  primitive = "hook-body"
203
206
  mode = "direct-file"
204
207
  target-path = "tools/hooks/"
208
+ plugin-target-path = "hooks/"
205
209
  on-conflict = "prompt-then-preserve"
206
210
 
207
211
  [[adapter."claude-code".projection]]
208
212
  primitive = "hook-wiring"
209
213
  mode = "merge-json"
214
+ plugin-mode = "dropped"
210
215
  target-path = ".claude/settings.local.json"
211
216
  managed-key = "hooks"
212
217
  on-conflict = "merge-managed-key-only"
@@ -105,36 +105,39 @@
105
105
  },
106
106
  "hooks": {
107
107
  "type": "object",
108
- "additionalProperties": false,
109
- "properties": {
110
- "SessionStart": {
111
- "type": "array",
112
- "items": {
113
- "type": "object",
114
- "additionalProperties": false,
115
- "properties": {
116
- "hooks": {
117
- "type": "array",
118
- "items": {
119
- "type": "object",
120
- "required": [
121
- "type",
122
- "command"
123
- ],
124
- "additionalProperties": false,
125
- "properties": {
126
- "type": {
127
- "type": "string",
128
- "enum": [
129
- "command"
130
- ]
131
- },
132
- "command": {
133
- "type": "string"
134
- },
135
- "timeout": {
136
- "type": "integer"
137
- }
108
+ "additionalProperties": {
109
+ "type": "array",
110
+ "items": {
111
+ "type": "object",
112
+ "required": [
113
+ "hooks"
114
+ ],
115
+ "additionalProperties": false,
116
+ "properties": {
117
+ "matcher": {
118
+ "type": "string"
119
+ },
120
+ "hooks": {
121
+ "type": "array",
122
+ "items": {
123
+ "type": "object",
124
+ "required": [
125
+ "type",
126
+ "command"
127
+ ],
128
+ "additionalProperties": false,
129
+ "properties": {
130
+ "type": {
131
+ "type": "string",
132
+ "enum": [
133
+ "command"
134
+ ]
135
+ },
136
+ "command": {
137
+ "type": "string"
138
+ },
139
+ "timeout": {
140
+ "type": "integer"
138
141
  }
139
142
  }
140
143
  }