agentbundle 0.33.3__tar.gz → 0.34.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 (548) hide show
  1. {agentbundle-0.33.3/agentbundle.egg-info → agentbundle-0.34.0}/PKG-INFO +22 -10
  2. {agentbundle-0.33.3 → agentbundle-0.34.0}/README-pypi.md +21 -9
  3. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/guides/_shared/reference/catalogue-authoring-standards.md +17 -0
  4. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/manifest.json +1 -1
  5. agentbundle-0.34.0/agentbundle/_data/public-contracts.txt +12 -0
  6. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/projection_io.py +11 -15
  7. agentbundle-0.34.0/agentbundle/catalogue_tooling/contracts_inspector.py +112 -0
  8. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/cli.py +34 -0
  9. agentbundle-0.34.0/agentbundle/commands/catalogue_contracts.py +105 -0
  10. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/catalogue_init.py +28 -0
  11. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/safety.py +400 -3
  12. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/source_defaults.py +22 -8
  13. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/version.py +1 -1
  14. {agentbundle-0.33.3 → agentbundle-0.34.0/agentbundle.egg-info}/PKG-INFO +22 -10
  15. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle.egg-info/SOURCES.txt +9 -0
  16. {agentbundle-0.33.3 → agentbundle-0.34.0}/pyproject.toml +1 -1
  17. agentbundle-0.34.0/tests/build_pipeline/fixtures/claude-code-2.1.228-hook-events.json +46 -0
  18. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_hook_wiring_rules.py +16 -8
  19. agentbundle-0.34.0/tests/build_pipeline/test_plugin_publication_gates.py +198 -0
  20. agentbundle-0.34.0/tests/unit/test_catalogue_wave3_contracts_cli.py +280 -0
  21. agentbundle-0.34.0/tests/unit/test_catalogue_wave3_contracts_inspector.py +286 -0
  22. agentbundle-0.34.0/tests/unit/test_catalogue_wave3_init_nextsteps.py +106 -0
  23. agentbundle-0.34.0/tests/unit/test_catalogue_wave3_offline_navigation.py +48 -0
  24. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_safety.py +207 -0
  25. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_source_defaults.py +17 -0
  26. {agentbundle-0.33.3 → agentbundle-0.34.0}/MANIFEST.in +0 -0
  27. {agentbundle-0.33.3 → agentbundle-0.34.0}/README.md +0 -0
  28. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/__init__.py +0 -0
  29. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/__main__.py +0 -0
  30. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/adapter.schema.json +0 -0
  31. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/adapter.toml +0 -0
  32. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/guides/_shared/reference/catalogue-ci-contract.md +0 -0
  33. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/packs/AGENTS.md +0 -0
  34. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/packs/README.md +0 -0
  35. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/packs/_example/.apm/skills/example-skill/SKILL.md +0 -0
  36. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/packs/_example/.apm/skills/example-skill/evals/eval_queries.json +0 -0
  37. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/packs/_example/.claude-plugin/plugin.json +0 -0
  38. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/packs/_example/README.md +0 -0
  39. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/packs/_example/pack.toml +0 -0
  40. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/profiles/AGENTS.md +0 -0
  41. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/profiles/README.md +0 -0
  42. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/profiles/_example/README.md +0 -0
  43. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/profiles/_example/profile.toml +0 -0
  44. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_gemini_admissibility.py +0 -0
  45. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_pack_metadata.py +0 -0
  46. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_shared_library_boundaries.py +0 -0
  47. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/catalogue.schema.json +0 -0
  48. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/guide.schema.json +0 -0
  49. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/install-defaults.toml +0 -0
  50. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/install-marker.py +0 -0
  51. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/marketplace-entry.schema.json +0 -0
  52. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/pack.schema.json +0 -0
  53. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/plugin-manifest.derived.schema.json +0 -0
  54. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/plugin-manifest.schema.json +0 -0
  55. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/profile.schema.json +0 -0
  56. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/skill-manifest.schema.json +0 -0
  57. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/skill.schema.json +0 -0
  58. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/target-vocab.toml +0 -0
  59. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/_data/workspace_status_engine.py +0 -0
  60. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/__init__.py +0 -0
  61. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/__main__.py +0 -0
  62. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/adapter_root_bins.py +0 -0
  63. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/adapters/__init__.py +0 -0
  64. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/adapters/claude_code.py +0 -0
  65. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/adapters/codex.py +0 -0
  66. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/adapters/copilot.py +0 -0
  67. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/adapters/cursor.py +0 -0
  68. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/adapters/gemini.py +0 -0
  69. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/adapters/kiro.py +0 -0
  70. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/adapters/kiro_cli.py +0 -0
  71. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/adapters/kiro_ide.py +0 -0
  72. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/contract.py +0 -0
  73. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/hook_wiring_rules.py +0 -0
  74. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/lint_packs.py +0 -0
  75. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/main.py +0 -0
  76. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/phase_order.py +0 -0
  77. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/projections/__init__.py +0 -0
  78. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/projections/codex_agent_toml.py +0 -0
  79. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/projections/copilot_agent_md.py +0 -0
  80. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/projections/copilot_hooks_json.py +0 -0
  81. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/projections/direct_directory.py +0 -0
  82. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/projections/gemini_command_toml.py +0 -0
  83. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/projections/hook_id.py +0 -0
  84. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/projections/kiro_ide_hook.py +0 -0
  85. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/projections/merge_into_agent_json.py +0 -0
  86. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/projections/merge_json.py +0 -0
  87. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/projections/plugin_hooks.py +0 -0
  88. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/projections/user_merge_json.py +0 -0
  89. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/recipes/composite-agents-md.toml +0 -0
  90. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/recipes/composite-marketplace.toml +0 -0
  91. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/recipes/marketplace.toml +0 -0
  92. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/recipes/per-pack-apm-package.toml +0 -0
  93. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/recipes/per-pack-claude-plugin.toml +0 -0
  94. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/recipes/per-pack-overlay.toml +0 -0
  95. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/recipes/self-host.toml +0 -0
  96. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/scope_rails.py +0 -0
  97. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/self_host.py +0 -0
  98. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/shared_libs.py +0 -0
  99. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/target_resolver.py +0 -0
  100. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/user_libs.py +0 -0
  101. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/build/validate.py +0 -0
  102. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue.py +0 -0
  103. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/__init__.py +0 -0
  104. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/archive.py +0 -0
  105. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/build.py +0 -0
  106. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/config.py +0 -0
  107. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/defaults.py +0 -0
  108. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/diagnostics.py +0 -0
  109. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/file_safety.py +0 -0
  110. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/identity.py +0 -0
  111. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/initialise.py +0 -0
  112. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/initialise_self_hosted.py +0 -0
  113. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/lint.py +0 -0
  114. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/package.py +0 -0
  115. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/results.py +0 -0
  116. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/self_host.py +0 -0
  117. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/self_host_windows.py +0 -0
  118. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/skill_spec_lint.py +0 -0
  119. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/toml_emit.py +0 -0
  120. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/catalogue_tooling/verify.py +0 -0
  121. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/categories.py +0 -0
  122. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/__init__.py +0 -0
  123. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/_common.py +0 -0
  124. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/_drop_warning.py +0 -0
  125. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/adapt.py +0 -0
  126. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/catalogue_build.py +0 -0
  127. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/catalogue_lint.py +0 -0
  128. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/catalogue_package.py +0 -0
  129. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/catalogue_self_host.py +0 -0
  130. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/catalogue_sync_defaults.py +0 -0
  131. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/catalogue_tooling_stub.py +0 -0
  132. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/catalogue_verify.py +0 -0
  133. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/config.py +0 -0
  134. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/diff.py +0 -0
  135. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/docs.py +0 -0
  136. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/init_state.py +0 -0
  137. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/install.py +0 -0
  138. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/list_installed.py +0 -0
  139. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/list_packs.py +0 -0
  140. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/list_profiles.py +0 -0
  141. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/list_targets.py +0 -0
  142. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/oplog_cmd.py +0 -0
  143. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/pack_config_cmd.py +0 -0
  144. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/pack_evals.py +0 -0
  145. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/package_catalogue.py +0 -0
  146. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/profile.py +0 -0
  147. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/reconcile.py +0 -0
  148. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/render.py +0 -0
  149. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/scaffold.py +0 -0
  150. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/show.py +0 -0
  151. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/uninstall.py +0 -0
  152. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/upgrade.py +0 -0
  153. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/commands/validate.py +0 -0
  154. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/config.py +0 -0
  155. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/https_catalogue.py +0 -0
  156. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/local_exclude.py +0 -0
  157. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/oplog.py +0 -0
  158. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/pack_inventory.py +0 -0
  159. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/render.py +0 -0
  160. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/scaffold.py +0 -0
  161. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/scope.py +0 -0
  162. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/statelock.py +0 -0
  163. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/user_config.py +0 -0
  164. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle/workspace_mcp.py +0 -0
  165. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle.egg-info/dependency_links.txt +0 -0
  166. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle.egg-info/entry_points.txt +0 -0
  167. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle.egg-info/requires.txt +0 -0
  168. {agentbundle-0.33.3 → agentbundle-0.34.0}/agentbundle.egg-info/top_level.txt +0 -0
  169. {agentbundle-0.33.3 → agentbundle-0.34.0}/conftest.py +0 -0
  170. {agentbundle-0.33.3 → agentbundle-0.34.0}/setup.cfg +0 -0
  171. {agentbundle-0.33.3 → agentbundle-0.34.0}/templates/install-marker.py +0 -0
  172. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/__init__.py +0 -0
  173. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/_support.py +0 -0
  174. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/__init__.py +0 -0
  175. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/README.md +0 -0
  176. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/claude-code-2.1.226-hook-events.json +0 -0
  177. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/core/.apm/agents/bar.md +0 -0
  178. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/core/.apm/commands/qux.md +0 -0
  179. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/core/.apm/hook-wiring/baz.toml +0 -0
  180. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/core/.apm/hook-wiring/qux.toml +0 -0
  181. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/core/.apm/hooks/baz.py +0 -0
  182. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/core/.apm/hooks/baz.sh +0 -0
  183. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/core/.apm/skills/example/SKILL.md +0 -0
  184. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/core/.claude-plugin/plugin.json +0 -0
  185. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/core/pack.toml +0 -0
  186. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/governance-extras/.apm/skills/example/SKILL.md +0 -0
  187. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/governance-extras/.claude-plugin/plugin.json +0 -0
  188. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/governance-extras/pack.toml +0 -0
  189. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/monorepo-extras/.apm/skills/example/SKILL.md +0 -0
  190. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/monorepo-extras/.claude-plugin/plugin.json +0 -0
  191. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/monorepo-extras/pack.toml +0 -0
  192. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/product-documentation/.apm/skills/example/SKILL.md +0 -0
  193. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/product-documentation/.claude-plugin/plugin.json +0 -0
  194. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/product-documentation/pack.toml +0 -0
  195. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/.apm/skills/example/SKILL.md +0 -0
  196. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/.claude-plugin/plugin.json +0 -0
  197. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/pack.toml +0 -0
  198. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/fixtures/recipes/bogus-target.toml +0 -0
  199. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_adapter_claude_code.py +0 -0
  200. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_adapter_codex.py +0 -0
  201. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_adapter_copilot.py +0 -0
  202. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_adapter_cursor.py +0 -0
  203. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_adapter_gemini.py +0 -0
  204. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_adapter_kiro.py +0 -0
  205. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_adapter_kiro_alias.py +0 -0
  206. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_adapter_kiro_cli.py +0 -0
  207. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_adapter_kiro_ide.py +0 -0
  208. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_adapter_root_bins_projection.py +0 -0
  209. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_build_ships_seeds.py +0 -0
  210. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_contract.py +0 -0
  211. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_contract_scope.py +0 -0
  212. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_contract_v07.py +0 -0
  213. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_contract_v08.py +0 -0
  214. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_direct_directory_cleanup.py +0 -0
  215. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_end_to_end_build.py +0 -0
  216. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_lint_packs.py +0 -0
  217. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_load_pack_hook_wiring_safely.py +0 -0
  218. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_pack_schema.py +0 -0
  219. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_pack_schema_allowed_adapters.py +0 -0
  220. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_pack_schema_install.py +0 -0
  221. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_pipeline.py +0 -0
  222. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_plugin_hooks.py +0 -0
  223. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_plugin_manifest_schema.py +0 -0
  224. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_projectable_subset.py +0 -0
  225. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_projection_io.py +0 -0
  226. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_projections_merge_json.py +0 -0
  227. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_scope_rails.py +0 -0
  228. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_security.py +0 -0
  229. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_self_host_check.py +0 -0
  230. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_self_host_fixture_guard.py +0 -0
  231. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_self_host_metadata_policy.py +0 -0
  232. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_self_host_recipe_config.py +0 -0
  233. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_shared_libs_projection.py +0 -0
  234. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_shared_prefix_contract.py +0 -0
  235. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_user_libs_projection.py +0 -0
  236. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_validate.py +0 -0
  237. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/build_pipeline/test_writers_emit_lf.py +0 -0
  238. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/conftest.py +0 -0
  239. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/adapt/.adapt-discovery.toml +0 -0
  240. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/adapt/values.toml +0 -0
  241. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/blank_catalogue/.claude-plugin/marketplace.json +0 -0
  242. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/blank_catalogue/catalogue.toml +0 -0
  243. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/blank_catalogue/packs/.gitkeep +0 -0
  244. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/blank_catalogue/packs/_example/.apm/skills/example-skill/SKILL.md +0 -0
  245. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/blank_catalogue/packs/_example/.claude-plugin/plugin.json +0 -0
  246. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/blank_catalogue/packs/_example/README.md +0 -0
  247. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/blank_catalogue/packs/_example/evals/eval_queries.json +0 -0
  248. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/blank_catalogue/packs/_example/pack.toml +0 -0
  249. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/blank_catalogue/profiles/.gitkeep +0 -0
  250. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/blank_catalogue/profiles/_example/README.md +0 -0
  251. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/blank_catalogue/profiles/_example/profile.toml +0 -0
  252. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/brownfield/values.toml +0 -0
  253. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/brownfield-adapt/AGENTS.md +0 -0
  254. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/brownfield-adapt/AGENTS.upstream.md +0 -0
  255. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/brownfield-adapt/DESIGN.md +0 -0
  256. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/brownfield-adapt/EXPECTED_TREE.md +0 -0
  257. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/brownfield-adapt/docs/CHARTER.md +0 -0
  258. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/brownfield-adapt/docs/guides/how-to/index.md +0 -0
  259. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/brownfield-adapt/docs/howto/getting-started.md +0 -0
  260. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/brownfield-adapt-expected/AGENTS.md +0 -0
  261. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/brownfield-adapt-expected/docs/CHARTER.md +0 -0
  262. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/brownfield-adapt-user-home/.agentbundle/.adapt-discovery.toml +0 -0
  263. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/brownfield-adapt-user-home/.agentbundle/state.toml +0 -0
  264. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/argv-flag/SKILL.md +0 -0
  265. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/argv-flag/scripts/cli.py +0 -0
  266. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/argv-flag-derived/SKILL.md +0 -0
  267. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/argv-flag-derived/scripts/cli.py +0 -0
  268. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/argv-flag-normalised/SKILL.md +0 -0
  269. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/argv-flag-normalised/scripts/cli.py +0 -0
  270. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/conforming/SKILL.md +0 -0
  271. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/conforming/scripts/cli.py +0 -0
  272. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/dotfile-grep/SKILL.md +0 -0
  273. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/dotfile-grep/scripts/leak.py +0 -0
  274. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/dotfile-with-optout/SKILL.md +0 -0
  275. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/dotfile-with-optout/scripts/legit.py +0 -0
  276. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/mcp-server-headers/SKILL.md +0 -0
  277. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/mcp-server-headers/scripts/cli.py +0 -0
  278. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/creds/skills/missing-dont-block/SKILL.md +0 -0
  279. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/agents/helper.md +0 -0
  280. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/commands/cmd.md +0 -0
  281. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/hook-wiring/run.toml +0 -0
  282. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/hooks/run.sh +0 -0
  283. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/skills/example/SKILL.md +0 -0
  284. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/install/catalogue/packs/alpha/.claude-plugin/plugin.json +0 -0
  285. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/install/catalogue/packs/alpha/pack.toml +0 -0
  286. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/kiro_ide_hook/ask_agent_basic.kiro.hook +0 -0
  287. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/kiro_ide_hook/run_command_with_placeholder.kiro.hook +0 -0
  288. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/lint_packs/clean/pack.toml +0 -0
  289. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/lint_packs/clean/seeds/README.md +0 -0
  290. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/list-installed/golden_120col.txt +0 -0
  291. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/list-installed/golden_80col.txt +0 -0
  292. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/list_packs/catalogue/packs/alpha/pack.toml +0 -0
  293. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/list_packs/catalogue/packs/beta/pack.toml +0 -0
  294. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/local_scope/catalogue/packs/local-test-pack/.apm/skills/local-test/SKILL.md +0 -0
  295. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/local_scope/catalogue/packs/local-test-pack/pack.toml +0 -0
  296. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/cc-user-hooks/.apm/hook-wiring/on-prompt.toml +0 -0
  297. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/cc-user-hooks/.apm/hooks/on-prompt.sh +0 -0
  298. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/cc-user-hooks/pack.toml +0 -0
  299. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/kiro-repo-hooks/.apm/agents/reviewer.md +0 -0
  300. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/kiro-repo-hooks/.apm/hook-wiring/on-spawn.toml +0 -0
  301. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/kiro-repo-hooks/.apm/hooks/on-spawn.sh +0 -0
  302. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/kiro-repo-hooks/pack.toml +0 -0
  303. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/kiro-user-hooks/.apm/agents/reviewer.md +0 -0
  304. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/kiro-user-hooks/.apm/hook-wiring/on-spawn.toml +0 -0
  305. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/kiro-user-hooks/.apm/hooks/on-spawn.sh +0 -0
  306. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/kiro-user-hooks/pack.toml +0 -0
  307. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/agents/reviewer.md +0 -0
  308. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/hook-wiring/on-spawn.toml +0 -0
  309. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/hooks/on-spawn.sh +0 -0
  310. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/malformed-kiro-missing-attach/pack.toml +0 -0
  311. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/agents/reviewer.md +0 -0
  312. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/hook-wiring/on-spawn.toml +0 -0
  313. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/hooks/on-spawn.sh +0 -0
  314. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/malformed-kiro-pascal-events/pack.toml +0 -0
  315. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/agents/reviewer.md +0 -0
  316. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/hook-wiring/on-spawn.toml +0 -0
  317. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/hooks/on-spawn.sh +0 -0
  318. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/packs/malformed-kiro-unknown-agent/pack.toml +0 -0
  319. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/scaffold/test-pack/seeds/AGENTS.md +0 -0
  320. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/scaffold/test-pack/seeds/_agents-footer.md +0 -0
  321. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/scaffold/test-pack/seeds/docs/CHARTER.md +0 -0
  322. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/agents/reviewer.md +0 -0
  323. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/commands/deploy.md +0 -0
  324. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hook-wiring/pre-commit.toml +0 -0
  325. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hooks/lint.py +0 -0
  326. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hooks/pre-commit.sh +0 -0
  327. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
  328. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.claude-plugin/plugin.json +0 -0
  329. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/pack.toml +0 -0
  330. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/agents/reviewer.md +0 -0
  331. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/commands/deploy.md +0 -0
  332. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hook-wiring/pre-commit.toml +0 -0
  333. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hooks/lint.py +0 -0
  334. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hooks/pre-commit.sh +0 -0
  335. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
  336. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.claude-plugin/plugin.json +0 -0
  337. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/pack.toml +0 -0
  338. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/agents/reviewer.md +0 -0
  339. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/commands/deploy.md +0 -0
  340. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hook-wiring/pre-commit.toml +0 -0
  341. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hooks/lint.py +0 -0
  342. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hooks/pre-commit.sh +0 -0
  343. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
  344. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.claude-plugin/plugin.json +0 -0
  345. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/pack.toml +0 -0
  346. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/validate/bad_recipe_pack/pack.toml +0 -0
  347. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/validate/malformed_pack/pack.toml +0 -0
  348. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/validate/valid_pack/pack.toml +0 -0
  349. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/fixtures/validate/version_mismatch_pack/pack.toml +0 -0
  350. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/__init__.py +0 -0
  351. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_adapt_cmd.py +0 -0
  352. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_adapt_dual_scope.py +0 -0
  353. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_adapt_preflight_detection.py +0 -0
  354. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_adapt_schema_migration.py +0 -0
  355. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_apm_install_route.py +0 -0
  356. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_blank_catalogue.py +0 -0
  357. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_brownfield_adapt_end_to_end.py +0 -0
  358. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_brownfield_round_trip.py +0 -0
  359. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_brownfield_user_home_fixture.py +0 -0
  360. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_build_check_drift_gates.py +0 -0
  361. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_build_derivation_apm.py +0 -0
  362. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_build_derivation_claude_plugins.py +0 -0
  363. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_catalogue_init.py +0 -0
  364. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_cc_user_hooks_fixture.py +0 -0
  365. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_claude_plugins_install_route.py +0 -0
  366. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_config_cascade.py +0 -0
  367. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_credential_brokers_pack_install.py +0 -0
  368. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_credentials_wheel.py +0 -0
  369. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_discovery_schema_cross_consumer.py +0 -0
  370. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_editable_source_detection.py +0 -0
  371. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_fixtures_validate.py +0 -0
  372. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_hook_wiring_ingress.py +0 -0
  373. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_adapt_chain.py +0 -0
  374. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_cmd.py +0 -0
  375. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_converters_user_scope.py +0 -0
  376. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_copilot_full_parity.py +0 -0
  377. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_core_smoke.py +0 -0
  378. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_default_source.py +0 -0
  379. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_dependencies_gate.py +0 -0
  380. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_dropped_primitives_warning.py +0 -0
  381. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_dual_scope.py +0 -0
  382. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_orphan_reshape.py +0 -0
  383. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_pack_metadata_shape.py +0 -0
  384. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_profile.py +0 -0
  385. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_profile_live.py +0 -0
  386. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_repo_scope_per_adapter.py +0 -0
  387. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_research_user_scope.py +0 -0
  388. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_seed_delivery.py +0 -0
  389. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_session_start_wiring.py +0 -0
  390. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_upgrade_offer.py +0 -0
  391. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_user_hooks.py +0 -0
  392. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_install_user_scope_allowed_adapters.py +0 -0
  393. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_kiro_ide_hook_e2e.py +0 -0
  394. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_kiro_repo_hooks_fixture.py +0 -0
  395. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_kiro_user_hooks_fixture.py +0 -0
  396. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_list_packs_cmd.py +0 -0
  397. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_local_scope_install.py +0 -0
  398. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_marketplace_entry_validation.py +0 -0
  399. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_marketplace_manifest_regression.py +0 -0
  400. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_multi_pack_install.py +0 -0
  401. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_orphan_cleanup_respects_foreign_state.py +0 -0
  402. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_plugin_route_membership.py +0 -0
  403. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_recommends_cross_scope.py +0 -0
  404. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_reconcile.py +0 -0
  405. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_reserved_path_filter.py +0 -0
  406. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_scaffold_projection.py +0 -0
  407. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_self_host_schema_migration.py +0 -0
  408. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_self_host_sweep_respects_state.py +0 -0
  409. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_shared_prefix_coexistence.py +0 -0
  410. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_show_cmd.py +0 -0
  411. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_tier_invariants.py +0 -0
  412. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_uninstall_cmd.py +0 -0
  413. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_uninstall_user_hooks.py +0 -0
  414. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_upgrade_attach_to_agent.py +0 -0
  415. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_upgrade_cmd.py +0 -0
  416. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_upgrade_user_hooks.py +0 -0
  417. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_version_gate_matrix.py +0 -0
  418. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_workspace_mcp_git_fsm.py +0 -0
  419. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/integration/test_zipapp.py +0 -0
  420. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/test_adapter_permissions_projection.py +0 -0
  421. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/test_workspace_mcp_elicit.py +0 -0
  422. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/test_workspace_mcp_event_bridge.py +0 -0
  423. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/test_workspace_mcp_git.py +0 -0
  424. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/test_workspace_mcp_lifecycle.py +0 -0
  425. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/test_workspace_mcp_stdin.py +0 -0
  426. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/test_workspace_mcp_tools.py +0 -0
  427. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/__init__.py +0 -0
  428. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_adapt_discovery_schema.py +0 -0
  429. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_append_layout_section.py +0 -0
  430. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_architect_readme_install_command.py +0 -0
  431. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_ci_contract.py +0 -0
  432. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_curation_deps.py +0 -0
  433. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_init_cli_self_hosted.py +0 -0
  434. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_pack_defaults.py +0 -0
  435. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_self_hosted_export_removal.py +0 -0
  436. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_skill_spec_lint.py +0 -0
  437. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_tooling_archive.py +0 -0
  438. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_tooling_build.py +0 -0
  439. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_tooling_defaults.py +0 -0
  440. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_tooling_foundation.py +0 -0
  441. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_tooling_identity.py +0 -0
  442. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_tooling_init.py +0 -0
  443. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_tooling_lint.py +0 -0
  444. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_tooling_package.py +0 -0
  445. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_tooling_self_host.py +0 -0
  446. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_tooling_self_hosted_init.py +0 -0
  447. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_tooling_source_package.py +0 -0
  448. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_tooling_verify.py +0 -0
  449. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_wave2_schema.py +0 -0
  450. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_catalogue_wave2_validation.py +0 -0
  451. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_cli_catalogue_optional.py +0 -0
  452. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_cli_help_lists_config.py +0 -0
  453. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_cli_path_normalisation.py +0 -0
  454. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_cli_profile_surface.py +0 -0
  455. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_cli_scope_flags.py +0 -0
  456. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_codex_agent_toml.py +0 -0
  457. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_codex_projection_modes.py +0 -0
  458. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_common_classify_seeds.py +0 -0
  459. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_config.py +0 -0
  460. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_config_cmd.py +0 -0
  461. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_configured_adapter.py +0 -0
  462. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_confirm_helper.py +0 -0
  463. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_contract_parity.py +0 -0
  464. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_contract_v0_3_schema.py +0 -0
  465. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_copilot_agent_md.py +0 -0
  466. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_copilot_hooks_json.py +0 -0
  467. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_copilot_user_scope_wiring.py +0 -0
  468. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_credbroker_lint_hardening.py +0 -0
  469. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_dependencies_batch.py +0 -0
  470. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_diff_cmd.py +0 -0
  471. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_footprint_ownership.py +0 -0
  472. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_https_catalogue.py +0 -0
  473. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_init_state_cmd.py +0 -0
  474. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_install_argparse_adapter_flag.py +0 -0
  475. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_install_argparse_emit_install_routes.py +0 -0
  476. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_install_defaults_preferred_adapter.py +0 -0
  477. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_install_dropped_primitives_warning.py +0 -0
  478. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_install_event_dropped_wirings.py +0 -0
  479. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_install_first_value_handoff.py +0 -0
  480. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_install_force_help.py +0 -0
  481. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_install_inband_detection.py +0 -0
  482. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_install_messages.py +0 -0
  483. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_install_messages_repo_scope.py +0 -0
  484. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_install_refusal_ordering.py +0 -0
  485. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_install_state_provenance.py +0 -0
  486. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_kiro_ide_hook_projection.py +0 -0
  487. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_kiro_ide_hook_rail.py +0 -0
  488. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_kiro_ide_hook_schema.py +0 -0
  489. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_lint_agent_artifacts_metadata_auth.py +0 -0
  490. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_list_installed_cmd.py +0 -0
  491. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_list_installed_status.py +0 -0
  492. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_list_targets_cmd.py +0 -0
  493. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_local_scope_schema.py +0 -0
  494. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_local_scope_t10_uninstall.py +0 -0
  495. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_local_scope_t12_show.py +0 -0
  496. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_local_scope_t2_resolve.py +0 -0
  497. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_local_scope_t3_config.py +0 -0
  498. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_local_scope_t4_state_path.py +0 -0
  499. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_local_scope_t5_list_installed.py +0 -0
  500. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_local_scope_t7_install_gates.py +0 -0
  501. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_local_scope_t8_install.py +0 -0
  502. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_local_scope_t9_exclude.py +0 -0
  503. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_marker_schema_version_parity.py +0 -0
  504. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_merge_into_agent_json.py +0 -0
  505. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_multi_adapter_disambiguator.py +0 -0
  506. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_nested_symlink_hardening.py +0 -0
  507. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_org_bootstrap.py +0 -0
  508. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_pack_config_api.py +0 -0
  509. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_pack_inventory.py +0 -0
  510. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_package_catalogue.py +0 -0
  511. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_packstate_source_provenance.py +0 -0
  512. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_pipeline_phase_order.py +0 -0
  513. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_plugin_scope_filter.py +0 -0
  514. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_profile_reader.py +0 -0
  515. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_render.py +0 -0
  516. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_render_cmd.py +0 -0
  517. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_render_table.py +0 -0
  518. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_resolve_state_path.py +0 -0
  519. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_resolve_target_adapter_user_config.py +0 -0
  520. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_resolve_user_scope_target_adapter.py +0 -0
  521. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_safety_repo_scope_prefixes.py +0 -0
  522. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_safety_scan_per_pack_scoping.py +0 -0
  523. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_scaffold_cmd.py +0 -0
  524. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_scope.py +0 -0
  525. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_self_host_windows.py +0 -0
  526. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_shared_prefix_disclosure.py +0 -0
  527. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_source_conflict_guard.py +0 -0
  528. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_state_v01_refuse_write.py +0 -0
  529. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_state_v02.py +0 -0
  530. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_state_v0_4_schema.py +0 -0
  531. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_statelock.py +0 -0
  532. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_target_resolver.py +0 -0
  533. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_toml_emitters.py +0 -0
  534. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_unresolved_markers.py +0 -0
  535. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_upgrade_bulk_all.py +0 -0
  536. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_upgrade_recap.py +0 -0
  537. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_upgrade_source_inference.py +0 -0
  538. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_user_config_io.py +0 -0
  539. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_user_config_isolation.py +0 -0
  540. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_user_config_path.py +0 -0
  541. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_user_config_source.py +0 -0
  542. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_user_merge_json.py +0 -0
  543. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_validate_attach_to_agent.py +0 -0
  544. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_validate_categories.py +0 -0
  545. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_validate_cmd.py +0 -0
  546. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_validate_hook_wiring_per_file_compatibility.py +0 -0
  547. {agentbundle-0.33.3 → agentbundle-0.34.0}/tests/unit/test_values_from_shapes.py +0 -0
  548. {agentbundle-0.33.3 → agentbundle-0.34.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.33.3
3
+ Version: 0.34.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
@@ -34,17 +34,25 @@ python -m pip install agentbundle
34
34
 
35
35
  Requires Python 3.11+. Runs on macOS, Linux, and Windows.
36
36
 
37
- ## What's new in 0.33.3
37
+ ## What's new in 0.34.0
38
38
 
39
- `agentbundle catalogue self-host --write` now updates writable existing files
40
- without attempting owner-only timestamp or mode changes. This supports CI and
41
- development checkouts where projected files are owned by a different user;
42
- ownership, inode, and mode remain intact, while `--check` continues to report
43
- mode drift that the writer cannot repair.
39
+ Inspect the exact public contracts bundled with the installed AgentBundle
40
+ version without network access:
44
41
 
45
- The Windows compatibility command covers AgentBundle and pack portability;
46
- CredBroker maintainers should run that package's test suite separately on
47
- Windows.
42
+ ```bash
43
+ agentbundle catalogue contracts list
44
+ agentbundle catalogue contracts show pack.schema.json
45
+ agentbundle catalogue contracts export --output ./reference-contracts
46
+ ```
47
+
48
+ `list` and `show` are read-only. `export` writes reference copies through a
49
+ no-follow, preflighted batch writer; those copies do not override the contracts
50
+ AgentBundle uses for validation.
51
+
52
+ Successful `agentbundle catalogue init` output now points to the scaffolded
53
+ `guides/_shared/reference/catalogue-authoring-standards.md`, contract discovery,
54
+ and catalogue verification. The guide's bundled-contract section documents all
55
+ three commands. JSON init output remains unchanged.
48
56
 
49
57
  **Install into a repo** — so everyone who clones it gets the pack. `core` is the flagship pack, the loop itself:
50
58
 
@@ -263,6 +271,10 @@ agentbundle catalogue init --target /path/to/new-catalogue
263
271
 
264
272
  Scaffolds `catalogue.toml`, the required directory tree (`packs/`, `profiles/`, `contracts/`, `.claude-plugin/`), and a starter `marketplace.json`. Skips files that already exist; reports conflicts without overwriting. Pass `--dry-run` to preview.
265
273
 
274
+ After initialization, use `agentbundle catalogue contracts list` to find the
275
+ contract names bundled with your installed version. `show` prints one contract;
276
+ `export --output <dir>` copies the full public set for offline reference.
277
+
266
278
  **Bootstrap a self-hosted enterprise catalogue** from an existing source:
267
279
 
268
280
  ```bash
@@ -14,17 +14,25 @@ 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.33.3
17
+ ## What's new in 0.34.0
18
18
 
19
- `agentbundle catalogue self-host --write` now updates writable existing files
20
- without attempting owner-only timestamp or mode changes. This supports CI and
21
- development checkouts where projected files are owned by a different user;
22
- ownership, inode, and mode remain intact, while `--check` continues to report
23
- mode drift that the writer cannot repair.
19
+ Inspect the exact public contracts bundled with the installed AgentBundle
20
+ version without network access:
24
21
 
25
- The Windows compatibility command covers AgentBundle and pack portability;
26
- CredBroker maintainers should run that package's test suite separately on
27
- Windows.
22
+ ```bash
23
+ agentbundle catalogue contracts list
24
+ agentbundle catalogue contracts show pack.schema.json
25
+ agentbundle catalogue contracts export --output ./reference-contracts
26
+ ```
27
+
28
+ `list` and `show` are read-only. `export` writes reference copies through a
29
+ no-follow, preflighted batch writer; those copies do not override the contracts
30
+ AgentBundle uses for validation.
31
+
32
+ Successful `agentbundle catalogue init` output now points to the scaffolded
33
+ `guides/_shared/reference/catalogue-authoring-standards.md`, contract discovery,
34
+ and catalogue verification. The guide's bundled-contract section documents all
35
+ three commands. JSON init output remains unchanged.
28
36
 
29
37
  **Install into a repo** — so everyone who clones it gets the pack. `core` is the flagship pack, the loop itself:
30
38
 
@@ -243,6 +251,10 @@ agentbundle catalogue init --target /path/to/new-catalogue
243
251
 
244
252
  Scaffolds `catalogue.toml`, the required directory tree (`packs/`, `profiles/`, `contracts/`, `.claude-plugin/`), and a starter `marketplace.json`. Skips files that already exist; reports conflicts without overwriting. Pass `--dry-run` to preview.
245
253
 
254
+ After initialization, use `agentbundle catalogue contracts list` to find the
255
+ contract names bundled with your installed version. `show` prints one contract;
256
+ `export --output <dir>` copies the full public set for offline reference.
257
+
246
258
  **Bootstrap a self-hosted enterprise catalogue** from an existing source:
247
259
 
248
260
  ```bash
@@ -407,6 +407,23 @@ every optional pack.
407
407
 
408
408
  ---
409
409
 
410
+ ## 12. Bundled contract inspection
411
+
412
+ List, inspect, or export the contracts bundled with the running AgentBundle version
413
+ without network access:
414
+
415
+ ```bash
416
+ agentbundle catalogue contracts list
417
+ agentbundle catalogue contracts show <name>
418
+ agentbundle catalogue contracts export --output <dir>
419
+ ```
420
+
421
+ `list` and `show` are read-only. `export` writes one regular file per listed contract
422
+ to the selected directory. These are reference copies only. They do not override the
423
+ contracts used for validation by this agentbundle version.
424
+
425
+ ---
426
+
410
427
  ## Journey format
411
428
 
412
429
  > **Not yet available.** Wave 4 of the catalogue-contracts initiative will define the
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "files": {
3
- "guides/_shared/reference/catalogue-authoring-standards.md": "ff4bdc203affda0a2f41641c1155b3f4e90aade022e122999a82e7093e94d2ee",
3
+ "guides/_shared/reference/catalogue-authoring-standards.md": "3217e6bfcc15dc116d40e1b327b6bf19b66212c7e13553e42966f9982b3c3487",
4
4
  "guides/_shared/reference/catalogue-ci-contract.md": "fae793ab47989b6dd3c731afcb0b4cda21c7d08bbe7fa40fca6d3abb3d158141",
5
5
  "packs/AGENTS.md": "9bfeda4069826e518a4f4fdae45bd40f4393c1c5aaf146149d3eb4aece30be83",
6
6
  "packs/README.md": "d2de5f9556f4c8e521103474bde74636e02cc805f9bf5312a3a61a1f3eb45d8f",
@@ -0,0 +1,12 @@
1
+ adapter.schema.json
2
+ adapter.toml
3
+ catalogue.schema.json
4
+ guide.schema.json
5
+ marketplace-entry.schema.json
6
+ pack.schema.json
7
+ plugin-manifest.derived.schema.json
8
+ plugin-manifest.schema.json
9
+ profile.schema.json
10
+ skill-manifest.schema.json
11
+ skill.schema.json
12
+ target-vocab.toml
@@ -15,6 +15,10 @@ from contextlib import contextmanager
15
15
  from pathlib import Path
16
16
  from typing import Literal
17
17
 
18
+ from agentbundle.safety import _is_reparse_point as _safety_is_reparse_point
19
+ from agentbundle.safety import _secure_dir_fd_available as _safety_secure_dir_fd_available
20
+ from agentbundle.safety import _write_all as _safety_write_all
21
+
18
22
 
19
23
  class ProjectionTypeError(OSError):
20
24
  """A projected target exists but is not a regular file."""
@@ -30,9 +34,11 @@ def render_diagnostic_path(path: Path) -> str:
30
34
 
31
35
 
32
36
  def _secure_dir_fd_available() -> bool:
33
- return os.name == "posix" and all(
34
- hasattr(os, name) for name in ("O_DIRECTORY", "O_NOFOLLOW")
35
- )
37
+ """Re-exported from ``agentbundle.safety`` — see that module for the rule.
38
+
39
+ Kept as a module-level name so tests can monkeypatch it here.
40
+ """
41
+ return _safety_secure_dir_fd_available()
36
42
 
37
43
 
38
44
  def _validate_relative(relative: Path) -> None:
@@ -40,10 +46,7 @@ def _validate_relative(relative: Path) -> None:
40
46
  raise ValueError(f"projection path must stay relative to its base: {relative}")
41
47
 
42
48
 
43
- def _is_reparse_point(path_stat: os.stat_result) -> bool:
44
- attributes = getattr(path_stat, "st_file_attributes", 0)
45
- reparse_flag = getattr(stat, "FILE_ATTRIBUTE_REPARSE_POINT", 0)
46
- return bool(attributes & reparse_flag)
49
+ _is_reparse_point = _safety_is_reparse_point
47
50
 
48
51
 
49
52
  def _validate_fallback_path(
@@ -159,14 +162,7 @@ def open_directory_no_follow(base: Path, relative: Path) -> Iterator[int | None]
159
162
  os.close(base_fd)
160
163
 
161
164
 
162
- def _write_all(file_descriptor: int, content: bytes) -> None:
163
- """Write all ``content`` to an open descriptor."""
164
- view = memoryview(content)
165
- while view:
166
- written = os.write(file_descriptor, view)
167
- if written == 0:
168
- raise OSError(errno.EIO, "projection write made no progress")
169
- view = view[written:]
165
+ _write_all = _safety_write_all
170
166
 
171
167
 
172
168
  def _read_bounded(
@@ -0,0 +1,112 @@
1
+ """Read and export the public contracts bundled with AgentBundle."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from dataclasses import dataclass
6
+ from importlib.resources import files as resource_files
7
+ from importlib.resources.abc import Traversable
8
+ from pathlib import Path
9
+
10
+ from agentbundle.safety import assert_portable_name, write_files_no_follow
11
+
12
+ _INVENTORY = "public-contracts.txt"
13
+
14
+
15
+ class ContractResourceError(RuntimeError):
16
+ """A bundled public-contract resource is missing or invalid."""
17
+
18
+
19
+ @dataclass(frozen=True)
20
+ class ContractInfo:
21
+ """Metadata for one public bundled contract."""
22
+
23
+ name: str
24
+ kind: str
25
+ file: str
26
+
27
+
28
+ def _data_dir() -> Traversable:
29
+ """Return the package-data root without consulting source checkout paths."""
30
+ return resource_files("agentbundle").joinpath("_data")
31
+
32
+
33
+ def _inventory_names() -> list[str]:
34
+ """Read and validate the generated positive-membership inventory."""
35
+ try:
36
+ inventory = _data_dir().joinpath(_INVENTORY).read_text(encoding="utf-8")
37
+ except (OSError, UnicodeError) as exc:
38
+ raise ContractResourceError(
39
+ "bundled contract inventory is unavailable"
40
+ ) from exc
41
+ names = [line for line in inventory.splitlines() if line]
42
+ # An empty inventory means a truncated or mis-built wheel. Without this
43
+ # check `contracts list` prints a bare header and exits 0 — reporting
44
+ # success for an installation that ships no contracts at all.
45
+ if not names:
46
+ raise ContractResourceError("bundled contract inventory is empty")
47
+ if names != sorted(names) or len(names) != len(set(names)):
48
+ raise ContractResourceError("bundled contract inventory is invalid")
49
+ for name in names:
50
+ if (
51
+ name in {".", ".."}
52
+ or "/" in name
53
+ or "\\" in name
54
+ or not name.endswith((".json", ".toml"))
55
+ ):
56
+ raise ContractResourceError("bundled contract inventory is invalid")
57
+ # `assert_portable_name` covers Windows-poisonous names but not
58
+ # control characters; a NUL would otherwise reach
59
+ # `Traversable.joinpath` and surface as an uncaught ValueError.
60
+ if any(character < " " or character == "\x7f" for character in name):
61
+ raise ContractResourceError("bundled contract inventory is invalid")
62
+ try:
63
+ assert_portable_name(name)
64
+ except ValueError as exc:
65
+ raise ContractResourceError(
66
+ "bundled contract inventory is invalid"
67
+ ) from exc
68
+ return names
69
+
70
+
71
+ def _kind(name: str) -> str:
72
+ if name.endswith(".schema.json"):
73
+ return "json-schema"
74
+ if name.endswith(".toml"):
75
+ return "toml"
76
+ return "json"
77
+
78
+
79
+ def list_bundled_contracts() -> list[ContractInfo]:
80
+ """Return ordered metadata for positively inventoried public contracts."""
81
+ return [
82
+ ContractInfo(name=name, kind=_kind(name), file=name)
83
+ for name in _inventory_names()
84
+ ]
85
+
86
+
87
+ def show_contract(name: str) -> str | None:
88
+ """Return one public bundled contract, or ``None`` for an unknown name."""
89
+ if "/" in name or "\\" in name:
90
+ return None
91
+ if name not in {contract.name for contract in list_bundled_contracts()}:
92
+ return None
93
+ try:
94
+ return _data_dir().joinpath(name).read_text(encoding="utf-8")
95
+ except (OSError, UnicodeError) as exc:
96
+ raise ContractResourceError("bundled contract resource is unavailable") from exc
97
+
98
+
99
+ def export_contracts(output_dir: Path) -> list[str]:
100
+ """Export every public bundled contract through the no-follow batch writer."""
101
+ contracts = list_bundled_contracts()
102
+ data = _data_dir()
103
+ try:
104
+ contents = {
105
+ contract.file: data.joinpath(contract.file).read_bytes()
106
+ for contract in contracts
107
+ }
108
+ except OSError as exc:
109
+ raise ContractResourceError("bundled contract resource is unavailable") from exc
110
+ # Report what the writer actually wrote, not what we intended to write —
111
+ # the two can only diverge through a bug, and this way the manifest says so.
112
+ return [path.name for path in write_files_no_follow(output_dir, contents)]
@@ -1049,6 +1049,40 @@ def _build_parser() -> argparse.ArgumentParser:
1049
1049
  )
1050
1050
  _init_p.set_defaults(func=_lazy("catalogue_init"))
1051
1051
 
1052
+ # catalogue contracts
1053
+ _contracts_p = cat_subs.add_parser(
1054
+ "contracts",
1055
+ help="Inspect contracts bundled with this agentbundle version.",
1056
+ )
1057
+ _contracts_subs = _contracts_p.add_subparsers(
1058
+ dest="contracts_sub", metavar="<sub>"
1059
+ )
1060
+ _contracts_p.set_defaults(func=_lazy("catalogue_contracts"))
1061
+
1062
+ _contracts_list_p = _contracts_subs.add_parser(
1063
+ "list", help="List all bundled contracts."
1064
+ )
1065
+ _contracts_list_p.add_argument(
1066
+ "--format", choices=("table", "json"), default="table"
1067
+ )
1068
+ _contracts_list_p.set_defaults(func=_lazy("catalogue_contracts"))
1069
+
1070
+ _contracts_show_p = _contracts_subs.add_parser(
1071
+ "show", help="Show content of a bundled contract."
1072
+ )
1073
+ _contracts_show_p.add_argument(
1074
+ "name", metavar="<name>", help="Contract name (from 'contracts list')."
1075
+ )
1076
+ _contracts_show_p.set_defaults(func=_lazy("catalogue_contracts"))
1077
+
1078
+ _contracts_export_p = _contracts_subs.add_parser(
1079
+ "export", help="Export all bundled contracts to a directory."
1080
+ )
1081
+ _contracts_export_p.add_argument(
1082
+ "--output", required=True, metavar="<dir>", help="Output directory."
1083
+ )
1084
+ _contracts_export_p.set_defaults(func=_lazy("catalogue_contracts"))
1085
+
1052
1086
  # --- lint packs --- (Wave 2; implemented)
1053
1087
  lint_parser = subparsers.add_parser(
1054
1088
  "lint",
@@ -0,0 +1,105 @@
1
+ """``agentbundle catalogue contracts`` command handler."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import dataclasses
6
+ import json
7
+ import sys
8
+ from pathlib import Path
9
+ from typing import TYPE_CHECKING
10
+
11
+ from agentbundle.catalogue_tooling.contracts_inspector import (
12
+ ContractResourceError,
13
+ export_contracts,
14
+ list_bundled_contracts,
15
+ show_contract,
16
+ )
17
+ from agentbundle.safety import WriteError
18
+
19
+ if TYPE_CHECKING:
20
+ import argparse
21
+
22
+ _REFERENCE_NOTICE = (
23
+ "These are reference copies only. They do not override the contracts used "
24
+ "for validation by this agentbundle version."
25
+ )
26
+
27
+
28
+ def _run_list(args: argparse.Namespace) -> int:
29
+ try:
30
+ contracts = list_bundled_contracts()
31
+ except ContractResourceError:
32
+ print("error: bundled contract resources are unavailable", file=sys.stderr)
33
+ return 1
34
+ if getattr(args, "format", "table") == "json":
35
+ print(json.dumps([dataclasses.asdict(contract) for contract in contracts]))
36
+ return 0
37
+
38
+ rows = [("NAME", "KIND", "FILE")] + [
39
+ (contract.name, contract.kind, contract.file) for contract in contracts
40
+ ]
41
+ # Pad to the widest cell so the header actually labels its column.
42
+ widths = [max(len(row[column]) for row in rows) for column in range(3)]
43
+ for row in rows:
44
+ print(f"{row[0]:<{widths[0]}} {row[1]:<{widths[1]}} {row[2]}")
45
+ return 0
46
+
47
+
48
+ def _run_show(args: argparse.Namespace) -> int:
49
+ name = str(args.name)
50
+ try:
51
+ content = show_contract(name)
52
+ except (ContractResourceError, OSError, ValueError):
53
+ print("error: bundled contract resources are unavailable", file=sys.stderr)
54
+ return 1
55
+ if content is None:
56
+ print(f"error: unrecognized bundled contract {name!r}", file=sys.stderr)
57
+ return 1
58
+ sys.stdout.write(content)
59
+ return 0
60
+
61
+
62
+ def _run_export(args: argparse.Namespace) -> int:
63
+ try:
64
+ written = export_contracts(Path(args.output))
65
+ except ContractResourceError:
66
+ print("error: bundled contract resources are unavailable", file=sys.stderr)
67
+ return 2
68
+ except ValueError as exc:
69
+ message = str(exc).replace("\n", " ")
70
+ print(f"error: cannot export bundled contracts: {message}", file=sys.stderr)
71
+ return 2
72
+ except WriteError as exc:
73
+ # WriteError subclasses OSError, so it must be caught first. Its
74
+ # messages name only the user-supplied output path and are the one
75
+ # actionable signal here ("permission denied", "no space left").
76
+ message = str(exc).replace("\n", " ")
77
+ print(f"error: cannot export bundled contracts: {message}", file=sys.stderr)
78
+ return 2
79
+ except OSError:
80
+ print(
81
+ "error: cannot export bundled contracts: filesystem operation failed",
82
+ file=sys.stderr,
83
+ )
84
+ return 2
85
+ for filename in written:
86
+ print(filename)
87
+ print(_REFERENCE_NOTICE, file=sys.stderr)
88
+ return 0
89
+
90
+
91
+ def run(args: argparse.Namespace) -> int:
92
+ """Dispatch a bundled-contract operation."""
93
+ subcommand = getattr(args, "contracts_sub", None)
94
+ if subcommand == "list":
95
+ return _run_list(args)
96
+ if subcommand == "show":
97
+ return _run_show(args)
98
+ if subcommand == "export":
99
+ return _run_export(args)
100
+ print(
101
+ "agentbundle catalogue contracts: specify a subcommand "
102
+ "(list, show, export)",
103
+ file=sys.stderr,
104
+ )
105
+ return 1
@@ -4,6 +4,7 @@ from __future__ import annotations
4
4
 
5
5
  import dataclasses
6
6
  import json
7
+ import shlex
7
8
  import sys
8
9
  from pathlib import Path
9
10
  from typing import TYPE_CHECKING
@@ -134,6 +135,33 @@ def _run_plain(args: argparse.Namespace) -> int:
134
135
  f"Catalogue '{result.catalogue.name}' initialized at {result.target}",
135
136
  file=sys.stderr,
136
137
  )
138
+ print("", file=sys.stderr)
139
+ print(" Next steps:", file=sys.stderr)
140
+ # Anchor the path to the initialized target: the guide lives at
141
+ # <target>/guides/..., so a bare relative path only resolves if
142
+ # the reader has already cd'd in.
143
+ standards_path = shlex.quote(
144
+ f"{result.target.rstrip('/')}/guides/_shared/reference/"
145
+ "catalogue-authoring-standards.md"
146
+ )
147
+ print(
148
+ f" • See {standards_path} for authoring standards.",
149
+ file=sys.stderr,
150
+ )
151
+ print(
152
+ " • Run 'agentbundle catalogue contracts list' to view "
153
+ "bundled contract schemas.",
154
+ file=sys.stderr,
155
+ )
156
+ # No surrounding quotes: shlex.quote already adds them when the
157
+ # target needs them, and nesting produces an uncopyable command.
158
+ verify_command = (
159
+ f"agentbundle catalogue verify --root {shlex.quote(result.target)}"
160
+ )
161
+ print(
162
+ f" • Run {verify_command} to validate your catalogue.",
163
+ file=sys.stderr,
164
+ )
137
165
  else:
138
166
  s = result.summary
139
167
  if s.conflict > 0: