agentbundle 0.35.2__tar.gz → 0.38.1__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 (610) hide show
  1. {agentbundle-0.35.2/agentbundle.egg-info → agentbundle-0.38.1}/PKG-INFO +77 -30
  2. {agentbundle-0.35.2 → agentbundle-0.38.1}/README-pypi.md +76 -29
  3. agentbundle-0.38.1/agentbundle/_data/catalogue-index.schema.json +180 -0
  4. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/guides/_shared/reference/catalogue-authoring-standards.md +136 -2
  5. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/manifest.json +2 -2
  6. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/profiles/AGENTS.md +4 -0
  7. agentbundle-0.38.1/agentbundle/_data/knowledge-captured-observation.schema.json +287 -0
  8. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/public-contracts.txt +2 -0
  9. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/skill.schema.json +40 -1
  10. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/adapters/claude_code.py +6 -20
  11. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/adapters/codex.py +6 -20
  12. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/adapters/copilot.py +13 -16
  13. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/adapters/cursor.py +13 -22
  14. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/adapters/gemini.py +12 -12
  15. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/adapters/kiro.py +13 -16
  16. agentbundle-0.38.1/agentbundle/build/projections/direct_directory.py +75 -0
  17. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/catalogue.py +17 -0
  18. agentbundle-0.38.1/agentbundle/catalogue_tooling/file_safety.py +217 -0
  19. agentbundle-0.38.1/agentbundle/catalogue_tooling/index_generator.py +541 -0
  20. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/initialise.py +26 -0
  21. agentbundle-0.38.1/agentbundle/catalogue_tooling/journey_validator.py +139 -0
  22. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/lint.py +296 -90
  23. agentbundle-0.38.1/agentbundle/catalogue_tooling/manifest.py +27 -0
  24. agentbundle-0.38.1/agentbundle/catalogue_tooling/okf_discovery.py +857 -0
  25. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/results.py +5 -0
  26. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/self_host_windows.py +11 -0
  27. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/skill_spec_lint.py +427 -188
  28. agentbundle-0.38.1/agentbundle/catalogue_tooling/verify.py +2296 -0
  29. agentbundle-0.38.1/agentbundle/catalogue_tooling/version_ranges.py +149 -0
  30. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/cli.py +52 -4
  31. agentbundle-0.38.1/agentbundle/commands/catalogue_index.py +189 -0
  32. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/catalogue_init.py +6 -26
  33. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/install.py +105 -33
  34. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/show.py +66 -24
  35. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/local_exclude.py +30 -0
  36. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/render.py +34 -3
  37. agentbundle-0.38.1/agentbundle/statelock.py +266 -0
  38. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/system_trust.py +32 -3
  39. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/version.py +1 -1
  40. {agentbundle-0.35.2 → agentbundle-0.38.1/agentbundle.egg-info}/PKG-INFO +77 -30
  41. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle.egg-info/SOURCES.txt +54 -0
  42. {agentbundle-0.35.2 → agentbundle-0.38.1}/pyproject.toml +1 -1
  43. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_self_host_check.py +64 -0
  44. agentbundle-0.38.1/tests/contracts/test_agentbundle_show_schema.py +290 -0
  45. agentbundle-0.38.1/tests/contracts/test_skill_schema.py +87 -0
  46. agentbundle-0.38.1/tests/fixtures/catalogue_wave4/catalogue.toml +5 -0
  47. agentbundle-0.38.1/tests/fixtures/catalogue_wave4/packs/pack-with-journey/.apm/hook-wiring/example.json +1 -0
  48. agentbundle-0.38.1/tests/fixtures/catalogue_wave4/packs/pack-with-journey/.apm/skills/example-skill/SKILL.md +6 -0
  49. agentbundle-0.38.1/tests/fixtures/catalogue_wave4/packs/pack-with-journey/.apm/skills/example-skill/scripts/run.py +1 -0
  50. agentbundle-0.38.1/tests/fixtures/catalogue_wave4/packs/pack-with-journey/JOURNEY.md +48 -0
  51. agentbundle-0.38.1/tests/fixtures/catalogue_wave4/packs/pack-with-journey/pack.toml +18 -0
  52. agentbundle-0.38.1/tests/fixtures/catalogue_wave4/packs/pack-without-journey/pack.toml +4 -0
  53. agentbundle-0.38.1/tests/fixtures/catalogue_wave4/profiles/test-profile.toml +8 -0
  54. agentbundle-0.38.1/tests/fixtures/external_catalogue/.claude-plugin/marketplace.json +1 -0
  55. agentbundle-0.38.1/tests/fixtures/external_catalogue/AGENTS.md +1 -0
  56. agentbundle-0.38.1/tests/fixtures/external_catalogue/LICENSE-APACHE +1 -0
  57. agentbundle-0.38.1/tests/fixtures/external_catalogue/LICENSE-MIT +1 -0
  58. agentbundle-0.38.1/tests/fixtures/external_catalogue/agentbundle/_data/install-defaults.toml +2 -0
  59. agentbundle-0.38.1/tests/fixtures/external_catalogue/catalogue.toml +31 -0
  60. agentbundle-0.38.1/tests/fixtures/external_catalogue/packs/alpha/.apm/skills/example/SKILL.md +6 -0
  61. agentbundle-0.38.1/tests/fixtures/external_catalogue/packs/alpha/.claude-plugin/plugin.json +1 -0
  62. agentbundle-0.38.1/tests/fixtures/external_catalogue/packs/alpha/pack.toml +13 -0
  63. agentbundle-0.38.1/tests/fixtures/external_catalogue/packs/alpha/seeds/AGENTS.md +3 -0
  64. agentbundle-0.38.1/tests/fixtures/external_catalogue/packs/beta/.claude-plugin/plugin.json +1 -0
  65. agentbundle-0.38.1/tests/fixtures/external_catalogue/packs/beta/pack.toml +17 -0
  66. agentbundle-0.38.1/tests/fixtures/external_catalogue/profiles/example.toml +8 -0
  67. agentbundle-0.38.1/tests/fixtures/show_contract/agentbundle-show.schema.json +303 -0
  68. agentbundle-0.38.1/tests/fixtures/show_contract/catalogue.json +76 -0
  69. agentbundle-0.38.1/tests/fixtures/show_contract/installed_state.json +12 -0
  70. agentbundle-0.38.1/tests/integration/test_catalogue_verify_adapter_compat.py +53 -0
  71. agentbundle-0.38.1/tests/integration/test_catalogue_verify_dependencies.py +210 -0
  72. agentbundle-0.38.1/tests/integration/test_catalogue_verify_external_portability.py +56 -0
  73. agentbundle-0.38.1/tests/integration/test_catalogue_verify_fixture_checks.py +123 -0
  74. agentbundle-0.38.1/tests/integration/test_catalogue_verify_marketplace.py +49 -0
  75. agentbundle-0.38.1/tests/integration/test_catalogue_verify_output_drift.py +149 -0
  76. agentbundle-0.38.1/tests/integration/test_catalogue_verify_package_preflight.py +74 -0
  77. agentbundle-0.38.1/tests/integration/test_catalogue_verify_plugin_path.py +209 -0
  78. agentbundle-0.38.1/tests/integration/test_catalogue_verify_profile_schema.py +139 -0
  79. agentbundle-0.38.1/tests/integration/test_catalogue_verify_step1.py +21 -0
  80. agentbundle-0.38.1/tests/integration/test_catalogue_wave4_index_generator.py +276 -0
  81. agentbundle-0.38.1/tests/integration/test_catalogue_wave4_integration.py +334 -0
  82. agentbundle-0.38.1/tests/integration/test_catalogue_wave4_journey_validator.py +172 -0
  83. agentbundle-0.38.1/tests/integration/test_catalogue_wave4_schema.py +160 -0
  84. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_install_dependencies_gate.py +86 -28
  85. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_install_profile.py +6 -6
  86. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_local_scope_install.py +188 -0
  87. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_show_cmd.py +167 -10
  88. agentbundle-0.38.1/tests/unit/test_adapter_symlink_policy.py +127 -0
  89. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_skill_spec_lint.py +181 -1
  90. agentbundle-0.38.1/tests/unit/test_catalogue_tooling_file_safety.py +54 -0
  91. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_tooling_lint.py +473 -13
  92. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_tooling_package.py +12 -5
  93. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_tooling_verify.py +69 -0
  94. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_trust_fallback.py +95 -0
  95. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_wave2_validation.py +96 -0
  96. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_wave3_init_nextsteps.py +33 -3
  97. agentbundle-0.38.1/tests/unit/test_cli_list_targets_help.py +67 -0
  98. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_cli_path_normalisation.py +35 -1
  99. agentbundle-0.38.1/tests/unit/test_collect_tree_symlinks.py +88 -0
  100. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_dependencies_batch.py +6 -2
  101. agentbundle-0.38.1/tests/unit/test_okf_discovery.py +841 -0
  102. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_plugin_scope_filter.py +2 -1
  103. agentbundle-0.38.1/tests/unit/test_statelock_hardening.py +189 -0
  104. agentbundle-0.35.2/agentbundle/build/projections/direct_directory.py +0 -41
  105. agentbundle-0.35.2/agentbundle/catalogue_tooling/file_safety.py +0 -63
  106. agentbundle-0.35.2/agentbundle/catalogue_tooling/verify.py +0 -1094
  107. agentbundle-0.35.2/agentbundle/statelock.py +0 -148
  108. {agentbundle-0.35.2 → agentbundle-0.38.1}/MANIFEST.in +0 -0
  109. {agentbundle-0.35.2 → agentbundle-0.38.1}/README.md +0 -0
  110. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/__init__.py +0 -0
  111. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/__main__.py +0 -0
  112. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/adapter.schema.json +0 -0
  113. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/adapter.toml +0 -0
  114. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/guides/_shared/reference/catalogue-ci-contract.md +0 -0
  115. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/packs/AGENTS.md +0 -0
  116. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/packs/README.md +0 -0
  117. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/packs/_example/.apm/skills/example-skill/SKILL.md +0 -0
  118. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/packs/_example/.apm/skills/example-skill/evals/eval_queries.json +0 -0
  119. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/packs/_example/.claude-plugin/plugin.json +0 -0
  120. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/packs/_example/README.md +0 -0
  121. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/packs/_example/pack.toml +0 -0
  122. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/profiles/README.md +0 -0
  123. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/profiles/_example/README.md +0 -0
  124. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/profiles/_example/profile.toml +0 -0
  125. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_gemini_admissibility.py +0 -0
  126. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_pack_metadata.py +0 -0
  127. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_shared_library_boundaries.py +0 -0
  128. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue.schema.json +0 -0
  129. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/guide.schema.json +0 -0
  130. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/install-defaults.toml +0 -0
  131. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/install-marker.py +0 -0
  132. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/marketplace-entry.schema.json +0 -0
  133. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/pack.schema.json +0 -0
  134. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/plugin-manifest.derived.schema.json +0 -0
  135. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/plugin-manifest.schema.json +0 -0
  136. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/profile.schema.json +0 -0
  137. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/skill-manifest.schema.json +0 -0
  138. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/target-vocab.toml +0 -0
  139. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/_data/workspace_status_engine.py +0 -0
  140. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/__init__.py +0 -0
  141. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/__main__.py +0 -0
  142. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/adapter_root_bins.py +0 -0
  143. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/adapters/__init__.py +0 -0
  144. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/adapters/kiro_cli.py +0 -0
  145. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/adapters/kiro_ide.py +0 -0
  146. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/contract.py +0 -0
  147. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/hook_wiring_rules.py +0 -0
  148. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/lint_packs.py +0 -0
  149. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/main.py +0 -0
  150. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/phase_order.py +0 -0
  151. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/projection_io.py +0 -0
  152. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/projections/__init__.py +0 -0
  153. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/projections/codex_agent_toml.py +0 -0
  154. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/projections/copilot_agent_md.py +0 -0
  155. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/projections/copilot_hooks_json.py +0 -0
  156. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/projections/gemini_command_toml.py +0 -0
  157. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/projections/hook_id.py +0 -0
  158. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/projections/kiro_ide_hook.py +0 -0
  159. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/projections/merge_into_agent_json.py +0 -0
  160. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/projections/merge_json.py +0 -0
  161. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/projections/plugin_hooks.py +0 -0
  162. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/projections/user_merge_json.py +0 -0
  163. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/recipes/composite-agents-md.toml +0 -0
  164. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/recipes/composite-marketplace.toml +0 -0
  165. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/recipes/marketplace.toml +0 -0
  166. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/recipes/per-pack-apm-package.toml +0 -0
  167. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/recipes/per-pack-claude-plugin.toml +0 -0
  168. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/recipes/per-pack-overlay.toml +0 -0
  169. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/recipes/self-host.toml +0 -0
  170. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/scope_rails.py +0 -0
  171. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/self_host.py +0 -0
  172. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/shared_libs.py +0 -0
  173. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/target_resolver.py +0 -0
  174. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/user_libs.py +0 -0
  175. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/build/validate.py +0 -0
  176. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/__init__.py +0 -0
  177. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/archive.py +0 -0
  178. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/build.py +0 -0
  179. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/config.py +0 -0
  180. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/contracts_inspector.py +0 -0
  181. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/defaults.py +0 -0
  182. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/diagnostics.py +0 -0
  183. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/identity.py +0 -0
  184. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/initialise_self_hosted.py +0 -0
  185. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/package.py +0 -0
  186. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/self_host.py +0 -0
  187. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/toml_emit.py +0 -0
  188. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/categories.py +0 -0
  189. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/__init__.py +0 -0
  190. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/_common.py +0 -0
  191. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/_drop_warning.py +0 -0
  192. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/adapt.py +0 -0
  193. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/catalogue_build.py +0 -0
  194. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/catalogue_contracts.py +0 -0
  195. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/catalogue_lint.py +0 -0
  196. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/catalogue_package.py +0 -0
  197. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/catalogue_self_host.py +0 -0
  198. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/catalogue_sync_defaults.py +0 -0
  199. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/catalogue_tooling_stub.py +0 -0
  200. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/catalogue_verify.py +0 -0
  201. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/config.py +0 -0
  202. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/diff.py +0 -0
  203. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/docs.py +0 -0
  204. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/init_state.py +0 -0
  205. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/list_installed.py +0 -0
  206. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/list_packs.py +0 -0
  207. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/list_profiles.py +0 -0
  208. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/list_targets.py +0 -0
  209. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/oplog_cmd.py +0 -0
  210. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/pack_config_cmd.py +0 -0
  211. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/pack_evals.py +0 -0
  212. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/package_catalogue.py +0 -0
  213. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/profile.py +0 -0
  214. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/reconcile.py +0 -0
  215. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/render.py +0 -0
  216. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/scaffold.py +0 -0
  217. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/uninstall.py +0 -0
  218. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/upgrade.py +0 -0
  219. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/commands/validate.py +0 -0
  220. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/config.py +0 -0
  221. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/https_catalogue.py +0 -0
  222. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/oplog.py +0 -0
  223. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/pack_inventory.py +0 -0
  224. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/safety.py +0 -0
  225. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/scaffold.py +0 -0
  226. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/scope.py +0 -0
  227. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/source_defaults.py +0 -0
  228. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/user_config.py +0 -0
  229. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle/workspace_mcp.py +0 -0
  230. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle.egg-info/dependency_links.txt +0 -0
  231. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle.egg-info/entry_points.txt +0 -0
  232. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle.egg-info/requires.txt +0 -0
  233. {agentbundle-0.35.2 → agentbundle-0.38.1}/agentbundle.egg-info/top_level.txt +0 -0
  234. {agentbundle-0.35.2 → agentbundle-0.38.1}/conftest.py +0 -0
  235. {agentbundle-0.35.2 → agentbundle-0.38.1}/setup.cfg +0 -0
  236. {agentbundle-0.35.2 → agentbundle-0.38.1}/templates/install-marker.py +0 -0
  237. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/__init__.py +0 -0
  238. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/_support.py +0 -0
  239. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/__init__.py +0 -0
  240. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/README.md +0 -0
  241. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/claude-code-2.1.226-hook-events.json +0 -0
  242. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/claude-code-2.1.228-hook-events.json +0 -0
  243. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/core/.apm/agents/bar.md +0 -0
  244. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/core/.apm/commands/qux.md +0 -0
  245. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/core/.apm/hook-wiring/baz.toml +0 -0
  246. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/core/.apm/hook-wiring/qux.toml +0 -0
  247. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/core/.apm/hooks/baz.py +0 -0
  248. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/core/.apm/hooks/baz.sh +0 -0
  249. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/core/.apm/skills/example/SKILL.md +0 -0
  250. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/core/.claude-plugin/plugin.json +0 -0
  251. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/core/pack.toml +0 -0
  252. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/governance-extras/.apm/skills/example/SKILL.md +0 -0
  253. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/governance-extras/.claude-plugin/plugin.json +0 -0
  254. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/governance-extras/pack.toml +0 -0
  255. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/monorepo-extras/.apm/skills/example/SKILL.md +0 -0
  256. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/monorepo-extras/.claude-plugin/plugin.json +0 -0
  257. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/monorepo-extras/pack.toml +0 -0
  258. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/product-documentation/.apm/skills/example/SKILL.md +0 -0
  259. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/product-documentation/.claude-plugin/plugin.json +0 -0
  260. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/product-documentation/pack.toml +0 -0
  261. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/.apm/skills/example/SKILL.md +0 -0
  262. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/.claude-plugin/plugin.json +0 -0
  263. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/pack.toml +0 -0
  264. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/recipes/bogus-target.toml +0 -0
  265. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_adapter_claude_code.py +0 -0
  266. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_adapter_codex.py +0 -0
  267. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_adapter_copilot.py +0 -0
  268. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_adapter_cursor.py +0 -0
  269. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_adapter_gemini.py +0 -0
  270. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_adapter_kiro.py +0 -0
  271. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_adapter_kiro_alias.py +0 -0
  272. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_adapter_kiro_cli.py +0 -0
  273. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_adapter_kiro_ide.py +0 -0
  274. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_adapter_root_bins_projection.py +0 -0
  275. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_build_ships_seeds.py +0 -0
  276. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_contract.py +0 -0
  277. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_contract_scope.py +0 -0
  278. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_contract_v07.py +0 -0
  279. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_contract_v08.py +0 -0
  280. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_direct_directory_cleanup.py +0 -0
  281. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_end_to_end_build.py +0 -0
  282. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_hook_wiring_rules.py +0 -0
  283. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_lint_packs.py +0 -0
  284. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_load_pack_hook_wiring_safely.py +0 -0
  285. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_pack_schema.py +0 -0
  286. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_pack_schema_allowed_adapters.py +0 -0
  287. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_pack_schema_install.py +0 -0
  288. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_pipeline.py +0 -0
  289. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_plugin_hooks.py +0 -0
  290. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_plugin_manifest_schema.py +0 -0
  291. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_plugin_publication_gates.py +0 -0
  292. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_projectable_subset.py +0 -0
  293. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_projection_io.py +0 -0
  294. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_projections_merge_json.py +0 -0
  295. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_scope_rails.py +0 -0
  296. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_security.py +0 -0
  297. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_self_host_fixture_guard.py +0 -0
  298. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_self_host_metadata_policy.py +0 -0
  299. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_self_host_recipe_config.py +0 -0
  300. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_shared_libs_projection.py +0 -0
  301. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_shared_prefix_contract.py +0 -0
  302. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_user_libs_projection.py +0 -0
  303. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_validate.py +0 -0
  304. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/build_pipeline/test_writers_emit_lf.py +0 -0
  305. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/conftest.py +0 -0
  306. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/adapt/.adapt-discovery.toml +0 -0
  307. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/adapt/values.toml +0 -0
  308. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/blank_catalogue/.claude-plugin/marketplace.json +0 -0
  309. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/blank_catalogue/catalogue.toml +0 -0
  310. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/blank_catalogue/packs/.gitkeep +0 -0
  311. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/blank_catalogue/packs/_example/.apm/skills/example-skill/SKILL.md +0 -0
  312. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/blank_catalogue/packs/_example/.claude-plugin/plugin.json +0 -0
  313. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/blank_catalogue/packs/_example/README.md +0 -0
  314. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/blank_catalogue/packs/_example/evals/eval_queries.json +0 -0
  315. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/blank_catalogue/packs/_example/pack.toml +0 -0
  316. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/blank_catalogue/profiles/.gitkeep +0 -0
  317. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/blank_catalogue/profiles/_example/README.md +0 -0
  318. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/blank_catalogue/profiles/_example/profile.toml +0 -0
  319. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/brownfield/values.toml +0 -0
  320. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/brownfield-adapt/AGENTS.md +0 -0
  321. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/brownfield-adapt/AGENTS.upstream.md +0 -0
  322. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/brownfield-adapt/DESIGN.md +0 -0
  323. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/brownfield-adapt/EXPECTED_TREE.md +0 -0
  324. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/brownfield-adapt/docs/CHARTER.md +0 -0
  325. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/brownfield-adapt/docs/guides/how-to/index.md +0 -0
  326. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/brownfield-adapt/docs/howto/getting-started.md +0 -0
  327. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/brownfield-adapt-expected/AGENTS.md +0 -0
  328. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/brownfield-adapt-expected/docs/CHARTER.md +0 -0
  329. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/brownfield-adapt-user-home/.agentbundle/.adapt-discovery.toml +0 -0
  330. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/brownfield-adapt-user-home/.agentbundle/state.toml +0 -0
  331. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/argv-flag/SKILL.md +0 -0
  332. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/argv-flag/scripts/cli.py +0 -0
  333. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/argv-flag-derived/SKILL.md +0 -0
  334. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/argv-flag-derived/scripts/cli.py +0 -0
  335. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/argv-flag-normalised/SKILL.md +0 -0
  336. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/argv-flag-normalised/scripts/cli.py +0 -0
  337. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/conforming/SKILL.md +0 -0
  338. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/conforming/scripts/cli.py +0 -0
  339. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/dotfile-grep/SKILL.md +0 -0
  340. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/dotfile-grep/scripts/leak.py +0 -0
  341. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/dotfile-with-optout/SKILL.md +0 -0
  342. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/dotfile-with-optout/scripts/legit.py +0 -0
  343. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/mcp-server-headers/SKILL.md +0 -0
  344. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/mcp-server-headers/scripts/cli.py +0 -0
  345. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/missing-dont-block/SKILL.md +0 -0
  346. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/install/catalogue/packs/alpha/.apm/agents/helper.md +0 -0
  347. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/install/catalogue/packs/alpha/.apm/commands/cmd.md +0 -0
  348. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/install/catalogue/packs/alpha/.apm/hook-wiring/run.toml +0 -0
  349. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/install/catalogue/packs/alpha/.apm/hooks/run.sh +0 -0
  350. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/install/catalogue/packs/alpha/.apm/skills/example/SKILL.md +0 -0
  351. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/install/catalogue/packs/alpha/.claude-plugin/plugin.json +0 -0
  352. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/install/catalogue/packs/alpha/pack.toml +0 -0
  353. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/kiro_ide_hook/ask_agent_basic.kiro.hook +0 -0
  354. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/kiro_ide_hook/run_command_with_placeholder.kiro.hook +0 -0
  355. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/lint_packs/clean/pack.toml +0 -0
  356. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/lint_packs/clean/seeds/README.md +0 -0
  357. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/list-installed/golden_120col.txt +0 -0
  358. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/list-installed/golden_80col.txt +0 -0
  359. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/list_packs/catalogue/packs/alpha/pack.toml +0 -0
  360. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/list_packs/catalogue/packs/beta/pack.toml +0 -0
  361. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/local_scope/catalogue/packs/local-test-pack/.apm/skills/local-test/SKILL.md +0 -0
  362. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/local_scope/catalogue/packs/local-test-pack/pack.toml +0 -0
  363. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/packs/cc-user-hooks/.apm/hook-wiring/on-prompt.toml +0 -0
  364. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/packs/cc-user-hooks/.apm/hooks/on-prompt.sh +0 -0
  365. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/packs/cc-user-hooks/pack.toml +0 -0
  366. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/packs/kiro-repo-hooks/.apm/agents/reviewer.md +0 -0
  367. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/packs/kiro-repo-hooks/.apm/hook-wiring/on-spawn.toml +0 -0
  368. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/packs/kiro-repo-hooks/.apm/hooks/on-spawn.sh +0 -0
  369. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/packs/kiro-repo-hooks/pack.toml +0 -0
  370. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/packs/kiro-user-hooks/.apm/agents/reviewer.md +0 -0
  371. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/packs/kiro-user-hooks/.apm/hook-wiring/on-spawn.toml +0 -0
  372. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/packs/kiro-user-hooks/.apm/hooks/on-spawn.sh +0 -0
  373. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/packs/kiro-user-hooks/pack.toml +0 -0
  374. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/agents/reviewer.md +0 -0
  375. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/hook-wiring/on-spawn.toml +0 -0
  376. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/hooks/on-spawn.sh +0 -0
  377. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/packs/malformed-kiro-missing-attach/pack.toml +0 -0
  378. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/agents/reviewer.md +0 -0
  379. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/hook-wiring/on-spawn.toml +0 -0
  380. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/hooks/on-spawn.sh +0 -0
  381. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/packs/malformed-kiro-pascal-events/pack.toml +0 -0
  382. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/agents/reviewer.md +0 -0
  383. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/hook-wiring/on-spawn.toml +0 -0
  384. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/hooks/on-spawn.sh +0 -0
  385. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/packs/malformed-kiro-unknown-agent/pack.toml +0 -0
  386. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/scaffold/test-pack/seeds/AGENTS.md +0 -0
  387. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/scaffold/test-pack/seeds/_agents-footer.md +0 -0
  388. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/scaffold/test-pack/seeds/docs/CHARTER.md +0 -0
  389. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/agents/reviewer.md +0 -0
  390. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/commands/deploy.md +0 -0
  391. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hook-wiring/pre-commit.toml +0 -0
  392. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hooks/lint.py +0 -0
  393. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hooks/pre-commit.sh +0 -0
  394. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
  395. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v1/packs/core/.claude-plugin/plugin.json +0 -0
  396. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v1/packs/core/pack.toml +0 -0
  397. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/agents/reviewer.md +0 -0
  398. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/commands/deploy.md +0 -0
  399. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hook-wiring/pre-commit.toml +0 -0
  400. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hooks/lint.py +0 -0
  401. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hooks/pre-commit.sh +0 -0
  402. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
  403. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v2/packs/core/.claude-plugin/plugin.json +0 -0
  404. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v2/packs/core/pack.toml +0 -0
  405. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/agents/reviewer.md +0 -0
  406. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/commands/deploy.md +0 -0
  407. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hook-wiring/pre-commit.toml +0 -0
  408. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hooks/lint.py +0 -0
  409. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hooks/pre-commit.sh +0 -0
  410. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
  411. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v3/packs/core/.claude-plugin/plugin.json +0 -0
  412. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v3/packs/core/pack.toml +0 -0
  413. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/validate/bad_recipe_pack/pack.toml +0 -0
  414. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/validate/malformed_pack/pack.toml +0 -0
  415. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/validate/valid_pack/pack.toml +0 -0
  416. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/fixtures/validate/version_mismatch_pack/pack.toml +0 -0
  417. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/__init__.py +0 -0
  418. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_adapt_cmd.py +0 -0
  419. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_adapt_dual_scope.py +0 -0
  420. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_adapt_preflight_detection.py +0 -0
  421. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_adapt_schema_migration.py +0 -0
  422. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_apm_install_route.py +0 -0
  423. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_blank_catalogue.py +0 -0
  424. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_brownfield_adapt_end_to_end.py +0 -0
  425. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_brownfield_round_trip.py +0 -0
  426. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_brownfield_user_home_fixture.py +0 -0
  427. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_build_check_drift_gates.py +0 -0
  428. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_build_derivation_apm.py +0 -0
  429. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_build_derivation_claude_plugins.py +0 -0
  430. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_catalogue_init.py +0 -0
  431. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_cc_user_hooks_fixture.py +0 -0
  432. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_claude_plugins_install_route.py +0 -0
  433. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_config_cascade.py +0 -0
  434. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_credential_brokers_pack_install.py +0 -0
  435. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_credentials_wheel.py +0 -0
  436. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_discovery_schema_cross_consumer.py +0 -0
  437. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_editable_source_detection.py +0 -0
  438. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_fixtures_validate.py +0 -0
  439. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_hook_wiring_ingress.py +0 -0
  440. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_install_adapt_chain.py +0 -0
  441. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_install_cmd.py +0 -0
  442. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_install_converters_user_scope.py +0 -0
  443. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_install_copilot_full_parity.py +0 -0
  444. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_install_core_smoke.py +0 -0
  445. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_install_default_source.py +0 -0
  446. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_install_dropped_primitives_warning.py +0 -0
  447. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_install_dual_scope.py +0 -0
  448. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_install_orphan_reshape.py +0 -0
  449. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_install_pack_metadata_shape.py +0 -0
  450. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_install_profile_live.py +0 -0
  451. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_install_repo_scope_per_adapter.py +0 -0
  452. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_install_research_user_scope.py +0 -0
  453. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_install_seed_delivery.py +0 -0
  454. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_install_session_start_wiring.py +0 -0
  455. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_install_upgrade_offer.py +0 -0
  456. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_install_user_hooks.py +0 -0
  457. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_install_user_scope_allowed_adapters.py +0 -0
  458. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_kiro_ide_hook_e2e.py +0 -0
  459. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_kiro_repo_hooks_fixture.py +0 -0
  460. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_kiro_user_hooks_fixture.py +0 -0
  461. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_list_packs_cmd.py +0 -0
  462. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_marketplace_entry_validation.py +0 -0
  463. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_marketplace_manifest_regression.py +0 -0
  464. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_multi_pack_install.py +0 -0
  465. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_orphan_cleanup_respects_foreign_state.py +0 -0
  466. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_plugin_route_membership.py +0 -0
  467. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_recommends_cross_scope.py +0 -0
  468. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_reconcile.py +0 -0
  469. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_reserved_path_filter.py +0 -0
  470. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_scaffold_projection.py +0 -0
  471. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_self_host_schema_migration.py +0 -0
  472. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_self_host_sweep_respects_state.py +0 -0
  473. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_shared_prefix_coexistence.py +0 -0
  474. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_tier_invariants.py +0 -0
  475. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_trust_fallback_tls.py +0 -0
  476. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_uninstall_cmd.py +0 -0
  477. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_uninstall_user_hooks.py +0 -0
  478. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_upgrade_attach_to_agent.py +0 -0
  479. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_upgrade_cmd.py +0 -0
  480. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_upgrade_user_hooks.py +0 -0
  481. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_version_gate_matrix.py +0 -0
  482. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_workspace_mcp_git_fsm.py +0 -0
  483. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/integration/test_zipapp.py +0 -0
  484. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/test_adapter_permissions_projection.py +0 -0
  485. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/test_workspace_mcp_elicit.py +0 -0
  486. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/test_workspace_mcp_event_bridge.py +0 -0
  487. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/test_workspace_mcp_git.py +0 -0
  488. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/test_workspace_mcp_lifecycle.py +0 -0
  489. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/test_workspace_mcp_stdin.py +0 -0
  490. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/test_workspace_mcp_tools.py +0 -0
  491. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/__init__.py +0 -0
  492. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_adapt_discovery_schema.py +0 -0
  493. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_append_layout_section.py +0 -0
  494. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_architect_readme_install_command.py +0 -0
  495. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_ci_contract.py +0 -0
  496. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_curation_deps.py +0 -0
  497. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_init_cli_self_hosted.py +0 -0
  498. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_pack_defaults.py +0 -0
  499. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_self_hosted_export_removal.py +0 -0
  500. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_tooling_archive.py +0 -0
  501. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_tooling_build.py +0 -0
  502. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_tooling_defaults.py +0 -0
  503. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_tooling_foundation.py +0 -0
  504. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_tooling_identity.py +0 -0
  505. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_tooling_init.py +0 -0
  506. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_tooling_self_host.py +0 -0
  507. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_tooling_self_hosted_init.py +0 -0
  508. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_tooling_source_package.py +0 -0
  509. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_wave2_schema.py +0 -0
  510. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_wave3_contracts_cli.py +0 -0
  511. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_wave3_contracts_inspector.py +0 -0
  512. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_wave3_offline_navigation.py +0 -0
  513. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_cli_catalogue_optional.py +0 -0
  514. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_cli_help_lists_config.py +0 -0
  515. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_cli_profile_surface.py +0 -0
  516. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_cli_scope_flags.py +0 -0
  517. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_codex_agent_toml.py +0 -0
  518. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_codex_projection_modes.py +0 -0
  519. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_common_classify_seeds.py +0 -0
  520. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_config.py +0 -0
  521. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_config_cmd.py +0 -0
  522. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_configured_adapter.py +0 -0
  523. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_confirm_helper.py +0 -0
  524. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_contract_parity.py +0 -0
  525. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_contract_v0_3_schema.py +0 -0
  526. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_copilot_agent_md.py +0 -0
  527. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_copilot_hooks_json.py +0 -0
  528. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_copilot_user_scope_wiring.py +0 -0
  529. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_credbroker_lint_hardening.py +0 -0
  530. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_diff_cmd.py +0 -0
  531. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_footprint_ownership.py +0 -0
  532. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_https_catalogue.py +0 -0
  533. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_init_state_cmd.py +0 -0
  534. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_install_argparse_adapter_flag.py +0 -0
  535. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_install_argparse_emit_install_routes.py +0 -0
  536. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_install_defaults_preferred_adapter.py +0 -0
  537. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_install_dropped_primitives_warning.py +0 -0
  538. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_install_event_dropped_wirings.py +0 -0
  539. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_install_first_value_handoff.py +0 -0
  540. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_install_force_help.py +0 -0
  541. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_install_inband_detection.py +0 -0
  542. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_install_messages.py +0 -0
  543. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_install_messages_repo_scope.py +0 -0
  544. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_install_refusal_ordering.py +0 -0
  545. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_install_state_provenance.py +0 -0
  546. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_kiro_ide_hook_projection.py +0 -0
  547. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_kiro_ide_hook_rail.py +0 -0
  548. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_kiro_ide_hook_schema.py +0 -0
  549. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_lint_agent_artifacts_metadata_auth.py +0 -0
  550. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_list_installed_cmd.py +0 -0
  551. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_list_installed_status.py +0 -0
  552. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_list_targets_cmd.py +0 -0
  553. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_local_scope_schema.py +0 -0
  554. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_local_scope_t10_uninstall.py +0 -0
  555. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_local_scope_t12_show.py +0 -0
  556. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_local_scope_t2_resolve.py +0 -0
  557. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_local_scope_t3_config.py +0 -0
  558. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_local_scope_t4_state_path.py +0 -0
  559. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_local_scope_t5_list_installed.py +0 -0
  560. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_local_scope_t7_install_gates.py +0 -0
  561. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_local_scope_t8_install.py +0 -0
  562. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_local_scope_t9_exclude.py +0 -0
  563. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_marker_schema_version_parity.py +0 -0
  564. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_merge_into_agent_json.py +0 -0
  565. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_multi_adapter_disambiguator.py +0 -0
  566. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_nested_symlink_hardening.py +0 -0
  567. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_org_bootstrap.py +0 -0
  568. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_pack_config_api.py +0 -0
  569. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_pack_inventory.py +0 -0
  570. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_package_catalogue.py +0 -0
  571. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_packstate_source_provenance.py +0 -0
  572. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_pipeline_phase_order.py +0 -0
  573. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_profile_reader.py +0 -0
  574. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_render.py +0 -0
  575. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_render_cmd.py +0 -0
  576. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_render_table.py +0 -0
  577. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_resolve_state_path.py +0 -0
  578. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_resolve_target_adapter_user_config.py +0 -0
  579. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_resolve_user_scope_target_adapter.py +0 -0
  580. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_safety.py +0 -0
  581. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_safety_repo_scope_prefixes.py +0 -0
  582. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_safety_scan_per_pack_scoping.py +0 -0
  583. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_scaffold_cmd.py +0 -0
  584. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_scope.py +0 -0
  585. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_self_host_windows.py +0 -0
  586. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_shared_prefix_disclosure.py +0 -0
  587. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_source_conflict_guard.py +0 -0
  588. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_source_defaults.py +0 -0
  589. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_state_v01_refuse_write.py +0 -0
  590. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_state_v02.py +0 -0
  591. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_state_v0_4_schema.py +0 -0
  592. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_statelock.py +0 -0
  593. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_system_trust.py +0 -0
  594. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_target_resolver.py +0 -0
  595. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_toml_emitters.py +0 -0
  596. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_unresolved_markers.py +0 -0
  597. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_upgrade_bulk_all.py +0 -0
  598. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_upgrade_recap.py +0 -0
  599. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_upgrade_source_inference.py +0 -0
  600. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_user_config_io.py +0 -0
  601. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_user_config_isolation.py +0 -0
  602. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_user_config_path.py +0 -0
  603. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_user_config_source.py +0 -0
  604. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_user_merge_json.py +0 -0
  605. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_validate_attach_to_agent.py +0 -0
  606. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_validate_categories.py +0 -0
  607. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_validate_cmd.py +0 -0
  608. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_validate_hook_wiring_per_file_compatibility.py +0 -0
  609. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_values_from_shapes.py +0 -0
  610. {agentbundle-0.35.2 → agentbundle-0.38.1}/tests/unit/test_version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentbundle
3
- Version: 0.35.2
3
+ Version: 0.38.1
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,42 +34,89 @@ 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.35.0
37
+ ## What's new in 0.38.1
38
38
 
39
- **Installs now work on corporate networks that inspect TLS.** If your employer
40
- runs a proxy that re-signs HTTPS traffic, an install used to fail like this and
41
- leave you nothing to act on:
39
+ `agentbundle catalogue self-host --check --windows` gained a stage that verifies
40
+ a source catalogue's declared knowledge bundles against their committed output.
41
+ The verification itself is performed by the catalogue's own tooling, so this
42
+ changes nothing for installing or using a pack.
42
43
 
43
- ```
44
- install: Failed to fetch catalogue archive: … —
45
- [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed:
46
- unable to get local issuer certificate
47
- ```
44
+ ## What's new in 0.38.0
48
45
 
49
- The certificate authority your IT team installed is in the operating system's
50
- trust store, and Python does not read that store on macOS. AgentBundle now
51
- recovers on its own:
46
+ `agentbundle show <pack> --format json` now emits the additive pre-release rich
47
+ discovery fields `pack_metadata`, `skill_metadata`, and `knowledge` when the
48
+ pack is read from a live catalogue. The existing fields keep their current
49
+ meaning and ordering; installed-state fallback cannot prove rich metadata, so
50
+ those three fields are exactly `null` there.
52
51
 
52
+ The rich discovery surface is deliberately one-pack-at-a-time. It does not add
53
+ OKF data to `list-packs`, Claude marketplace output, `catalogue-index.json`, or
54
+ installed state, and it does not run compilers, network fetches, or pack code.
55
+
56
+ ## Catalogue verification
57
+
58
+ `agentbundle catalogue verify` performs all 19 advertised checks. It validates
59
+ profile schemas and pack references, dependency ranges and cycles, adapter
60
+ compatibility, generated-output drift, pack preflight metadata, and skill
61
+ evaluation manifests. The verifier remains read-only and portable across
62
+ external catalogues.
63
+
64
+ Dependency ranges use the same npm-compatible grammar in verify, lint, and
65
+ install: caret, tilde, comparator, compound, and prerelease forms agree across
66
+ all three commands. In particular, caret ranges below `1.0.0` use normal semver
67
+ compatibility (`^0.2` does not include `0.3.x`).
68
+
69
+ `agentbundle catalogue index` now generates a deterministic, adapter-neutral
70
+ `catalogue-index.json` from catalogue, pack, profile, and optional journey
71
+ metadata. The command validates against its bundled public schema before an
72
+ atomic no-follow write; `--dry-run` writes nothing, and `--format json` emits one
73
+ closed result document for automation.
74
+
75
+ The generated index exposes content-addressable pack digests, structural content
76
+ and execution inventory, profile composition, declared external effects, and
77
+ forward and inverse pack integrations without relying on one agent host's
78
+ marketplace format.
79
+
80
+ ## Catalogue authoring
81
+
82
+ New catalogue scaffolds document the `JOURNEY.md` convention: required and
83
+ optional frontmatter, external-effect declarations, reader-facing body sections,
84
+ and migration guidance. Existing packs without a journey remain valid and appear
85
+ with an empty `journeys` array.
86
+
87
+ The same authoring reference retains the guide callout contract: exact quoted
88
+ wording remains a blockquote, while guidance uses the documented typed aside.
89
+
90
+ Generate and validate a neutral index with:
91
+
92
+ ```bash
93
+ agentbundle catalogue index . --dry-run
94
+ agentbundle catalogue index . --output catalogue-index.json
53
95
  ```
54
- agentbundle: certificate verification failed for github.com;
55
- retrying with operating-system trust anchors
56
- ```
57
96
 
58
- Verification stays strict throughout — the retry *adds* trust anchors and never
59
- removes one, and no flag or environment variable can disable verification. Only
60
- the administrator keychain is read; your login keychain never is, because it is
61
- writable without administrator rights. Set `AGENTBUNDLE_NO_SYSTEM_TRUST=1` to
62
- opt out and see the underlying error.
97
+ ## Contract discovery
98
+
99
+ The bundled public contract inventory includes `catalogue-index.schema.json` as
100
+ the closed contract for generated neutral indexes. It also includes the strict
101
+ `knowledge-captured-observation.schema.json` contract used by the core pack's
102
+ project-knowledge capture handoff.
103
+
104
+ You can inspect the exact public contracts bundled with the installed
105
+ AgentBundle version without network access:
106
+
107
+ ```bash
108
+ agentbundle catalogue contracts list
109
+ agentbundle catalogue contracts show pack.schema.json
110
+ agentbundle catalogue contracts export --output ./reference-contracts
111
+ ```
63
112
 
64
- `AGENTBUNDLE_CA_BUNDLE` also works on `git+https://` sources now — previously
65
- only the `catalogue+https://` and `archive+https://` forms read it, so following
66
- the documentation did not help. `SSL_CERT_FILE`, `SSL_CERT_DIR`, and
67
- `REQUESTS_CA_BUNDLE` are honoured there too. See
68
- [Corporate networks](#corporate-networks) below.
113
+ `list` and `show` are read-only. `export` writes reference copies through a
114
+ no-follow, preflighted batch writer; those copies do not override the contracts
115
+ AgentBundle uses for validation.
69
116
 
70
- When a fetch still fails, the error names the likely cause and ordered next
71
- steps, and the request now carries a 30-second timeout so a proxy that accepts
72
- the connection and never answers fails instead of hanging.
117
+ Successful `agentbundle catalogue init` output points to the scaffolded
118
+ `guides/_shared/reference/catalogue-authoring-standards.md`, contract discovery,
119
+ and catalogue verification. JSON init output remains unchanged.
73
120
 
74
121
  **Install into a repo** — so everyone who clones it gets the pack. `core` is the flagship pack, the loop itself:
75
122
 
@@ -153,7 +200,7 @@ agentbundle uninstall --pack core --yes
153
200
 
154
201
  **`list-installed`** reads your state files (not the catalogue) and reports every installed `(pack, adapter)` at each scope with its version and a four-value status — `up-to-date`, `upgrade-available`, `ahead` (installed version is newer than catalogue), or `unknown`; it degrades to `unknown` (never an error) when the catalogue can't be resolved, and `--no-check` skips the check entirely. `--format json` emits a stable JSON contract (`schema_version: 1`) to stdout — useful for CI automation of upgrade decisions. `--updates-only` hides `up-to-date` rows.
155
202
 
156
- **`show <pack>`** answers "what skills and agents does this pack contain?" by walking the pack's source tree live on each call — so the answer can't drift, and nothing is persisted. `--format json` emits a stable object (`name`, `version`, `description`, `skills`, `agents`, `source`) for scripts and agents. When the catalogue can't be resolved, an *installed* pack still reports its inventory from your state files (marked `source: installed-state`); a not-installed pack errors.
203
+ **`show <pack>`** answers "what skills and agents does this pack contain?" by walking the pack's source tree live on each call — so the answer can't drift, and nothing is persisted. `--format json` emits a stable object (`name`, `version`, `description`, `skills`, `agents`, `integrations`, `source`, `pack_metadata`, `skill_metadata`, `knowledge`) for scripts and agents. The three rich metadata fields are pre-release: they are source-backed only for live catalogue reads and are not a cross-pack OKF index. When the catalogue can't be resolved, an *installed* pack still reports its inventory from your state files (marked `source: installed-state`), with `pack_metadata`, `skill_metadata`, and `knowledge` set to `null`; a not-installed pack errors.
157
204
 
158
205
  A **profile** is a catalogue-curated, single-scope set of packs you install in one command — it declares its own scope, so `--scope` doesn't apply. **Upgrade takes no version** — the target is whatever the catalogue you point at declares; to pin a past version, point the catalogue at that git ref. Install a pack that's **already there** and `agentbundle` offers to `upgrade` it instead (`--yes` runs it straight away).
159
206
 
@@ -14,42 +14,89 @@ 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.35.0
17
+ ## What's new in 0.38.1
18
18
 
19
- **Installs now work on corporate networks that inspect TLS.** If your employer
20
- runs a proxy that re-signs HTTPS traffic, an install used to fail like this and
21
- leave you nothing to act on:
19
+ `agentbundle catalogue self-host --check --windows` gained a stage that verifies
20
+ a source catalogue's declared knowledge bundles against their committed output.
21
+ The verification itself is performed by the catalogue's own tooling, so this
22
+ changes nothing for installing or using a pack.
22
23
 
23
- ```
24
- install: Failed to fetch catalogue archive: … —
25
- [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed:
26
- unable to get local issuer certificate
27
- ```
24
+ ## What's new in 0.38.0
28
25
 
29
- The certificate authority your IT team installed is in the operating system's
30
- trust store, and Python does not read that store on macOS. AgentBundle now
31
- recovers on its own:
26
+ `agentbundle show <pack> --format json` now emits the additive pre-release rich
27
+ discovery fields `pack_metadata`, `skill_metadata`, and `knowledge` when the
28
+ pack is read from a live catalogue. The existing fields keep their current
29
+ meaning and ordering; installed-state fallback cannot prove rich metadata, so
30
+ those three fields are exactly `null` there.
32
31
 
32
+ The rich discovery surface is deliberately one-pack-at-a-time. It does not add
33
+ OKF data to `list-packs`, Claude marketplace output, `catalogue-index.json`, or
34
+ installed state, and it does not run compilers, network fetches, or pack code.
35
+
36
+ ## Catalogue verification
37
+
38
+ `agentbundle catalogue verify` performs all 19 advertised checks. It validates
39
+ profile schemas and pack references, dependency ranges and cycles, adapter
40
+ compatibility, generated-output drift, pack preflight metadata, and skill
41
+ evaluation manifests. The verifier remains read-only and portable across
42
+ external catalogues.
43
+
44
+ Dependency ranges use the same npm-compatible grammar in verify, lint, and
45
+ install: caret, tilde, comparator, compound, and prerelease forms agree across
46
+ all three commands. In particular, caret ranges below `1.0.0` use normal semver
47
+ compatibility (`^0.2` does not include `0.3.x`).
48
+
49
+ `agentbundle catalogue index` now generates a deterministic, adapter-neutral
50
+ `catalogue-index.json` from catalogue, pack, profile, and optional journey
51
+ metadata. The command validates against its bundled public schema before an
52
+ atomic no-follow write; `--dry-run` writes nothing, and `--format json` emits one
53
+ closed result document for automation.
54
+
55
+ The generated index exposes content-addressable pack digests, structural content
56
+ and execution inventory, profile composition, declared external effects, and
57
+ forward and inverse pack integrations without relying on one agent host's
58
+ marketplace format.
59
+
60
+ ## Catalogue authoring
61
+
62
+ New catalogue scaffolds document the `JOURNEY.md` convention: required and
63
+ optional frontmatter, external-effect declarations, reader-facing body sections,
64
+ and migration guidance. Existing packs without a journey remain valid and appear
65
+ with an empty `journeys` array.
66
+
67
+ The same authoring reference retains the guide callout contract: exact quoted
68
+ wording remains a blockquote, while guidance uses the documented typed aside.
69
+
70
+ Generate and validate a neutral index with:
71
+
72
+ ```bash
73
+ agentbundle catalogue index . --dry-run
74
+ agentbundle catalogue index . --output catalogue-index.json
33
75
  ```
34
- agentbundle: certificate verification failed for github.com;
35
- retrying with operating-system trust anchors
36
- ```
37
76
 
38
- Verification stays strict throughout — the retry *adds* trust anchors and never
39
- removes one, and no flag or environment variable can disable verification. Only
40
- the administrator keychain is read; your login keychain never is, because it is
41
- writable without administrator rights. Set `AGENTBUNDLE_NO_SYSTEM_TRUST=1` to
42
- opt out and see the underlying error.
77
+ ## Contract discovery
78
+
79
+ The bundled public contract inventory includes `catalogue-index.schema.json` as
80
+ the closed contract for generated neutral indexes. It also includes the strict
81
+ `knowledge-captured-observation.schema.json` contract used by the core pack's
82
+ project-knowledge capture handoff.
83
+
84
+ You can inspect the exact public contracts bundled with the installed
85
+ AgentBundle version without network access:
86
+
87
+ ```bash
88
+ agentbundle catalogue contracts list
89
+ agentbundle catalogue contracts show pack.schema.json
90
+ agentbundle catalogue contracts export --output ./reference-contracts
91
+ ```
43
92
 
44
- `AGENTBUNDLE_CA_BUNDLE` also works on `git+https://` sources now — previously
45
- only the `catalogue+https://` and `archive+https://` forms read it, so following
46
- the documentation did not help. `SSL_CERT_FILE`, `SSL_CERT_DIR`, and
47
- `REQUESTS_CA_BUNDLE` are honoured there too. See
48
- [Corporate networks](#corporate-networks) below.
93
+ `list` and `show` are read-only. `export` writes reference copies through a
94
+ no-follow, preflighted batch writer; those copies do not override the contracts
95
+ AgentBundle uses for validation.
49
96
 
50
- When a fetch still fails, the error names the likely cause and ordered next
51
- steps, and the request now carries a 30-second timeout so a proxy that accepts
52
- the connection and never answers fails instead of hanging.
97
+ Successful `agentbundle catalogue init` output points to the scaffolded
98
+ `guides/_shared/reference/catalogue-authoring-standards.md`, contract discovery,
99
+ and catalogue verification. JSON init output remains unchanged.
53
100
 
54
101
  **Install into a repo** — so everyone who clones it gets the pack. `core` is the flagship pack, the loop itself:
55
102
 
@@ -133,7 +180,7 @@ agentbundle uninstall --pack core --yes
133
180
 
134
181
  **`list-installed`** reads your state files (not the catalogue) and reports every installed `(pack, adapter)` at each scope with its version and a four-value status — `up-to-date`, `upgrade-available`, `ahead` (installed version is newer than catalogue), or `unknown`; it degrades to `unknown` (never an error) when the catalogue can't be resolved, and `--no-check` skips the check entirely. `--format json` emits a stable JSON contract (`schema_version: 1`) to stdout — useful for CI automation of upgrade decisions. `--updates-only` hides `up-to-date` rows.
135
182
 
136
- **`show <pack>`** answers "what skills and agents does this pack contain?" by walking the pack's source tree live on each call — so the answer can't drift, and nothing is persisted. `--format json` emits a stable object (`name`, `version`, `description`, `skills`, `agents`, `source`) for scripts and agents. When the catalogue can't be resolved, an *installed* pack still reports its inventory from your state files (marked `source: installed-state`); a not-installed pack errors.
183
+ **`show <pack>`** answers "what skills and agents does this pack contain?" by walking the pack's source tree live on each call — so the answer can't drift, and nothing is persisted. `--format json` emits a stable object (`name`, `version`, `description`, `skills`, `agents`, `integrations`, `source`, `pack_metadata`, `skill_metadata`, `knowledge`) for scripts and agents. The three rich metadata fields are pre-release: they are source-backed only for live catalogue reads and are not a cross-pack OKF index. When the catalogue can't be resolved, an *installed* pack still reports its inventory from your state files (marked `source: installed-state`), with `pack_metadata`, `skill_metadata`, and `knowledge` set to `null`; a not-installed pack errors.
137
184
 
138
185
  A **profile** is a catalogue-curated, single-scope set of packs you install in one command — it declares its own scope, so `--scope` doesn't apply. **Upgrade takes no version** — the target is whatever the catalogue you point at declares; to pin a past version, point the catalogue at that git ref. Install a pack that's **already there** and `agentbundle` offers to `upgrade` it instead (`--yes` runs it straight away).
139
186
 
@@ -0,0 +1,180 @@
1
+ {
2
+ "x-spec": "docs/specs/catalogue-wave4-semantic-contracts-index",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "$id": "catalogue-index.schema.json",
5
+ "title": "Neutral catalogue index",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": ["schema_version", "catalogue", "packs", "profiles"],
9
+ "properties": {
10
+ "schema_version": {
11
+ "type": "string",
12
+ "enum": ["1"]
13
+ },
14
+ "generated_at": {
15
+ "type": "string",
16
+ "format": "date-time"
17
+ },
18
+ "catalogue": {
19
+ "type": "object",
20
+ "additionalProperties": false,
21
+ "required": ["name"],
22
+ "properties": {
23
+ "name": {"type": "string"},
24
+ "description": {"type": "string"}
25
+ }
26
+ },
27
+ "packs": {
28
+ "type": "array",
29
+ "items": {
30
+ "type": "object",
31
+ "additionalProperties": false,
32
+ "required": [
33
+ "name",
34
+ "version",
35
+ "scope",
36
+ "integrations",
37
+ "integrations_inverse",
38
+ "journeys",
39
+ "effects",
40
+ "digest"
41
+ ],
42
+ "properties": {
43
+ "name": {"type": "string"},
44
+ "version": {"type": "string"},
45
+ "scope": {"type": "string", "enum": ["repo", "user"]},
46
+ "description": {"type": "string"},
47
+ "categories": {"type": "array", "items": {"type": "string"}},
48
+ "adapters": {"type": "array", "items": {"type": "string"}},
49
+ "integrations": {
50
+ "type": "array",
51
+ "items": {
52
+ "type": "object",
53
+ "additionalProperties": false,
54
+ "required": ["id", "pack", "kind", "role"],
55
+ "properties": {
56
+ "id": {"type": "string"},
57
+ "pack": {"type": "string"},
58
+ "kind": {
59
+ "type": "string",
60
+ "enum": ["input", "augment", "review", "handoff"]
61
+ },
62
+ "role": {"type": "string"}
63
+ }
64
+ }
65
+ },
66
+ "integrations_inverse": {
67
+ "type": "array",
68
+ "items": {
69
+ "type": "object",
70
+ "additionalProperties": false,
71
+ "required": ["id", "pack", "kind", "role"],
72
+ "properties": {
73
+ "id": {"type": "string"},
74
+ "pack": {"type": "string"},
75
+ "kind": {
76
+ "type": "string",
77
+ "enum": ["input", "augment", "review", "handoff"]
78
+ },
79
+ "role": {"type": "string"}
80
+ }
81
+ }
82
+ },
83
+ "journeys": {
84
+ "type": "array",
85
+ "items": {
86
+ "type": "object",
87
+ "additionalProperties": false,
88
+ "required": [
89
+ "journey_id",
90
+ "pack",
91
+ "start_state",
92
+ "end_state",
93
+ "scope",
94
+ "tagline",
95
+ "contract"
96
+ ],
97
+ "properties": {
98
+ "journey_id": {"type": "string"},
99
+ "pack": {"type": "string"},
100
+ "start_state": {
101
+ "type": "string",
102
+ "enum": ["read-only", "proposed-write", "confirmed-write"]
103
+ },
104
+ "end_state": {
105
+ "type": "string",
106
+ "enum": ["read-only", "proposed-write", "confirmed-write"]
107
+ },
108
+ "scope": {"type": "string", "enum": ["repo", "user"]},
109
+ "tagline": {"type": "string"},
110
+ "contract": {
111
+ "type": "object",
112
+ "additionalProperties": false,
113
+ "required": ["useItWhen", "youProvide", "youReceive", "yourDecisions"],
114
+ "properties": {
115
+ "useItWhen": {"type": "string"},
116
+ "youProvide": {"type": "string"},
117
+ "youReceive": {"type": "string"},
118
+ "yourDecisions": {"type": "array", "items": {"type": "string"}}
119
+ }
120
+ }
121
+ }
122
+ }
123
+ },
124
+ "effects": {
125
+ "type": "array",
126
+ "items": {
127
+ "type": "object",
128
+ "additionalProperties": false,
129
+ "required": ["kind", "description"],
130
+ "properties": {
131
+ "kind": {
132
+ "type": "string",
133
+ "enum": [
134
+ "file-write",
135
+ "git-push",
136
+ "network-call",
137
+ "shell-exec",
138
+ "credential-read"
139
+ ]
140
+ },
141
+ "description": {"type": "string"}
142
+ }
143
+ }
144
+ },
145
+ "content": {
146
+ "type": "object",
147
+ "additionalProperties": false,
148
+ "properties": {
149
+ "skills": {"type": "array", "items": {"type": "string"}},
150
+ "agents": {"type": "array", "items": {"type": "string"}},
151
+ "commands": {"type": "array", "items": {"type": "string"}},
152
+ "scripts": {"type": "array", "items": {"type": "string"}},
153
+ "hooks": {"type": "array", "items": {"type": "string"}},
154
+ "seeds": {"type": "array", "items": {"type": "string"}},
155
+ "shared-libs": {"type": "array", "items": {"type": "string"}},
156
+ "user-libs": {"type": "array", "items": {"type": "string"}}
157
+ }
158
+ },
159
+ "execution": {"type": "array", "items": {"type": "string"}},
160
+ "documentation": {"type": "string"},
161
+ "digest": {"type": "string", "pattern": "^[a-f0-9]{64}$"}
162
+ }
163
+ }
164
+ },
165
+ "profiles": {
166
+ "type": "array",
167
+ "items": {
168
+ "type": "object",
169
+ "additionalProperties": false,
170
+ "required": ["name", "scope"],
171
+ "properties": {
172
+ "name": {"type": "string"},
173
+ "scope": {"type": "string", "enum": ["user", "repo"]},
174
+ "description": {"type": "string"},
175
+ "packs": {"type": "array", "items": {"type": "string"}}
176
+ }
177
+ }
178
+ }
179
+ }
180
+ }
@@ -13,6 +13,33 @@ Machine contracts in `contracts/` are normative. These guides explain how to use
13
13
  Each section below names the authoritative contract and points to the guide that
14
14
  explains it. When a guide and its contract disagree, the contract is right.
15
15
 
16
+ ## Guide asides and quotations
17
+
18
+ Use a Starlight aside when a passage does work beyond the surrounding narrative.
19
+ Choose the type by what the reader needs to do with it:
20
+
21
+ | Type | Use it for |
22
+ | --- | --- |
23
+ | `note` | Scope, orientation, or background the reader must notice |
24
+ | `tip` | An optional technique that improves the result or route |
25
+ | `caution` | A pitfall, limitation, or recovery step with reversible consequences |
26
+ | `danger` | A risk of severe or irreversible harm |
27
+
28
+ Use only those four types. Keep the default visible title unless a specific title
29
+ helps the reader act. Put the complete guidance inside the directive:
30
+
31
+ ```md
32
+ :::caution
33
+ Confirm the generated paths before replacing an existing projection.
34
+ :::
35
+ ```
36
+
37
+ A blockquote has a different job: it preserves someone else's words or exact text
38
+ the reader must recognize, such as a prompt, transcript, sample response, or rubric
39
+ wording. Leave those passages as `>` blockquotes. Do not turn prose into a quotation
40
+ just to make it visually prominent, and do not turn genuine quoted wording into an
41
+ aside.
42
+
16
43
  ---
17
44
 
18
45
  ## 1. Catalogue manifest
@@ -426,5 +453,112 @@ contracts used for validation by this agentbundle version.
426
453
 
427
454
  ## Journey format
428
455
 
429
- > **Not yet available.** Wave 4 of the catalogue-contracts initiative will define the
430
- > journey format and its contract. This section will be filled in when that wave ships.
456
+ A `JOURNEY.md` describes the outcome a pack helps someone reach. Put it beside
457
+ `pack.toml` at `packs/<pack-name>/JOURNEY.md`. The file is optional: catalogues and
458
+ packs created before this convention remain valid, and their generated index contains
459
+ an empty `journeys` array.
460
+
461
+ The YAML frontmatter is the machine-readable contract. The Markdown body is for
462
+ readers; the index command does not extract structured data from it.
463
+
464
+ ### Required frontmatter
465
+
466
+ ```yaml
467
+ ---
468
+ journey_id: catalogue-authoring
469
+ pack: example-pack
470
+ start_state: read-only
471
+ end_state: confirmed-write
472
+ scope: repo
473
+ tagline: Build a catalogue pack that passes its published contracts.
474
+ contract:
475
+ useItWhen: You need to add or revise a catalogue pack.
476
+ youProvide: The intended outcome, scope, and pack contents.
477
+ youReceive: A validated pack with clear author and adopter documentation.
478
+ yourDecisions:
479
+ - Which adapters and installation scopes the pack supports.
480
+ ---
481
+ ```
482
+
483
+ Use these fields:
484
+
485
+ - `journey_id`: a string that is unique within the catalogue.
486
+ - `pack`: the exact pack name from `pack.toml`.
487
+ - `start_state` and `end_state`: one of `read-only`, `proposed-write`, or
488
+ `confirmed-write`.
489
+ - `scope`: `repo` or `user`.
490
+ - `tagline`: a plain-language summary of at most 120 characters.
491
+ - `contract`: a closed object. `useItWhen`, `youProvide`, and `youReceive` are
492
+ strings; `yourDecisions` is an array of strings.
493
+
494
+ Malformed YAML, a missing required field, or a field with the wrong type stops index
495
+ generation before any output is replaced.
496
+
497
+ ### Optional frontmatter
498
+
499
+ The following fields add richer discovery information without changing the required
500
+ contract:
501
+
502
+ - `prerequisitePacks`: pack-name strings.
503
+ - `whatChanges`: a reader-facing description.
504
+ - `skills`: objects with `name`, `description`, and `humanTouches`.
505
+ - `humanGates`: gate objects with `id`, `label`, `trigger`, `duration`,
506
+ `whatToCheck`, `whatGoodLooksLike`, `whatBadLooksLike`, and `consequence`;
507
+ `globalGate` is optional.
508
+ - `typicalSession`: an object with `agentTurns`, `humanTouches`, and
509
+ `wallClockMinutes`.
510
+ - `docsUrl` and `packUrl`: documentation links.
511
+ - `relatedJourneys`: other journey identifiers.
512
+ - `effects`: external effects declared by the author.
513
+
514
+ Each `effects` entry is a closed object with string fields `kind` and `description`:
515
+
516
+ ```yaml
517
+ effects:
518
+ - kind: file-write
519
+ description: Writes generated files after the user confirms the destination.
520
+ ```
521
+
522
+ Effects describe externally observable outcomes such as writing files, using a
523
+ network service, or publishing an artifact. Do not infer them from pack structure,
524
+ and do not list internal computation as an effect.
525
+
526
+ ### Reader-facing body
527
+
528
+ The first body element after frontmatter must be an **Arrival trigger** quick-reference
529
+ table that maps activation phrases to outcomes. Follow it with these sections:
530
+
531
+ 1. `Orient`: explain how the user establishes the starting context for a session.
532
+ 2. `Primary workflow`: use numbered steps. Every step names what the user says or does,
533
+ what the agent produces, any human decision required, and the resulting state.
534
+ 3. `Persist and collaborate`: explain how state is carried between sessions or handed
535
+ off; a brief statement is enough when the pack has no multi-session state.
536
+ 4. `Next steps`: suggest follow-on journeys named by `relatedJourneys` frontmatter.
537
+
538
+ Explain the outcome and choices in product language. Avoid repository-maintainer
539
+ commands, publication machinery, or internal decision records; adopters should not
540
+ need the catalogue's own development environment to understand a journey.
541
+
542
+ The generated journey data conforms to the machine contract at
543
+ `contracts/catalogue-index.schema.json`.
544
+
545
+ ### Generate the neutral index
546
+
547
+ Run this from a catalogue checkout:
548
+
549
+ ```console
550
+ agentbundle catalogue index . --dry-run
551
+ agentbundle catalogue index . --output catalogue-index.json
552
+ ```
553
+
554
+ The dry run parses every present `JOURNEY.md`, builds the index in memory, validates it,
555
+ and writes nothing. The second command publishes the validated JSON atomically. Add
556
+ `--format json` when another tool needs the command result as one JSON document.
557
+
558
+ ### Migrating an existing pack
559
+
560
+ You do not need to add placeholder journeys to old packs. Add `JOURNEY.md` when the pack
561
+ has a real end-to-end outcome to describe, then start with the required frontmatter and
562
+ the arrival table and body sections above. Keep `pack` equal to the manifest name and
563
+ choose states from the documented enums. Verify the complete catalogue with a dry run
564
+ before publishing its index.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "files": {
3
- "guides/_shared/reference/catalogue-authoring-standards.md": "3217e6bfcc15dc116d40e1b327b6bf19b66212c7e13553e42966f9982b3c3487",
3
+ "guides/_shared/reference/catalogue-authoring-standards.md": "d7eb37f3c97179cd30959089e6a26ac76a6c33f9b9b64133a11d967915a4c511",
4
4
  "guides/_shared/reference/catalogue-ci-contract.md": "fae793ab47989b6dd3c731afcb0b4cda21c7d08bbe7fa40fca6d3abb3d158141",
5
5
  "packs/AGENTS.md": "9bfeda4069826e518a4f4fdae45bd40f4393c1c5aaf146149d3eb4aece30be83",
6
6
  "packs/README.md": "d2de5f9556f4c8e521103474bde74636e02cc805f9bf5312a3a61a1f3eb45d8f",
@@ -9,7 +9,7 @@
9
9
  "packs/_example/.claude-plugin/plugin.json": "7f94084a56260eed225ec47ac82042fe9029c594557cca760a459885d03ccc26",
10
10
  "packs/_example/README.md": "ef130c9c1f97a75a07cc59fc55fc5b3bf71846dd2f06c3cddf5a1154023b6ef6",
11
11
  "packs/_example/pack.toml": "f19a0be9fca99a6a0e3ce2d5cd188bf98000f0a4f186954fb42a0c99c6859701",
12
- "profiles/AGENTS.md": "8950438d9e0f57c13613104c88c90b598b53196c91bfdced6d63e4e01b5e9254",
12
+ "profiles/AGENTS.md": "794e7f8bdccc0479cf1ac45f864e1cb829ab739b3cdd15c66baad7ee1c894329",
13
13
  "profiles/README.md": "a0b0268edc57fc575f7fea08f3363ba7da9f6e67dc4a0a6f8bd38c9668c97922",
14
14
  "profiles/_example/README.md": "164494df049ddce3e57cb44ed604cb3d39be0a6ec2072e609ea3fa4bbfc74c72",
15
15
  "profiles/_example/profile.toml": "68af18cf50fa0327a9776b029c92bb1cf82710c649691b3ac889eb8537b8eac7",
@@ -14,6 +14,10 @@ The profile **id** is the filename stem. It must match `^[a-z0-9][a-z0-9-]*$`.
14
14
 
15
15
  ## Current schema fields
16
16
 
17
+ The machine source of truth for profile TOML format is
18
+ [`contracts/profile.schema.json`](../contracts/profile.schema.json). The table
19
+ below is a reading aid; where the two disagree, the schema wins.
20
+
17
21
  | Field | Required | Type | Description |
18
22
  |-------|----------|------|-------------|
19
23
  | `scope` | yes | `"repo"` or `"user"` | Installation scope |