agentbundle 0.37.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 (607) hide show
  1. {agentbundle-0.37.2/agentbundle.egg-info → agentbundle-0.38.1}/PKG-INFO +56 -16
  2. {agentbundle-0.37.2 → agentbundle-0.38.1}/README-pypi.md +55 -15
  3. agentbundle-0.38.1/agentbundle/_data/catalogue-index.schema.json +180 -0
  4. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/guides/_shared/reference/catalogue-authoring-standards.md +109 -4
  5. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/manifest.json +1 -1
  6. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/public-contracts.txt +1 -0
  7. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/skill.schema.json +40 -1
  8. agentbundle-0.38.1/agentbundle/catalogue_tooling/file_safety.py +217 -0
  9. agentbundle-0.38.1/agentbundle/catalogue_tooling/index_generator.py +541 -0
  10. agentbundle-0.38.1/agentbundle/catalogue_tooling/journey_validator.py +139 -0
  11. agentbundle-0.38.1/agentbundle/catalogue_tooling/okf_discovery.py +857 -0
  12. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/self_host_windows.py +11 -0
  13. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/cli.py +43 -2
  14. agentbundle-0.38.1/agentbundle/commands/catalogue_index.py +189 -0
  15. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/show.py +66 -24
  16. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/version.py +1 -1
  17. {agentbundle-0.37.2 → agentbundle-0.38.1/agentbundle.egg-info}/PKG-INFO +56 -16
  18. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle.egg-info/SOURCES.txt +23 -0
  19. {agentbundle-0.37.2 → agentbundle-0.38.1}/pyproject.toml +1 -1
  20. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_self_host_check.py +64 -0
  21. agentbundle-0.38.1/tests/contracts/test_agentbundle_show_schema.py +290 -0
  22. agentbundle-0.38.1/tests/contracts/test_skill_schema.py +87 -0
  23. agentbundle-0.38.1/tests/fixtures/catalogue_wave4/catalogue.toml +5 -0
  24. agentbundle-0.38.1/tests/fixtures/catalogue_wave4/packs/pack-with-journey/.apm/hook-wiring/example.json +1 -0
  25. agentbundle-0.38.1/tests/fixtures/catalogue_wave4/packs/pack-with-journey/.apm/skills/example-skill/SKILL.md +6 -0
  26. agentbundle-0.38.1/tests/fixtures/catalogue_wave4/packs/pack-with-journey/.apm/skills/example-skill/scripts/run.py +1 -0
  27. agentbundle-0.38.1/tests/fixtures/catalogue_wave4/packs/pack-with-journey/JOURNEY.md +48 -0
  28. agentbundle-0.38.1/tests/fixtures/catalogue_wave4/packs/pack-with-journey/pack.toml +18 -0
  29. agentbundle-0.38.1/tests/fixtures/catalogue_wave4/packs/pack-without-journey/pack.toml +4 -0
  30. agentbundle-0.38.1/tests/fixtures/catalogue_wave4/profiles/test-profile.toml +8 -0
  31. agentbundle-0.38.1/tests/fixtures/show_contract/agentbundle-show.schema.json +303 -0
  32. agentbundle-0.38.1/tests/fixtures/show_contract/catalogue.json +76 -0
  33. agentbundle-0.38.1/tests/fixtures/show_contract/installed_state.json +12 -0
  34. agentbundle-0.38.1/tests/integration/test_catalogue_wave4_index_generator.py +276 -0
  35. agentbundle-0.38.1/tests/integration/test_catalogue_wave4_integration.py +334 -0
  36. agentbundle-0.38.1/tests/integration/test_catalogue_wave4_journey_validator.py +172 -0
  37. agentbundle-0.38.1/tests/integration/test_catalogue_wave4_schema.py +160 -0
  38. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_show_cmd.py +167 -10
  39. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_cli_path_normalisation.py +35 -1
  40. agentbundle-0.38.1/tests/unit/test_okf_discovery.py +841 -0
  41. agentbundle-0.37.2/agentbundle/catalogue_tooling/file_safety.py +0 -89
  42. {agentbundle-0.37.2 → agentbundle-0.38.1}/MANIFEST.in +0 -0
  43. {agentbundle-0.37.2 → agentbundle-0.38.1}/README.md +0 -0
  44. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/__init__.py +0 -0
  45. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/__main__.py +0 -0
  46. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/adapter.schema.json +0 -0
  47. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/adapter.toml +0 -0
  48. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/guides/_shared/reference/catalogue-ci-contract.md +0 -0
  49. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/packs/AGENTS.md +0 -0
  50. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/packs/README.md +0 -0
  51. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/packs/_example/.apm/skills/example-skill/SKILL.md +0 -0
  52. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/packs/_example/.apm/skills/example-skill/evals/eval_queries.json +0 -0
  53. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/packs/_example/.claude-plugin/plugin.json +0 -0
  54. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/packs/_example/README.md +0 -0
  55. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/packs/_example/pack.toml +0 -0
  56. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/profiles/AGENTS.md +0 -0
  57. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/profiles/README.md +0 -0
  58. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/profiles/_example/README.md +0 -0
  59. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/profiles/_example/profile.toml +0 -0
  60. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_gemini_admissibility.py +0 -0
  61. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_pack_metadata.py +0 -0
  62. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_shared_library_boundaries.py +0 -0
  63. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/catalogue.schema.json +0 -0
  64. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/guide.schema.json +0 -0
  65. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/install-defaults.toml +0 -0
  66. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/install-marker.py +0 -0
  67. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/knowledge-captured-observation.schema.json +0 -0
  68. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/marketplace-entry.schema.json +0 -0
  69. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/pack.schema.json +0 -0
  70. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/plugin-manifest.derived.schema.json +0 -0
  71. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/plugin-manifest.schema.json +0 -0
  72. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/profile.schema.json +0 -0
  73. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/skill-manifest.schema.json +0 -0
  74. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/target-vocab.toml +0 -0
  75. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/_data/workspace_status_engine.py +0 -0
  76. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/__init__.py +0 -0
  77. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/__main__.py +0 -0
  78. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/adapter_root_bins.py +0 -0
  79. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/adapters/__init__.py +0 -0
  80. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/adapters/claude_code.py +0 -0
  81. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/adapters/codex.py +0 -0
  82. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/adapters/copilot.py +0 -0
  83. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/adapters/cursor.py +0 -0
  84. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/adapters/gemini.py +0 -0
  85. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/adapters/kiro.py +0 -0
  86. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/adapters/kiro_cli.py +0 -0
  87. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/adapters/kiro_ide.py +0 -0
  88. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/contract.py +0 -0
  89. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/hook_wiring_rules.py +0 -0
  90. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/lint_packs.py +0 -0
  91. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/main.py +0 -0
  92. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/phase_order.py +0 -0
  93. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/projection_io.py +0 -0
  94. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/projections/__init__.py +0 -0
  95. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/projections/codex_agent_toml.py +0 -0
  96. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/projections/copilot_agent_md.py +0 -0
  97. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/projections/copilot_hooks_json.py +0 -0
  98. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/projections/direct_directory.py +0 -0
  99. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/projections/gemini_command_toml.py +0 -0
  100. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/projections/hook_id.py +0 -0
  101. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/projections/kiro_ide_hook.py +0 -0
  102. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/projections/merge_into_agent_json.py +0 -0
  103. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/projections/merge_json.py +0 -0
  104. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/projections/plugin_hooks.py +0 -0
  105. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/projections/user_merge_json.py +0 -0
  106. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/recipes/composite-agents-md.toml +0 -0
  107. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/recipes/composite-marketplace.toml +0 -0
  108. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/recipes/marketplace.toml +0 -0
  109. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/recipes/per-pack-apm-package.toml +0 -0
  110. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/recipes/per-pack-claude-plugin.toml +0 -0
  111. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/recipes/per-pack-overlay.toml +0 -0
  112. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/recipes/self-host.toml +0 -0
  113. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/scope_rails.py +0 -0
  114. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/self_host.py +0 -0
  115. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/shared_libs.py +0 -0
  116. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/target_resolver.py +0 -0
  117. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/user_libs.py +0 -0
  118. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/build/validate.py +0 -0
  119. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/catalogue.py +0 -0
  120. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/__init__.py +0 -0
  121. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/archive.py +0 -0
  122. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/build.py +0 -0
  123. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/config.py +0 -0
  124. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/contracts_inspector.py +0 -0
  125. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/defaults.py +0 -0
  126. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/diagnostics.py +0 -0
  127. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/identity.py +0 -0
  128. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/initialise.py +0 -0
  129. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/initialise_self_hosted.py +0 -0
  130. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/lint.py +0 -0
  131. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/manifest.py +0 -0
  132. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/package.py +0 -0
  133. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/results.py +0 -0
  134. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/self_host.py +0 -0
  135. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/skill_spec_lint.py +0 -0
  136. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/toml_emit.py +0 -0
  137. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/verify.py +0 -0
  138. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/catalogue_tooling/version_ranges.py +0 -0
  139. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/categories.py +0 -0
  140. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/__init__.py +0 -0
  141. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/_common.py +0 -0
  142. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/_drop_warning.py +0 -0
  143. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/adapt.py +0 -0
  144. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/catalogue_build.py +0 -0
  145. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/catalogue_contracts.py +0 -0
  146. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/catalogue_init.py +0 -0
  147. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/catalogue_lint.py +0 -0
  148. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/catalogue_package.py +0 -0
  149. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/catalogue_self_host.py +0 -0
  150. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/catalogue_sync_defaults.py +0 -0
  151. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/catalogue_tooling_stub.py +0 -0
  152. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/catalogue_verify.py +0 -0
  153. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/config.py +0 -0
  154. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/diff.py +0 -0
  155. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/docs.py +0 -0
  156. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/init_state.py +0 -0
  157. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/install.py +0 -0
  158. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/list_installed.py +0 -0
  159. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/list_packs.py +0 -0
  160. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/list_profiles.py +0 -0
  161. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/list_targets.py +0 -0
  162. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/oplog_cmd.py +0 -0
  163. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/pack_config_cmd.py +0 -0
  164. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/pack_evals.py +0 -0
  165. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/package_catalogue.py +0 -0
  166. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/profile.py +0 -0
  167. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/reconcile.py +0 -0
  168. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/render.py +0 -0
  169. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/scaffold.py +0 -0
  170. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/uninstall.py +0 -0
  171. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/upgrade.py +0 -0
  172. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/commands/validate.py +0 -0
  173. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/config.py +0 -0
  174. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/https_catalogue.py +0 -0
  175. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/local_exclude.py +0 -0
  176. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/oplog.py +0 -0
  177. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/pack_inventory.py +0 -0
  178. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/render.py +0 -0
  179. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/safety.py +0 -0
  180. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/scaffold.py +0 -0
  181. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/scope.py +0 -0
  182. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/source_defaults.py +0 -0
  183. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/statelock.py +0 -0
  184. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/system_trust.py +0 -0
  185. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/user_config.py +0 -0
  186. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle/workspace_mcp.py +0 -0
  187. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle.egg-info/dependency_links.txt +0 -0
  188. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle.egg-info/entry_points.txt +0 -0
  189. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle.egg-info/requires.txt +0 -0
  190. {agentbundle-0.37.2 → agentbundle-0.38.1}/agentbundle.egg-info/top_level.txt +0 -0
  191. {agentbundle-0.37.2 → agentbundle-0.38.1}/conftest.py +0 -0
  192. {agentbundle-0.37.2 → agentbundle-0.38.1}/setup.cfg +0 -0
  193. {agentbundle-0.37.2 → agentbundle-0.38.1}/templates/install-marker.py +0 -0
  194. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/__init__.py +0 -0
  195. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/_support.py +0 -0
  196. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/__init__.py +0 -0
  197. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/README.md +0 -0
  198. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/claude-code-2.1.226-hook-events.json +0 -0
  199. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/claude-code-2.1.228-hook-events.json +0 -0
  200. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/core/.apm/agents/bar.md +0 -0
  201. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/core/.apm/commands/qux.md +0 -0
  202. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/core/.apm/hook-wiring/baz.toml +0 -0
  203. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/core/.apm/hook-wiring/qux.toml +0 -0
  204. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/core/.apm/hooks/baz.py +0 -0
  205. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/core/.apm/hooks/baz.sh +0 -0
  206. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/core/.apm/skills/example/SKILL.md +0 -0
  207. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/core/.claude-plugin/plugin.json +0 -0
  208. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/core/pack.toml +0 -0
  209. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/governance-extras/.apm/skills/example/SKILL.md +0 -0
  210. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/governance-extras/.claude-plugin/plugin.json +0 -0
  211. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/governance-extras/pack.toml +0 -0
  212. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/monorepo-extras/.apm/skills/example/SKILL.md +0 -0
  213. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/monorepo-extras/.claude-plugin/plugin.json +0 -0
  214. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/monorepo-extras/pack.toml +0 -0
  215. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/product-documentation/.apm/skills/example/SKILL.md +0 -0
  216. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/product-documentation/.claude-plugin/plugin.json +0 -0
  217. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/product-documentation/pack.toml +0 -0
  218. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/.apm/skills/example/SKILL.md +0 -0
  219. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/.claude-plugin/plugin.json +0 -0
  220. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/pack.toml +0 -0
  221. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/fixtures/recipes/bogus-target.toml +0 -0
  222. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_adapter_claude_code.py +0 -0
  223. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_adapter_codex.py +0 -0
  224. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_adapter_copilot.py +0 -0
  225. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_adapter_cursor.py +0 -0
  226. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_adapter_gemini.py +0 -0
  227. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_adapter_kiro.py +0 -0
  228. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_adapter_kiro_alias.py +0 -0
  229. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_adapter_kiro_cli.py +0 -0
  230. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_adapter_kiro_ide.py +0 -0
  231. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_adapter_root_bins_projection.py +0 -0
  232. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_build_ships_seeds.py +0 -0
  233. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_contract.py +0 -0
  234. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_contract_scope.py +0 -0
  235. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_contract_v07.py +0 -0
  236. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_contract_v08.py +0 -0
  237. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_direct_directory_cleanup.py +0 -0
  238. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_end_to_end_build.py +0 -0
  239. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_hook_wiring_rules.py +0 -0
  240. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_lint_packs.py +0 -0
  241. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_load_pack_hook_wiring_safely.py +0 -0
  242. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_pack_schema.py +0 -0
  243. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_pack_schema_allowed_adapters.py +0 -0
  244. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_pack_schema_install.py +0 -0
  245. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_pipeline.py +0 -0
  246. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_plugin_hooks.py +0 -0
  247. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_plugin_manifest_schema.py +0 -0
  248. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_plugin_publication_gates.py +0 -0
  249. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_projectable_subset.py +0 -0
  250. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_projection_io.py +0 -0
  251. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_projections_merge_json.py +0 -0
  252. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_scope_rails.py +0 -0
  253. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_security.py +0 -0
  254. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_self_host_fixture_guard.py +0 -0
  255. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_self_host_metadata_policy.py +0 -0
  256. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_self_host_recipe_config.py +0 -0
  257. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_shared_libs_projection.py +0 -0
  258. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_shared_prefix_contract.py +0 -0
  259. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_user_libs_projection.py +0 -0
  260. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_validate.py +0 -0
  261. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/build_pipeline/test_writers_emit_lf.py +0 -0
  262. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/conftest.py +0 -0
  263. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/adapt/.adapt-discovery.toml +0 -0
  264. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/adapt/values.toml +0 -0
  265. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/blank_catalogue/.claude-plugin/marketplace.json +0 -0
  266. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/blank_catalogue/catalogue.toml +0 -0
  267. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/blank_catalogue/packs/.gitkeep +0 -0
  268. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/blank_catalogue/packs/_example/.apm/skills/example-skill/SKILL.md +0 -0
  269. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/blank_catalogue/packs/_example/.claude-plugin/plugin.json +0 -0
  270. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/blank_catalogue/packs/_example/README.md +0 -0
  271. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/blank_catalogue/packs/_example/evals/eval_queries.json +0 -0
  272. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/blank_catalogue/packs/_example/pack.toml +0 -0
  273. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/blank_catalogue/profiles/.gitkeep +0 -0
  274. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/blank_catalogue/profiles/_example/README.md +0 -0
  275. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/blank_catalogue/profiles/_example/profile.toml +0 -0
  276. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/brownfield/values.toml +0 -0
  277. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/brownfield-adapt/AGENTS.md +0 -0
  278. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/brownfield-adapt/AGENTS.upstream.md +0 -0
  279. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/brownfield-adapt/DESIGN.md +0 -0
  280. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/brownfield-adapt/EXPECTED_TREE.md +0 -0
  281. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/brownfield-adapt/docs/CHARTER.md +0 -0
  282. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/brownfield-adapt/docs/guides/how-to/index.md +0 -0
  283. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/brownfield-adapt/docs/howto/getting-started.md +0 -0
  284. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/brownfield-adapt-expected/AGENTS.md +0 -0
  285. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/brownfield-adapt-expected/docs/CHARTER.md +0 -0
  286. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/brownfield-adapt-user-home/.agentbundle/.adapt-discovery.toml +0 -0
  287. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/brownfield-adapt-user-home/.agentbundle/state.toml +0 -0
  288. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/argv-flag/SKILL.md +0 -0
  289. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/argv-flag/scripts/cli.py +0 -0
  290. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/argv-flag-derived/SKILL.md +0 -0
  291. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/argv-flag-derived/scripts/cli.py +0 -0
  292. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/argv-flag-normalised/SKILL.md +0 -0
  293. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/argv-flag-normalised/scripts/cli.py +0 -0
  294. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/conforming/SKILL.md +0 -0
  295. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/conforming/scripts/cli.py +0 -0
  296. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/dotfile-grep/SKILL.md +0 -0
  297. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/dotfile-grep/scripts/leak.py +0 -0
  298. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/dotfile-with-optout/SKILL.md +0 -0
  299. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/dotfile-with-optout/scripts/legit.py +0 -0
  300. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/mcp-server-headers/SKILL.md +0 -0
  301. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/mcp-server-headers/scripts/cli.py +0 -0
  302. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/creds/skills/missing-dont-block/SKILL.md +0 -0
  303. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/external_catalogue/.claude-plugin/marketplace.json +0 -0
  304. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/external_catalogue/AGENTS.md +0 -0
  305. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/external_catalogue/LICENSE-APACHE +0 -0
  306. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/external_catalogue/LICENSE-MIT +0 -0
  307. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/external_catalogue/agentbundle/_data/install-defaults.toml +0 -0
  308. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/external_catalogue/catalogue.toml +0 -0
  309. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/external_catalogue/packs/alpha/.apm/skills/example/SKILL.md +0 -0
  310. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/external_catalogue/packs/alpha/.claude-plugin/plugin.json +0 -0
  311. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/external_catalogue/packs/alpha/pack.toml +0 -0
  312. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/external_catalogue/packs/alpha/seeds/AGENTS.md +0 -0
  313. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/external_catalogue/packs/beta/.claude-plugin/plugin.json +0 -0
  314. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/external_catalogue/packs/beta/pack.toml +0 -0
  315. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/external_catalogue/profiles/example.toml +0 -0
  316. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/install/catalogue/packs/alpha/.apm/agents/helper.md +0 -0
  317. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/install/catalogue/packs/alpha/.apm/commands/cmd.md +0 -0
  318. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/install/catalogue/packs/alpha/.apm/hook-wiring/run.toml +0 -0
  319. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/install/catalogue/packs/alpha/.apm/hooks/run.sh +0 -0
  320. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/install/catalogue/packs/alpha/.apm/skills/example/SKILL.md +0 -0
  321. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/install/catalogue/packs/alpha/.claude-plugin/plugin.json +0 -0
  322. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/install/catalogue/packs/alpha/pack.toml +0 -0
  323. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/kiro_ide_hook/ask_agent_basic.kiro.hook +0 -0
  324. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/kiro_ide_hook/run_command_with_placeholder.kiro.hook +0 -0
  325. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/lint_packs/clean/pack.toml +0 -0
  326. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/lint_packs/clean/seeds/README.md +0 -0
  327. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/list-installed/golden_120col.txt +0 -0
  328. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/list-installed/golden_80col.txt +0 -0
  329. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/list_packs/catalogue/packs/alpha/pack.toml +0 -0
  330. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/list_packs/catalogue/packs/beta/pack.toml +0 -0
  331. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/local_scope/catalogue/packs/local-test-pack/.apm/skills/local-test/SKILL.md +0 -0
  332. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/local_scope/catalogue/packs/local-test-pack/pack.toml +0 -0
  333. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/packs/cc-user-hooks/.apm/hook-wiring/on-prompt.toml +0 -0
  334. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/packs/cc-user-hooks/.apm/hooks/on-prompt.sh +0 -0
  335. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/packs/cc-user-hooks/pack.toml +0 -0
  336. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/packs/kiro-repo-hooks/.apm/agents/reviewer.md +0 -0
  337. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/packs/kiro-repo-hooks/.apm/hook-wiring/on-spawn.toml +0 -0
  338. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/packs/kiro-repo-hooks/.apm/hooks/on-spawn.sh +0 -0
  339. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/packs/kiro-repo-hooks/pack.toml +0 -0
  340. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/packs/kiro-user-hooks/.apm/agents/reviewer.md +0 -0
  341. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/packs/kiro-user-hooks/.apm/hook-wiring/on-spawn.toml +0 -0
  342. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/packs/kiro-user-hooks/.apm/hooks/on-spawn.sh +0 -0
  343. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/packs/kiro-user-hooks/pack.toml +0 -0
  344. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/agents/reviewer.md +0 -0
  345. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/hook-wiring/on-spawn.toml +0 -0
  346. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/hooks/on-spawn.sh +0 -0
  347. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/packs/malformed-kiro-missing-attach/pack.toml +0 -0
  348. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/agents/reviewer.md +0 -0
  349. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/hook-wiring/on-spawn.toml +0 -0
  350. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/hooks/on-spawn.sh +0 -0
  351. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/packs/malformed-kiro-pascal-events/pack.toml +0 -0
  352. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/agents/reviewer.md +0 -0
  353. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/hook-wiring/on-spawn.toml +0 -0
  354. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/hooks/on-spawn.sh +0 -0
  355. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/packs/malformed-kiro-unknown-agent/pack.toml +0 -0
  356. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/scaffold/test-pack/seeds/AGENTS.md +0 -0
  357. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/scaffold/test-pack/seeds/_agents-footer.md +0 -0
  358. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/scaffold/test-pack/seeds/docs/CHARTER.md +0 -0
  359. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/agents/reviewer.md +0 -0
  360. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/commands/deploy.md +0 -0
  361. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hook-wiring/pre-commit.toml +0 -0
  362. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hooks/lint.py +0 -0
  363. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hooks/pre-commit.sh +0 -0
  364. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
  365. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v1/packs/core/.claude-plugin/plugin.json +0 -0
  366. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v1/packs/core/pack.toml +0 -0
  367. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/agents/reviewer.md +0 -0
  368. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/commands/deploy.md +0 -0
  369. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hook-wiring/pre-commit.toml +0 -0
  370. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hooks/lint.py +0 -0
  371. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hooks/pre-commit.sh +0 -0
  372. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
  373. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v2/packs/core/.claude-plugin/plugin.json +0 -0
  374. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v2/packs/core/pack.toml +0 -0
  375. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/agents/reviewer.md +0 -0
  376. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/commands/deploy.md +0 -0
  377. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hook-wiring/pre-commit.toml +0 -0
  378. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hooks/lint.py +0 -0
  379. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hooks/pre-commit.sh +0 -0
  380. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
  381. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v3/packs/core/.claude-plugin/plugin.json +0 -0
  382. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/upgrade/catalogue_v3/packs/core/pack.toml +0 -0
  383. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/validate/bad_recipe_pack/pack.toml +0 -0
  384. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/validate/malformed_pack/pack.toml +0 -0
  385. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/validate/valid_pack/pack.toml +0 -0
  386. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/fixtures/validate/version_mismatch_pack/pack.toml +0 -0
  387. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/__init__.py +0 -0
  388. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_adapt_cmd.py +0 -0
  389. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_adapt_dual_scope.py +0 -0
  390. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_adapt_preflight_detection.py +0 -0
  391. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_adapt_schema_migration.py +0 -0
  392. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_apm_install_route.py +0 -0
  393. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_blank_catalogue.py +0 -0
  394. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_brownfield_adapt_end_to_end.py +0 -0
  395. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_brownfield_round_trip.py +0 -0
  396. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_brownfield_user_home_fixture.py +0 -0
  397. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_build_check_drift_gates.py +0 -0
  398. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_build_derivation_apm.py +0 -0
  399. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_build_derivation_claude_plugins.py +0 -0
  400. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_catalogue_init.py +0 -0
  401. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_catalogue_verify_adapter_compat.py +0 -0
  402. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_catalogue_verify_dependencies.py +0 -0
  403. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_catalogue_verify_external_portability.py +0 -0
  404. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_catalogue_verify_fixture_checks.py +0 -0
  405. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_catalogue_verify_marketplace.py +0 -0
  406. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_catalogue_verify_output_drift.py +0 -0
  407. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_catalogue_verify_package_preflight.py +0 -0
  408. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_catalogue_verify_plugin_path.py +0 -0
  409. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_catalogue_verify_profile_schema.py +0 -0
  410. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_catalogue_verify_step1.py +0 -0
  411. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_cc_user_hooks_fixture.py +0 -0
  412. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_claude_plugins_install_route.py +0 -0
  413. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_config_cascade.py +0 -0
  414. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_credential_brokers_pack_install.py +0 -0
  415. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_credentials_wheel.py +0 -0
  416. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_discovery_schema_cross_consumer.py +0 -0
  417. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_editable_source_detection.py +0 -0
  418. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_fixtures_validate.py +0 -0
  419. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_hook_wiring_ingress.py +0 -0
  420. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_install_adapt_chain.py +0 -0
  421. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_install_cmd.py +0 -0
  422. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_install_converters_user_scope.py +0 -0
  423. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_install_copilot_full_parity.py +0 -0
  424. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_install_core_smoke.py +0 -0
  425. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_install_default_source.py +0 -0
  426. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_install_dependencies_gate.py +0 -0
  427. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_install_dropped_primitives_warning.py +0 -0
  428. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_install_dual_scope.py +0 -0
  429. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_install_orphan_reshape.py +0 -0
  430. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_install_pack_metadata_shape.py +0 -0
  431. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_install_profile.py +0 -0
  432. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_install_profile_live.py +0 -0
  433. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_install_repo_scope_per_adapter.py +0 -0
  434. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_install_research_user_scope.py +0 -0
  435. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_install_seed_delivery.py +0 -0
  436. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_install_session_start_wiring.py +0 -0
  437. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_install_upgrade_offer.py +0 -0
  438. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_install_user_hooks.py +0 -0
  439. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_install_user_scope_allowed_adapters.py +0 -0
  440. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_kiro_ide_hook_e2e.py +0 -0
  441. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_kiro_repo_hooks_fixture.py +0 -0
  442. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_kiro_user_hooks_fixture.py +0 -0
  443. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_list_packs_cmd.py +0 -0
  444. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_local_scope_install.py +0 -0
  445. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_marketplace_entry_validation.py +0 -0
  446. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_marketplace_manifest_regression.py +0 -0
  447. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_multi_pack_install.py +0 -0
  448. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_orphan_cleanup_respects_foreign_state.py +0 -0
  449. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_plugin_route_membership.py +0 -0
  450. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_recommends_cross_scope.py +0 -0
  451. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_reconcile.py +0 -0
  452. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_reserved_path_filter.py +0 -0
  453. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_scaffold_projection.py +0 -0
  454. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_self_host_schema_migration.py +0 -0
  455. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_self_host_sweep_respects_state.py +0 -0
  456. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_shared_prefix_coexistence.py +0 -0
  457. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_tier_invariants.py +0 -0
  458. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_trust_fallback_tls.py +0 -0
  459. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_uninstall_cmd.py +0 -0
  460. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_uninstall_user_hooks.py +0 -0
  461. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_upgrade_attach_to_agent.py +0 -0
  462. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_upgrade_cmd.py +0 -0
  463. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_upgrade_user_hooks.py +0 -0
  464. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_version_gate_matrix.py +0 -0
  465. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_workspace_mcp_git_fsm.py +0 -0
  466. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/integration/test_zipapp.py +0 -0
  467. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/test_adapter_permissions_projection.py +0 -0
  468. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/test_workspace_mcp_elicit.py +0 -0
  469. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/test_workspace_mcp_event_bridge.py +0 -0
  470. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/test_workspace_mcp_git.py +0 -0
  471. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/test_workspace_mcp_lifecycle.py +0 -0
  472. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/test_workspace_mcp_stdin.py +0 -0
  473. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/test_workspace_mcp_tools.py +0 -0
  474. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/__init__.py +0 -0
  475. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_adapt_discovery_schema.py +0 -0
  476. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_adapter_symlink_policy.py +0 -0
  477. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_append_layout_section.py +0 -0
  478. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_architect_readme_install_command.py +0 -0
  479. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_ci_contract.py +0 -0
  480. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_curation_deps.py +0 -0
  481. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_init_cli_self_hosted.py +0 -0
  482. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_pack_defaults.py +0 -0
  483. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_self_hosted_export_removal.py +0 -0
  484. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_skill_spec_lint.py +0 -0
  485. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_tooling_archive.py +0 -0
  486. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_tooling_build.py +0 -0
  487. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_tooling_defaults.py +0 -0
  488. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_tooling_file_safety.py +0 -0
  489. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_tooling_foundation.py +0 -0
  490. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_tooling_identity.py +0 -0
  491. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_tooling_init.py +0 -0
  492. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_tooling_lint.py +0 -0
  493. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_tooling_package.py +0 -0
  494. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_tooling_self_host.py +0 -0
  495. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_tooling_self_hosted_init.py +0 -0
  496. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_tooling_source_package.py +0 -0
  497. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_tooling_verify.py +0 -0
  498. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_trust_fallback.py +0 -0
  499. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_wave2_schema.py +0 -0
  500. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_wave2_validation.py +0 -0
  501. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_wave3_contracts_cli.py +0 -0
  502. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_wave3_contracts_inspector.py +0 -0
  503. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_wave3_init_nextsteps.py +0 -0
  504. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_catalogue_wave3_offline_navigation.py +0 -0
  505. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_cli_catalogue_optional.py +0 -0
  506. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_cli_help_lists_config.py +0 -0
  507. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_cli_list_targets_help.py +0 -0
  508. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_cli_profile_surface.py +0 -0
  509. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_cli_scope_flags.py +0 -0
  510. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_codex_agent_toml.py +0 -0
  511. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_codex_projection_modes.py +0 -0
  512. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_collect_tree_symlinks.py +0 -0
  513. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_common_classify_seeds.py +0 -0
  514. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_config.py +0 -0
  515. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_config_cmd.py +0 -0
  516. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_configured_adapter.py +0 -0
  517. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_confirm_helper.py +0 -0
  518. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_contract_parity.py +0 -0
  519. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_contract_v0_3_schema.py +0 -0
  520. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_copilot_agent_md.py +0 -0
  521. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_copilot_hooks_json.py +0 -0
  522. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_copilot_user_scope_wiring.py +0 -0
  523. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_credbroker_lint_hardening.py +0 -0
  524. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_dependencies_batch.py +0 -0
  525. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_diff_cmd.py +0 -0
  526. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_footprint_ownership.py +0 -0
  527. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_https_catalogue.py +0 -0
  528. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_init_state_cmd.py +0 -0
  529. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_install_argparse_adapter_flag.py +0 -0
  530. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_install_argparse_emit_install_routes.py +0 -0
  531. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_install_defaults_preferred_adapter.py +0 -0
  532. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_install_dropped_primitives_warning.py +0 -0
  533. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_install_event_dropped_wirings.py +0 -0
  534. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_install_first_value_handoff.py +0 -0
  535. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_install_force_help.py +0 -0
  536. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_install_inband_detection.py +0 -0
  537. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_install_messages.py +0 -0
  538. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_install_messages_repo_scope.py +0 -0
  539. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_install_refusal_ordering.py +0 -0
  540. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_install_state_provenance.py +0 -0
  541. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_kiro_ide_hook_projection.py +0 -0
  542. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_kiro_ide_hook_rail.py +0 -0
  543. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_kiro_ide_hook_schema.py +0 -0
  544. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_lint_agent_artifacts_metadata_auth.py +0 -0
  545. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_list_installed_cmd.py +0 -0
  546. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_list_installed_status.py +0 -0
  547. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_list_targets_cmd.py +0 -0
  548. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_local_scope_schema.py +0 -0
  549. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_local_scope_t10_uninstall.py +0 -0
  550. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_local_scope_t12_show.py +0 -0
  551. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_local_scope_t2_resolve.py +0 -0
  552. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_local_scope_t3_config.py +0 -0
  553. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_local_scope_t4_state_path.py +0 -0
  554. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_local_scope_t5_list_installed.py +0 -0
  555. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_local_scope_t7_install_gates.py +0 -0
  556. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_local_scope_t8_install.py +0 -0
  557. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_local_scope_t9_exclude.py +0 -0
  558. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_marker_schema_version_parity.py +0 -0
  559. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_merge_into_agent_json.py +0 -0
  560. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_multi_adapter_disambiguator.py +0 -0
  561. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_nested_symlink_hardening.py +0 -0
  562. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_org_bootstrap.py +0 -0
  563. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_pack_config_api.py +0 -0
  564. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_pack_inventory.py +0 -0
  565. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_package_catalogue.py +0 -0
  566. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_packstate_source_provenance.py +0 -0
  567. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_pipeline_phase_order.py +0 -0
  568. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_plugin_scope_filter.py +0 -0
  569. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_profile_reader.py +0 -0
  570. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_render.py +0 -0
  571. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_render_cmd.py +0 -0
  572. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_render_table.py +0 -0
  573. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_resolve_state_path.py +0 -0
  574. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_resolve_target_adapter_user_config.py +0 -0
  575. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_resolve_user_scope_target_adapter.py +0 -0
  576. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_safety.py +0 -0
  577. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_safety_repo_scope_prefixes.py +0 -0
  578. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_safety_scan_per_pack_scoping.py +0 -0
  579. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_scaffold_cmd.py +0 -0
  580. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_scope.py +0 -0
  581. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_self_host_windows.py +0 -0
  582. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_shared_prefix_disclosure.py +0 -0
  583. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_source_conflict_guard.py +0 -0
  584. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_source_defaults.py +0 -0
  585. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_state_v01_refuse_write.py +0 -0
  586. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_state_v02.py +0 -0
  587. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_state_v0_4_schema.py +0 -0
  588. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_statelock.py +0 -0
  589. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_statelock_hardening.py +0 -0
  590. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_system_trust.py +0 -0
  591. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_target_resolver.py +0 -0
  592. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_toml_emitters.py +0 -0
  593. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_unresolved_markers.py +0 -0
  594. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_upgrade_bulk_all.py +0 -0
  595. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_upgrade_recap.py +0 -0
  596. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_upgrade_source_inference.py +0 -0
  597. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_user_config_io.py +0 -0
  598. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_user_config_isolation.py +0 -0
  599. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_user_config_path.py +0 -0
  600. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_user_config_source.py +0 -0
  601. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_user_merge_json.py +0 -0
  602. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_validate_attach_to_agent.py +0 -0
  603. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_validate_categories.py +0 -0
  604. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_validate_cmd.py +0 -0
  605. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_validate_hook_wiring_per_file_compatibility.py +0 -0
  606. {agentbundle-0.37.2 → agentbundle-0.38.1}/tests/unit/test_values_from_shapes.py +0 -0
  607. {agentbundle-0.37.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.37.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,30 +34,70 @@ 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.37.2
37
+ ## What's new in 0.38.1
38
38
 
39
- `agentbundle catalogue verify` now performs all 19 advertised checks. It
40
- validates profile schemas and pack references, dependency ranges and cycles,
41
- adapter compatibility, generated-output drift, pack preflight metadata, and
42
- skill evaluation manifests. The verifier remains read-only and portable across
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.
43
+
44
+ ## What's new in 0.38.0
45
+
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.
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
43
62
  external catalogues.
44
63
 
45
- Dependency ranges now use the same npm-compatible grammar in verify, lint, and
64
+ Dependency ranges use the same npm-compatible grammar in verify, lint, and
46
65
  install: caret, tilde, comparator, compound, and prerelease forms agree across
47
- all three commands. In particular, caret ranges below `1.0.0` now use normal
48
- semver compatibility (`^0.2` does not include `0.3.x`).
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.
49
79
 
50
80
  ## Catalogue authoring
51
81
 
52
- New catalogue scaffolds document the guide callout contract. The bundled
53
- authoring reference distinguishes exact quoted wording, which stays a
54
- blockquote, from guidance that should render as a Starlight `note`, `tip`,
55
- `caution`, or `danger` aside. Existing catalogues remain unchanged until their
56
- scaffolded authoring reference is refreshed.
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
95
+ ```
57
96
 
58
97
  ## Contract discovery
59
98
 
60
- The bundled public contract inventory includes the strict
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
61
101
  `knowledge-captured-observation.schema.json` contract used by the core pack's
62
102
  project-knowledge capture handoff.
63
103
 
@@ -160,7 +200,7 @@ agentbundle uninstall --pack core --yes
160
200
 
161
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.
162
202
 
163
- **`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.
164
204
 
165
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).
166
206
 
@@ -14,30 +14,70 @@ 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.37.2
17
+ ## What's new in 0.38.1
18
18
 
19
- `agentbundle catalogue verify` now performs all 19 advertised checks. It
20
- validates profile schemas and pack references, dependency ranges and cycles,
21
- adapter compatibility, generated-output drift, pack preflight metadata, and
22
- skill evaluation manifests. The verifier remains read-only and portable across
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.
23
+
24
+ ## What's new in 0.38.0
25
+
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.
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
23
42
  external catalogues.
24
43
 
25
- Dependency ranges now use the same npm-compatible grammar in verify, lint, and
44
+ Dependency ranges use the same npm-compatible grammar in verify, lint, and
26
45
  install: caret, tilde, comparator, compound, and prerelease forms agree across
27
- all three commands. In particular, caret ranges below `1.0.0` now use normal
28
- semver compatibility (`^0.2` does not include `0.3.x`).
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.
29
59
 
30
60
  ## Catalogue authoring
31
61
 
32
- New catalogue scaffolds document the guide callout contract. The bundled
33
- authoring reference distinguishes exact quoted wording, which stays a
34
- blockquote, from guidance that should render as a Starlight `note`, `tip`,
35
- `caution`, or `danger` aside. Existing catalogues remain unchanged until their
36
- scaffolded authoring reference is refreshed.
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
75
+ ```
37
76
 
38
77
  ## Contract discovery
39
78
 
40
- The bundled public contract inventory includes the strict
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
41
81
  `knowledge-captured-observation.schema.json` contract used by the core pack's
42
82
  project-knowledge capture handoff.
43
83
 
@@ -140,7 +180,7 @@ agentbundle uninstall --pack core --yes
140
180
 
141
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.
142
182
 
143
- **`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.
144
184
 
145
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).
146
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
+ }
@@ -453,7 +453,112 @@ contracts used for validation by this agentbundle version.
453
453
 
454
454
  ## Journey format
455
455
 
456
- :::caution
457
- **Not yet available.** Wave 4 of the catalogue-contracts initiative will define the
458
- journey format and its contract. This section will be filled in when that wave ships.
459
- :::
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": "42d4066e9a0226337268b6ea15fdf983ba0dd5f45bfde861557c2565ea354738",
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",
@@ -1,5 +1,6 @@
1
1
  adapter.schema.json
2
2
  adapter.toml
3
+ catalogue-index.schema.json
3
4
  catalogue.schema.json
4
5
  guide.schema.json
5
6
  knowledge-captured-observation.schema.json
@@ -24,7 +24,14 @@
24
24
  },
25
25
  "compatibility": {
26
26
  "type": "object",
27
- "description": "Open object — adapter-compatibility constraints declared by the skill."
27
+ "description": "Adapter-compatibility constraints declared by the skill. Values are bounded to the show JSON discovery-compatible scalar/list subset.",
28
+ "maxProperties": 256,
29
+ "propertyNames": {
30
+ "maxLength": 1024
31
+ },
32
+ "additionalProperties": {
33
+ "$ref": "#/$defs/compatibilityValue"
34
+ }
28
35
  },
29
36
  "metadata": {
30
37
  "type": "object",
@@ -35,5 +42,37 @@
35
42
  "items": {"type": "string"},
36
43
  "description": "Explicit tool allowlist for this skill."
37
44
  }
45
+ },
46
+ "$defs": {
47
+ "compatibilityScalar": {
48
+ "oneOf": [
49
+ {
50
+ "type": "string",
51
+ "maxLength": 1024
52
+ },
53
+ {
54
+ "type": "boolean"
55
+ },
56
+ {
57
+ "type": "integer",
58
+ "minimum": -9007199254740991,
59
+ "maximum": 9007199254740991
60
+ }
61
+ ]
62
+ },
63
+ "compatibilityValue": {
64
+ "oneOf": [
65
+ {
66
+ "$ref": "#/$defs/compatibilityScalar"
67
+ },
68
+ {
69
+ "type": "array",
70
+ "maxItems": 256,
71
+ "items": {
72
+ "$ref": "#/$defs/compatibilityScalar"
73
+ }
74
+ }
75
+ ]
76
+ }
38
77
  }
39
78
  }