agentbundle 0.53.1__tar.gz → 0.57.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {agentbundle-0.53.1/agentbundle.egg-info → agentbundle-0.57.0}/PKG-INFO +38 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/README-pypi.md +37 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/adapter.schema.json +2 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/catalogue-index.schema.json +1 -1
- agentbundle-0.57.0/agentbundle/_data/catalogue-manifest.schema.json +62 -0
- agentbundle-0.57.0/agentbundle/_data/catalogue-members.txt +8 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/catalogue-scaffold/manifest.json +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_pack_layout_declared_section.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/catalogue.schema.json +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/install-marker.py +6 -9
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/pack.schema.json +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/profile.schema.json +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/public-contracts.txt +1 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/skill-manifest.schema.json +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/skill.schema.json +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/bounded_metadata.py +3 -3
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/__init__.py +8 -7
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/adapter_root_bins.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/adapters/claude_code.py +4 -4
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/adapters/codex.py +3 -3
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/adapters/copilot.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/adapters/cursor.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/adapters/gemini.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/adapters/kiro.py +4 -4
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/adapters/kiro_ide.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/lint_packs.py +21 -48
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/main.py +74 -66
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/projections/direct_directory.py +1 -2
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/projections/kiro_ide_hook.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/projections/merge_into_agent_json.py +3 -4
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/projections/user_merge_json.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/recipes/self-host.toml +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/scope_rails.py +3 -3
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/self_host.py +20 -22
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/validate.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/catalogue.py +25 -3
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/catalogue_tooling/__init__.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/catalogue_tooling/archive.py +9 -9
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/catalogue_tooling/config.py +33 -67
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/catalogue_tooling/diagnostics.py +32 -32
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/catalogue_tooling/initialise.py +21 -22
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/catalogue_tooling/initialise_self_hosted.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/catalogue_tooling/lint.py +11 -21
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/catalogue_tooling/package.py +5 -5
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/catalogue_tooling/results.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/catalogue_tooling/verify.py +7 -7
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/cli.py +51 -22
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/_common.py +2 -3
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/catalogue_contracts.py +19 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/catalogue_package.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/catalogue_sync.py +275 -297
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/catalogue_tooling_stub.py +3 -3
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/install.py +63 -67
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/list_installed.py +4 -4
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/pack_evals.py +7 -6
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/profile.py +5 -20
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/upgrade.py +90 -5
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/validate.py +29 -64
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/config.py +49 -26
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/direct_install.py +27 -26
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/direct_source.py +19 -23
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/direct_source_acquisition.py +12 -12
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/direct_source_state.py +7 -7
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/direct_validate.py +3 -3
- agentbundle-0.57.0/agentbundle/pack_renames.py +419 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/render.py +3 -4
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/safety.py +26 -29
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/scope.py +4 -5
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/statelock.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/system_trust.py +5 -5
- agentbundle-0.57.0/agentbundle/version.py +96 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0/agentbundle.egg-info}/PKG-INFO +38 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle.egg-info/SOURCES.txt +15 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/pyproject.toml +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/templates/install-marker.py +6 -9
- agentbundle-0.57.0/tests/_rename_fixtures.py +259 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/_support.py +3 -3
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/fixtures/README.md +2 -2
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_adapter_codex.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_agent_plugin_projection.py +35 -5
- agentbundle-0.57.0/tests/build_pipeline/test_build_validate_bundled_schema.py +41 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_end_to_end_build.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_lint_packs.py +61 -45
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_pack_schema.py +5 -5
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_pack_schema_install.py +3 -4
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_pipeline.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_plugin_manifest_schema.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_plugin_publication_gates.py +9 -8
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_policy_registry_projection.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_self_host_check.py +11 -11
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_self_host_fixture_guard.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_shared_libs_projection.py +1 -1
- agentbundle-0.57.0/tests/fixtures/distribution-routes/golden.json +218 -0
- agentbundle-0.57.0/tests/integration/_https_archive.py +112 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_adapt_schema_migration.py +1 -2
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_blank_catalogue.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_brownfield_round_trip.py +1 -2
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_build_derivation_claude_plugins.py +2 -2
- agentbundle-0.57.0/tests/integration/test_bundled_contracts_fail_closed.py +92 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_catalogue_init.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_catalogue_verify_plugin_path.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_cc_user_hooks_fixture.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_claude_plugins_install_route.py +4 -10
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_direct_install.py +8 -8
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_discovery_schema_cross_consumer.py +2 -4
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_fixtures_validate.py +4 -4
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_install_adapt_chain.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_install_cmd.py +3 -3
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_install_core_smoke.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_install_dropped_primitives_warning.py +6 -6
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_install_profile_live.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_install_session_start_wiring.py +3 -4
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_kiro_repo_hooks_fixture.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_local_scope_install.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_marketplace_entry_validation.py +7 -7
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_multi_pack_install.py +27 -28
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_plugin_route_membership.py +23 -20
- agentbundle-0.57.0/tests/integration/test_rename_hint_cli.py +824 -0
- agentbundle-0.57.0/tests/integration/test_rename_migration_e2e.py +219 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_reserved_path_filter.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_self_host_schema_migration.py +1 -2
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_show_cmd.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_trust_fallback_tls.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_upgrade_cmd.py +3 -3
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_upgrade_user_hooks.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/performance/test_direct_family2_budget_cost.py +19 -19
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/test_workspace_mcp_git_scope.py +11 -8
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/test_workspace_mcp_layout_override.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_adapt_discovery_schema.py +3 -4
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_adapter_symlink_policy.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_append_layout_section.py +1 -1
- agentbundle-0.57.0/tests/unit/test_bundled_contract_errors.py +289 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_archive_unit_digests.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_ci_contract.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_curation_deps.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_init_cli_self_hosted.py +2 -2
- agentbundle-0.57.0/tests/unit/test_catalogue_manifest_schema.py +215 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_pack_defaults.py +7 -7
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_package_compare.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_package_refusal.py +1 -1
- agentbundle-0.57.0/tests/unit/test_catalogue_spec_version.py +124 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_sync.py +184 -186
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_tooling_archive.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_tooling_defaults.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_tooling_foundation.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_tooling_init.py +3 -3
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_tooling_lint.py +97 -70
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_tooling_package.py +3 -3
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_tooling_self_host.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_tooling_self_hosted_init.py +27 -27
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_tooling_verify.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_trust_fallback.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_unit_digests.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_wave2_schema.py +1 -6
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_wave2_validation.py +1 -6
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_wave3_contracts_cli.py +5 -2
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_wave3_contracts_inspector.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_wave3_init_nextsteps.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_collect_tree_symlinks.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_dependencies_batch.py +3 -3
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_direct_admission.py +13 -13
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_direct_architecture_controls.py +20 -20
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_direct_diagnostics.py +12 -12
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_direct_source_acquisition.py +4 -4
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_direct_source_state.py +8 -8
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_direct_validate.py +3 -3
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_https_catalogue.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_install_event_dropped_wirings.py +5 -7
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_install_first_value_handoff.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_install_inband_detection.py +7 -7
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_install_refusal_ordering.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_kiro_ide_hook_projection.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_kiro_ide_hook_rail.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_layout_bases_anchoring.py +3 -3
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_list_installed_cmd.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_list_installed_status.py +7 -7
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_local_scope_t7_install_gates.py +4 -1
- agentbundle-0.57.0/tests/unit/test_no_contracts_fallback.py +90 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_org_bootstrap.py +1 -2
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_pack_config_api.py +1 -1
- agentbundle-0.57.0/tests/unit/test_pack_evals_bundled_contract.py +33 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_pack_layout_section_schema.py +1 -1
- agentbundle-0.57.0/tests/unit/test_pack_renames.py +905 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_package_catalogue.py +7 -8
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_packstate_source_provenance.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_plugin_scope_filter.py +4 -6
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_resolve_user_scope_target_adapter.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_route_surface_parity.py +5 -5
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_safety.py +4 -4
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_source_conflict_guard.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_system_trust.py +6 -6
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_toml_emitters.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_upgrade_bulk_all.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_validate_cmd.py +1 -1
- agentbundle-0.53.1/agentbundle/version.py +0 -49
- agentbundle-0.53.1/tests/fixtures/distribution-routes/golden.json +0 -218
- {agentbundle-0.53.1 → agentbundle-0.57.0}/MANIFEST.in +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/README.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/__init__.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/__main__.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/__init__.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/adapter.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/agent-plugin-extension-namespaces.schema.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/agent-plugin-extension-namespaces.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/catalogue-scaffold/guides/_shared/reference/catalogue-authoring-standards.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/catalogue-scaffold/guides/_shared/reference/catalogue-ci-contract.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/catalogue-scaffold/packs/AGENTS.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/catalogue-scaffold/packs/CLAUDE.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/catalogue-scaffold/packs/README.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/catalogue-scaffold/packs/_example/.apm/skills/example-skill/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/catalogue-scaffold/packs/_example/.apm/skills/example-skill/evals/eval_queries.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/catalogue-scaffold/packs/_example/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/catalogue-scaffold/packs/_example/README.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/catalogue-scaffold/packs/_example/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/catalogue-scaffold/profiles/AGENTS.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/catalogue-scaffold/profiles/CLAUDE.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/catalogue-scaffold/profiles/README.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/catalogue-scaffold/profiles/_example/README.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/catalogue-scaffold/profiles/_example/profile.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_gemini_admissibility.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_pack_metadata.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_shared_library_boundaries.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/close_work.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/cooling.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/distribution-routes.schema.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/distribution-routes.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/file_safety.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/guide.schema.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/install-defaults.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/knowledge-captured-observation.schema.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/marketplace-entry.schema.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/plugin-manifest.derived.schema.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/plugin-manifest.schema.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/target-vocab.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/vendor/agent-plugins/1.0.0/LICENSE.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/vendor/agent-plugins/1.0.0/PROVENANCE.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/vendor/agent-plugins/1.0.0/mcp.schema.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/vendor/agent-plugins/1.0.0/plugin.schema.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/work_intake_refresh.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/workspace_status_engine.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/workspace_status_prune.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/__main__.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/adapters/__init__.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/adapters/_sweep_guard.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/adapters/kiro_cli.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/contract.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/hook_wiring_rules.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/phase_order.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/projection_io.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/projections/__init__.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/projections/codex_agent_toml.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/projections/copilot_agent_md.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/projections/copilot_hooks_json.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/projections/gemini_command_toml.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/projections/hook_id.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/projections/merge_json.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/projections/plugin_hooks.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/recipes/composite-agents-md.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/recipes/composite-marketplace.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/recipes/marketplace.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/recipes/per-pack-agent-plugin.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/recipes/per-pack-apm-package.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/recipes/per-pack-claude-plugin.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/recipes/per-pack-overlay.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/route_agent_plugin.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/route_apm.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/route_claude_plugins.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/route_lookup.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/shared_libs.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/target_resolver.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/build/user_libs.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/catalogue_fetch/__init__.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/catalogue_fetch/direct_http.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/catalogue_fetch/jfrog_cli.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/catalogue_fetch/models.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/catalogue_tooling/build.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/catalogue_tooling/contracts_inspector.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/catalogue_tooling/defaults.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/catalogue_tooling/file_safety.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/catalogue_tooling/identity.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/catalogue_tooling/index_generator.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/catalogue_tooling/journey_validator.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/catalogue_tooling/manifest.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/catalogue_tooling/okf_discovery.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/catalogue_tooling/self_host.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/catalogue_tooling/self_host_windows.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/catalogue_tooling/skill_spec_lint.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/catalogue_tooling/toml_emit.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/catalogue_tooling/version_ranges.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/categories.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/__init__.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/_drop_warning.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/adapt.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/catalogue_build.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/catalogue_index.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/catalogue_init.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/catalogue_lint.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/catalogue_self_host.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/catalogue_sync_defaults.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/catalogue_verify.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/config.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/diff.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/docs.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/init_state.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/list_packs.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/list_profiles.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/list_targets.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/oplog_cmd.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/pack_config_cmd.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/package_catalogue.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/reconcile.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/render.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/scaffold.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/show.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/commands/uninstall.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/https_catalogue.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/local_exclude.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/oplog.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/pack_inventory.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/scaffold.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/source_defaults.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/user_config.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/workspace_mcp.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle.egg-info/dependency_links.txt +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle.egg-info/entry_points.txt +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle.egg-info/requires.txt +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle.egg-info/top_level.txt +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/conftest.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/setup.cfg +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/__init__.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/_direct_acquisition.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/__init__.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/fixtures/claude-code-2.1.226-hook-events.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/fixtures/claude-code-2.1.228-hook-events.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/fixtures/packs/core/.apm/agents/bar.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/fixtures/packs/core/.apm/commands/qux.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/fixtures/packs/core/.apm/hook-wiring/baz.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/fixtures/packs/core/.apm/hook-wiring/qux.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/fixtures/packs/core/.apm/hooks/baz.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/fixtures/packs/core/.apm/hooks/baz.sh +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/fixtures/packs/core/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/fixtures/packs/core/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/fixtures/packs/core/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/fixtures/packs/governance-extras/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/fixtures/packs/governance-extras/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/fixtures/packs/governance-extras/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/fixtures/packs/monorepo-extras/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/fixtures/packs/monorepo-extras/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/fixtures/packs/monorepo-extras/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/fixtures/packs/product-documentation/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/fixtures/packs/product-documentation/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/fixtures/packs/product-documentation/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/fixtures/recipes/bogus-target.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_adapter_claude_code.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_adapter_copilot.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_adapter_cursor.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_adapter_gemini.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_adapter_kiro.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_adapter_kiro_alias.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_adapter_kiro_cli.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_adapter_kiro_ide.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_adapter_root_bins_projection.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_agent_boundary_metadata_projection.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_build_ships_seeds.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_contract.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_contract_scope.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_contract_v07.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_contract_v08.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_direct_directory_cleanup.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_distribution_route_contract.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_distribution_route_golden.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_distribution_route_resolution.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_hook_wiring_rules.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_load_pack_hook_wiring_safely.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_pack_schema_allowed_adapters.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_plugin_hooks.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_projectable_subset.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_projection_io.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_projections_merge_json.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_route_lookup.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_scope_rails.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_security.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_self_host_metadata_policy.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_self_host_recipe_config.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_sequential_implementer_dispatch_projection.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_shared_prefix_contract.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_user_libs_projection.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_validate.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/build_pipeline/test_writers_emit_lf.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/conftest.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/contracts/test_agentbundle_show_schema.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/contracts/test_catalogue_fetch_credential_boundary.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/contracts/test_skill_schema.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/adapt/.adapt-discovery.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/adapt/values.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/blank_catalogue/.claude-plugin/marketplace.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/blank_catalogue/catalogue.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/blank_catalogue/packs/.gitkeep +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/blank_catalogue/packs/_example/.apm/skills/example-skill/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/blank_catalogue/packs/_example/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/blank_catalogue/packs/_example/README.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/blank_catalogue/packs/_example/evals/eval_queries.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/blank_catalogue/packs/_example/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/blank_catalogue/profiles/.gitkeep +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/blank_catalogue/profiles/_example/README.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/blank_catalogue/profiles/_example/profile.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/brownfield/values.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/brownfield-adapt/AGENTS.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/brownfield-adapt/AGENTS.upstream.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/brownfield-adapt/DESIGN.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/brownfield-adapt/EXPECTED_TREE.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/brownfield-adapt/docs/CHARTER.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/brownfield-adapt/docs/guides/how-to/index.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/brownfield-adapt/docs/howto/getting-started.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/brownfield-adapt-expected/AGENTS.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/brownfield-adapt-expected/docs/CHARTER.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/brownfield-adapt-user-home/.agentbundle/.adapt-discovery.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/brownfield-adapt-user-home/.agentbundle/state.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/catalogue_sync/adapter_contract_major_mismatch/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/catalogue_wave4/catalogue.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/catalogue_wave4/packs/pack-with-journey/.apm/hook-wiring/example.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/catalogue_wave4/packs/pack-with-journey/.apm/skills/example-skill/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/catalogue_wave4/packs/pack-with-journey/.apm/skills/example-skill/scripts/run.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/catalogue_wave4/packs/pack-with-journey/JOURNEY.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/catalogue_wave4/packs/pack-with-journey/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/catalogue_wave4/packs/pack-without-journey/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/catalogue_wave4/profiles/test-profile.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/cognitive-load-hosts.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/creds/skills/argv-flag/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/creds/skills/argv-flag/scripts/cli.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/creds/skills/argv-flag-derived/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/creds/skills/argv-flag-derived/scripts/cli.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/creds/skills/argv-flag-normalised/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/creds/skills/argv-flag-normalised/scripts/cli.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/creds/skills/conforming/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/creds/skills/conforming/scripts/cli.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/creds/skills/dotfile-grep/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/creds/skills/dotfile-grep/scripts/leak.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/creds/skills/dotfile-with-optout/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/creds/skills/dotfile-with-optout/scripts/legit.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/creds/skills/mcp-server-headers/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/creds/skills/mcp-server-headers/scripts/cli.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/creds/skills/missing-dont-block/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/direct/ac35_corpus_verdicts.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/direct/golden_state_0_5.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/distribution-routes/witness-packs/portable/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/distribution-routes/witness-packs/portable/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/external_catalogue/.claude-plugin/marketplace.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/external_catalogue/AGENTS.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/external_catalogue/LICENSE-APACHE +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/external_catalogue/LICENSE-MIT +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/external_catalogue/agentbundle/_data/install-defaults.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/external_catalogue/catalogue.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/external_catalogue/packs/alpha/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/external_catalogue/packs/alpha/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/external_catalogue/packs/alpha/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/external_catalogue/packs/alpha/seeds/AGENTS.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/external_catalogue/packs/beta/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/external_catalogue/packs/beta/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/external_catalogue/profiles/example.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/agents/helper.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/commands/cmd.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/hook-wiring/run.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/hooks/run.sh +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/install/catalogue/packs/alpha/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/install/catalogue/packs/alpha/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/install/catalogue/packs/alpha/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/kiro_ide_hook/ask_agent_basic.kiro.hook +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/kiro_ide_hook/run_command_with_placeholder.kiro.hook +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/lint_packs/clean/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/lint_packs/clean/seeds/README.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/list-installed/golden_120col.txt +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/list-installed/golden_80col.txt +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/list_packs/catalogue/packs/alpha/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/list_packs/catalogue/packs/beta/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/local_scope/catalogue/packs/local-test-pack/.apm/skills/local-test/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/local_scope/catalogue/packs/local-test-pack/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/packs/cc-user-hooks/.apm/hook-wiring/on-prompt.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/packs/cc-user-hooks/.apm/hooks/on-prompt.sh +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/packs/cc-user-hooks/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/packs/kiro-repo-hooks/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/packs/kiro-repo-hooks/.apm/hook-wiring/on-spawn.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/packs/kiro-repo-hooks/.apm/hooks/on-spawn.sh +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/packs/kiro-repo-hooks/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/packs/kiro-user-hooks/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/packs/kiro-user-hooks/.apm/hook-wiring/on-spawn.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/packs/kiro-user-hooks/.apm/hooks/on-spawn.sh +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/packs/kiro-user-hooks/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/hook-wiring/on-spawn.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/hooks/on-spawn.sh +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/packs/malformed-kiro-missing-attach/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/hook-wiring/on-spawn.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/hooks/on-spawn.sh +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/packs/malformed-kiro-pascal-events/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/hook-wiring/on-spawn.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/hooks/on-spawn.sh +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/packs/malformed-kiro-unknown-agent/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/scaffold/test-pack/seeds/AGENTS.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/scaffold/test-pack/seeds/_agents-footer.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/scaffold/test-pack/seeds/docs/CHARTER.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/show_contract/agentbundle-show.schema.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/show_contract/catalogue.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/show_contract/installed_state.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/commands/deploy.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hook-wiring/pre-commit.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hooks/lint.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hooks/pre-commit.sh +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/upgrade/catalogue_v1/packs/core/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/commands/deploy.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hook-wiring/pre-commit.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hooks/lint.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hooks/pre-commit.sh +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/upgrade/catalogue_v2/packs/core/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/commands/deploy.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hook-wiring/pre-commit.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hooks/lint.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hooks/pre-commit.sh +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/upgrade/catalogue_v3/packs/core/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/validate/bad_recipe_pack/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/validate/malformed_pack/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/validate/valid_pack/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/fixtures/validate/version_mismatch_pack/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/__init__.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_adapt_cmd.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_adapt_dual_scope.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_adapt_preflight_detection.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_apm_install_route.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_brownfield_adapt_end_to_end.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_brownfield_user_home_fixture.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_build_check_drift_gates.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_build_derivation_apm.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_catalogue_init_packageable.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_catalogue_verify_adapter_compat.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_catalogue_verify_dependencies.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_catalogue_verify_external_portability.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_catalogue_verify_fixture_checks.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_catalogue_verify_marketplace.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_catalogue_verify_output_drift.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_catalogue_verify_package_preflight.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_catalogue_verify_profile_schema.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_catalogue_verify_step1.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_catalogue_wave4_index_generator.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_catalogue_wave4_integration.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_catalogue_wave4_journey_validator.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_catalogue_wave4_schema.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_config_cascade.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_credential_brokers_pack_install.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_credentials_wheel.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_editable_source_detection.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_hook_wiring_ingress.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_install_converters_user_scope.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_install_copilot_full_parity.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_install_default_source.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_install_dependencies_gate.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_install_dual_scope.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_install_layout_is_best_effort.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_install_orphan_reshape.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_install_pack_metadata_shape.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_install_profile.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_install_repo_scope_per_adapter.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_install_research_user_scope.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_install_seed_delivery.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_install_upgrade_offer.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_install_user_hooks.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_install_user_scope_allowed_adapters.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_jfrog_cli_contract.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_kiro_ide_hook_e2e.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_kiro_user_hooks_fixture.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_list_packs_cmd.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_marketplace_manifest_regression.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_orphan_cleanup_respects_foreign_state.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_portable_catalogue_authentication.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_recommends_cross_scope.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_reconcile.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_scaffold_projection.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_self_host_sweep_respects_state.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_shared_prefix_coexistence.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_tier_invariants.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_uninstall_cmd.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_uninstall_user_hooks.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_upgrade_attach_to_agent.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_version_gate_matrix.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_workspace_mcp_git_fsm.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/integration/test_zipapp.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/performance/__init__.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/test_adapter_permissions_projection.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/test_workspace_mcp_elicit.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/test_workspace_mcp_event_bridge.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/test_workspace_mcp_git.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/test_workspace_mcp_lifecycle.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/test_workspace_mcp_stdin.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/test_workspace_mcp_tools.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/__init__.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/conftest.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_architect_readme_install_command.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_fetch.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_fetch_jfrog.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_package_include_diagnostic.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_self_hosted_export_removal.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_skill_spec_lint.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_sync_fixture_set.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_tooling_build.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_tooling_file_safety.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_tooling_identity.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_tooling_source_package.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_catalogue_wave3_offline_navigation.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_cli_catalogue_optional.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_cli_help_lists_config.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_cli_list_targets_help.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_cli_namespace_fixture.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_cli_path_normalisation.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_cli_profile_surface.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_cli_scope_flags.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_codex_agent_toml.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_codex_projection_modes.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_cognitive_load_seed_contract.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_common_classify_seeds.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_config.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_config_cmd.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_configured_adapter.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_confirm_helper.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_contract_parity.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_contract_v0_3_schema.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_copilot_agent_md.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_copilot_hooks_json.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_copilot_user_scope_wiring.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_credbroker_lint_hardening.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_diff_cmd.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_direct_lifecycle_facts.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_direct_upgrade.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_footprint_ownership.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_init_state_cmd.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_install_argparse_adapter_flag.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_install_argparse_emit_install_routes.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_install_defaults_preferred_adapter.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_install_dropped_primitives_warning.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_install_force_help.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_install_messages.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_install_messages_repo_scope.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_install_state_provenance.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_kiro_ide_hook_schema.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_lint_agent_artifacts_metadata_auth.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_list_targets_cmd.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_local_exclude_git_cache.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_local_scope_schema.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_local_scope_t10_uninstall.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_local_scope_t12_show.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_local_scope_t2_resolve.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_local_scope_t3_config.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_local_scope_t4_state_path.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_local_scope_t5_list_installed.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_local_scope_t8_install.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_local_scope_t9_exclude.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_marker_schema_version_parity.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_merge_into_agent_json.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_multi_adapter_disambiguator.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_nested_symlink_hardening.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_offer_upgrade_namespace.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_okf_discovery.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_orphan_sweep_guards.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_pack_inventory.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_pipeline_phase_order.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_profile_reader.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_render.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_render_cmd.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_render_table.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_resolve_state_path.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_resolve_target_adapter_user_config.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_safety_repo_scope_prefixes.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_safety_scan_per_pack_scoping.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_scaffold_cmd.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_scope.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_self_host_windows.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_shared_prefix_disclosure.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_source_defaults.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_state_v01_refuse_write.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_state_v02.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_state_v0_4_schema.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_statelock.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_statelock_hardening.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_target_resolver.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_unresolved_markers.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_upgrade_recap.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_upgrade_source_inference.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_user_config_io.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_user_config_isolation.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_user_config_path.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_user_config_source.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_user_merge_json.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_validate_attach_to_agent.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_validate_categories.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_validate_hook_wiring_per_file_compatibility.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_values_from_shapes.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_version.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_windows_direct_suite_registration.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.57.0}/tests/unit/test_workspace_mcp_events_poller.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agentbundle
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.57.0
|
|
4
4
|
Summary: npm for your coding agent. Install packs of skills, subagents, and hooks into any repo, for every major agent.
|
|
5
5
|
Author-email: eugenelim <eugenelim@users.noreply.github.com>
|
|
6
6
|
License-Expression: Apache-2.0 OR MIT
|
|
@@ -35,6 +35,43 @@ python -m pip install agentbundle
|
|
|
35
35
|
|
|
36
36
|
Requires Python 3.11+. Runs on macOS, Linux, and Windows.
|
|
37
37
|
|
|
38
|
+
## What's new in 0.57.0
|
|
39
|
+
|
|
40
|
+
`install` and `upgrade` now print the steps to move to a renamed pack when the
|
|
41
|
+
catalogue renamed the one you asked for. The governance pack is now
|
|
42
|
+
`repo-governance`. CLIs older than 0.57.0 print plain "not found", so the steps
|
|
43
|
+
are also in the `repo-governance` pack README and the changelog.
|
|
44
|
+
|
|
45
|
+
## What's new in 0.56.0
|
|
46
|
+
|
|
47
|
+
`agentbundle --version` and `catalogue contracts list` now report the catalogue
|
|
48
|
+
specification version. **Breaking:** `catalogue contracts list --format json`
|
|
49
|
+
now prints an object, `{"catalogue_specification": "<version>", "contracts":
|
|
50
|
+
[...]}`, instead of a bare array. Read the `contracts` key for the rows.
|
|
51
|
+
|
|
52
|
+
## What's new in 0.55.0
|
|
53
|
+
|
|
54
|
+
A new bundled contract, `catalogue-manifest.schema.json`, describes the shape
|
|
55
|
+
of the release archive manifest, and `catalogue contracts list`, `show`, and
|
|
56
|
+
`export` expose it. It checks shape only and is not evidence of integrity or
|
|
57
|
+
origin. `catalogue verify` now rejects a boolean `schema` value in
|
|
58
|
+
`catalogue-manifest.json` with `CAT-V-ARC-011`. The archive guide states what
|
|
59
|
+
proves where an archive came from.
|
|
60
|
+
|
|
61
|
+
## What's new in 0.54.0
|
|
62
|
+
|
|
63
|
+
Every contract now loads from the copy bundled with `agentbundle`. A
|
|
64
|
+
`contracts/` folder in or above a catalogue no longer overrides
|
|
65
|
+
`target-vocab.toml` or `adapter.toml`, and a missing or unparsable bundled
|
|
66
|
+
contract fails closed. `catalogue lint` now reports a missing pack schema as a
|
|
67
|
+
`CAT-L006` error instead of a warning that skipped validation.
|
|
68
|
+
|
|
69
|
+
## What's new in 0.53.2
|
|
70
|
+
|
|
71
|
+
Error messages from `install` and from `.adapt-discovery.toml` loading state
|
|
72
|
+
their rule directly instead of citing internal design records. The legacy
|
|
73
|
+
layout notices now say `legacy dist-tree`. Exit codes are unchanged.
|
|
74
|
+
|
|
38
75
|
## What's new in 0.53.1
|
|
39
76
|
|
|
40
77
|
`agentbundle catalogue init` now writes a root `AGENTS.md` and a `CLAUDE.md`, so
|
|
@@ -14,6 +14,43 @@ 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.57.0
|
|
18
|
+
|
|
19
|
+
`install` and `upgrade` now print the steps to move to a renamed pack when the
|
|
20
|
+
catalogue renamed the one you asked for. The governance pack is now
|
|
21
|
+
`repo-governance`. CLIs older than 0.57.0 print plain "not found", so the steps
|
|
22
|
+
are also in the `repo-governance` pack README and the changelog.
|
|
23
|
+
|
|
24
|
+
## What's new in 0.56.0
|
|
25
|
+
|
|
26
|
+
`agentbundle --version` and `catalogue contracts list` now report the catalogue
|
|
27
|
+
specification version. **Breaking:** `catalogue contracts list --format json`
|
|
28
|
+
now prints an object, `{"catalogue_specification": "<version>", "contracts":
|
|
29
|
+
[...]}`, instead of a bare array. Read the `contracts` key for the rows.
|
|
30
|
+
|
|
31
|
+
## What's new in 0.55.0
|
|
32
|
+
|
|
33
|
+
A new bundled contract, `catalogue-manifest.schema.json`, describes the shape
|
|
34
|
+
of the release archive manifest, and `catalogue contracts list`, `show`, and
|
|
35
|
+
`export` expose it. It checks shape only and is not evidence of integrity or
|
|
36
|
+
origin. `catalogue verify` now rejects a boolean `schema` value in
|
|
37
|
+
`catalogue-manifest.json` with `CAT-V-ARC-011`. The archive guide states what
|
|
38
|
+
proves where an archive came from.
|
|
39
|
+
|
|
40
|
+
## What's new in 0.54.0
|
|
41
|
+
|
|
42
|
+
Every contract now loads from the copy bundled with `agentbundle`. A
|
|
43
|
+
`contracts/` folder in or above a catalogue no longer overrides
|
|
44
|
+
`target-vocab.toml` or `adapter.toml`, and a missing or unparsable bundled
|
|
45
|
+
contract fails closed. `catalogue lint` now reports a missing pack schema as a
|
|
46
|
+
`CAT-L006` error instead of a warning that skipped validation.
|
|
47
|
+
|
|
48
|
+
## What's new in 0.53.2
|
|
49
|
+
|
|
50
|
+
Error messages from `install` and from `.adapt-discovery.toml` loading state
|
|
51
|
+
their rule directly instead of citing internal design records. The legacy
|
|
52
|
+
layout notices now say `legacy dist-tree`. Exit codes are unchanged.
|
|
53
|
+
|
|
17
54
|
## What's new in 0.53.1
|
|
18
55
|
|
|
19
56
|
`agentbundle catalogue init` now writes a root `AGENTS.md` and a `CLAUDE.md`, so
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://eugenelim.github.io/agent-ready-repo/docs/spec/catalogue/0.1/adapter.schema.json",
|
|
2
4
|
"x-spec": "docs/specs/distribution-route-contract",
|
|
3
5
|
"type": "object",
|
|
4
6
|
"required": ["contract", "primitive", "adapter"],
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"x-spec": "docs/specs/catalogue-wave4-semantic-contracts-index",
|
|
3
3
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
|
-
"$id": "catalogue-index.schema.json",
|
|
4
|
+
"$id": "https://eugenelim.github.io/agent-ready-repo/docs/spec/catalogue/0.1/catalogue-index.schema.json",
|
|
5
5
|
"title": "Neutral catalogue index",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"additionalProperties": false,
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"x-spec": "docs/specs/catalogue-manifest-schema",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
|
+
"$id": "https://eugenelim.github.io/agent-ready-repo/docs/spec/catalogue/0.1/catalogue-manifest.schema.json",
|
|
5
|
+
"title": "Catalogue archive manifest",
|
|
6
|
+
"description": "Shape of the catalogue-manifest.json that `agentbundle catalogue package` writes into a catalogue archive. This schema describes shape only. A manifest that is valid against it is neither archive verification (the archive's bytes, digests and members are checked by `agentbundle catalogue verify`) nor evidence of who published the archive. Origin is established only by `catalogue verify --sha256-file` with a sidecar, or by a signature, obtained through a separately authenticated channel. Objects stay open: extra keys are allowed. The writer also emits keys this schema does not type because the verifier does not check them: source_revision, minimum_agentbundle_version, catalogue_name, catalogue_display_name and marketplace_digest (each may be null or a string), adapter_contract_version and pack_schema_version.",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"required": ["schema", "bundle", "release", "generated_at", "files", "packs"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"schema": {
|
|
11
|
+
"description": "Manifest schema version, 1 or 2. The package's validator rejects an integer-valued number such as 1.0 that standard JSON Schema validators and `catalogue verify` accept.",
|
|
12
|
+
"type": "integer",
|
|
13
|
+
"enum": [1, 2]
|
|
14
|
+
},
|
|
15
|
+
"bundle": {"type": "string"},
|
|
16
|
+
"release": {"type": "string"},
|
|
17
|
+
"generated_at": {"type": "string"},
|
|
18
|
+
"files": {
|
|
19
|
+
"type": "array",
|
|
20
|
+
"items": {
|
|
21
|
+
"type": "object",
|
|
22
|
+
"required": ["path", "sha256"],
|
|
23
|
+
"properties": {
|
|
24
|
+
"path": {"type": "string"},
|
|
25
|
+
"sha256": {"type": "string"}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"packs": {
|
|
30
|
+
"type": "array",
|
|
31
|
+
"items": {
|
|
32
|
+
"type": "object",
|
|
33
|
+
"required": ["name", "version"],
|
|
34
|
+
"properties": {
|
|
35
|
+
"name": {"type": "string"},
|
|
36
|
+
"version": {"type": "string"},
|
|
37
|
+
"path": {"type": "string"},
|
|
38
|
+
"digest": {"type": "string"}
|
|
39
|
+
},
|
|
40
|
+
"if": {"required": ["digest"]},
|
|
41
|
+
"then": {"required": ["path"]}
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"profiles": {
|
|
45
|
+
"type": "array",
|
|
46
|
+
"items": {
|
|
47
|
+
"if": {"type": "string"},
|
|
48
|
+
"else": {
|
|
49
|
+
"type": "object",
|
|
50
|
+
"required": ["name"],
|
|
51
|
+
"properties": {
|
|
52
|
+
"name": {"type": "string"},
|
|
53
|
+
"path": {"type": "string"},
|
|
54
|
+
"digest": {"type": "string"}
|
|
55
|
+
},
|
|
56
|
+
"if": {"required": ["digest"]},
|
|
57
|
+
"then": {"required": ["path"]}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
{agentbundle-0.53.1 → agentbundle-0.57.0}/agentbundle/_data/catalogue-scaffold/manifest.json
RENAMED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"profiles/_example/README.md": "164494df049ddce3e57cb44ed604cb3d39be0a6ec2072e609ea3fa4bbfc74c72",
|
|
17
17
|
"profiles/_example/profile.toml": "68af18cf50fa0327a9776b029c92bb1cf82710c649691b3ac889eb8537b8eac7",
|
|
18
18
|
"tests/conformance/test_gemini_admissibility.py": "8b337da9272823aed2cb22041b3f9fd27549f075f28b9817efd5be8f8c5bb948",
|
|
19
|
-
"tests/conformance/test_pack_layout_declared_section.py": "
|
|
19
|
+
"tests/conformance/test_pack_layout_declared_section.py": "48f644778a08d9460458aadb92eb1157042f9094c59f859c8d44df0a271c1256",
|
|
20
20
|
"tests/conformance/test_pack_metadata.py": "8ea175b88cc6e10ba10cda87676fc225ee2b968d710c8e6ab05fb20e31ec978a",
|
|
21
21
|
"tests/conformance/test_shared_library_boundaries.py": "5e07783459336e657a355f43aa5a9cf6c138603624daec258ecc0fa3d74239c3"
|
|
22
22
|
},
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"""A pack's declared layout section must be one it documents
|
|
1
|
+
"""A pack's declared layout section must be one it documents.
|
|
2
2
|
|
|
3
3
|
`agentbundle install` appends `[<section>] output_dir = <output_dir>` to an
|
|
4
4
|
adopter's `agentbundle-layout.toml`, taking both values from the pack manifest.
|
|
@@ -209,7 +209,7 @@ def test_no_pack_documents_a_crossing_of_its_own_pairs() -> None:
|
|
|
209
209
|
|
|
210
210
|
|
|
211
211
|
def test_every_reference_doc_agrees_with_its_pack_on_the_base() -> None:
|
|
212
|
-
"""
|
|
212
|
+
"""A pair documented in *one* doc is admitted; this requires all of them.
|
|
213
213
|
|
|
214
214
|
A pack with several reference pages can otherwise regress one of them to a
|
|
215
215
|
base the installer does not write, and stay green — the adopter reading
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "catalogue.schema.json",
|
|
3
|
+
"$id": "https://eugenelim.github.io/agent-ready-repo/docs/spec/catalogue/0.1/catalogue.schema.json",
|
|
4
4
|
"title": "CatalogueConfig",
|
|
5
5
|
"description": "JSON Schema for catalogue.toml — ini-005 Bucket 3 configuration layer.",
|
|
6
6
|
"type": "object",
|
|
@@ -13,10 +13,6 @@ It detects first-install-or-update and writes a ``[[packs-installed]]`` entry
|
|
|
13
13
|
to the scope-correct ``.adapt-install-marker.toml`` file so the existing core
|
|
14
14
|
session-start nudge and ``/adapt-to-project`` skill can consume it.
|
|
15
15
|
|
|
16
|
-
Specs:
|
|
17
|
-
docs/specs/claude-plugins-install-route/spec.md (route = "claude-plugins")
|
|
18
|
-
docs/specs/apm-install-route-parity/spec.md (route = "apm"; --install-route flag)
|
|
19
|
-
|
|
20
16
|
CLI:
|
|
21
17
|
``--install-route {claude-plugins,apm}`` is *required*. The build pipeline bakes
|
|
22
18
|
the value into the projected hook ``command`` at projection time for both routes;
|
|
@@ -604,8 +600,8 @@ def _serialise_marker(entries: list[dict]) -> str:
|
|
|
604
600
|
lines.append(f"install-route = {_emit_basic_string(install_route)}")
|
|
605
601
|
# Pass-through unresolved-markers and new-companions if present on the
|
|
606
602
|
# entry. CLI-seeded entries carry both; writer-created entries omit them
|
|
607
|
-
# (the writer has no visibility into the projected primitive tree
|
|
608
|
-
#
|
|
603
|
+
# (the writer has no visibility into the projected primitive tree).
|
|
604
|
+
# Re-emit verbatim using _emit_basic_string so CLI-seeded
|
|
609
605
|
# queue/companion lists survive a Claude-plugins writer pass.
|
|
610
606
|
if "unresolved-markers" in entry:
|
|
611
607
|
markers_repr = ", ".join(
|
|
@@ -692,9 +688,10 @@ def _write_hash(plugin_data: pathlib.Path, current_hash: str) -> None:
|
|
|
692
688
|
"""Write the hash file at ``${CLAUDE_PLUGIN_DATA}/pack-manifest-hash``.
|
|
693
689
|
|
|
694
690
|
Only called from ``main`` AFTER ``_write_marker`` returns successfully
|
|
695
|
-
(
|
|
696
|
-
|
|
697
|
-
to proceed with exit 0 + warning);
|
|
691
|
+
(write-after-success ordering, so a failed marker write is retried
|
|
692
|
+
next session instead of being masked by a fresh hash). Hash-write
|
|
693
|
+
failure is non-fatal (main allows it to proceed with exit 0 + warning);
|
|
694
|
+
the next session retries detection.
|
|
698
695
|
|
|
699
696
|
Uses tempfile + os.replace for atomicity, matching the marker write rail.
|
|
700
697
|
"""
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "pack.schema.json",
|
|
3
|
+
"$id": "https://eugenelim.github.io/agent-ready-repo/docs/spec/catalogue/0.1/pack.schema.json",
|
|
4
4
|
"title": "PackConfig",
|
|
5
5
|
"description": "JSON Schema for pack.toml — pack metadata and adapter-contract configuration.",
|
|
6
6
|
"type": "object",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "profile.schema.json",
|
|
3
|
+
"$id": "https://eugenelim.github.io/agent-ready-repo/docs/spec/catalogue/0.1/profile.schema.json",
|
|
4
4
|
"title": "ProfileConfig",
|
|
5
5
|
"description": "JSON Schema for profiles/*.toml — pack-profile install bundles.",
|
|
6
6
|
"type": "object",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft-07/schema#",
|
|
3
|
-
"$id": "skill-manifest.schema.json",
|
|
3
|
+
"$id": "https://eugenelim.github.io/agent-ready-repo/docs/spec/catalogue/0.1/skill-manifest.schema.json",
|
|
4
4
|
"type": "object",
|
|
5
5
|
"required": ["id", "name", "version", "description"],
|
|
6
6
|
"additionalProperties": false,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "skill.schema.json",
|
|
3
|
+
"$id": "https://eugenelim.github.io/agent-ready-repo/docs/spec/catalogue/0.1/skill.schema.json",
|
|
4
4
|
"title": "SkillFrontmatter",
|
|
5
5
|
"description": "JSON Schema for SKILL.md frontmatter — the closed key set enforced by agentbundle catalogue lint --deep.",
|
|
6
6
|
"type": "object",
|
|
@@ -127,7 +127,7 @@ def _parse_frontmatter(
|
|
|
127
127
|
except UnicodeDecodeError as exc:
|
|
128
128
|
raise BoundedMetadataError(f"{label}: invalid UTF-8") from exc
|
|
129
129
|
# Line endings are normalised for the PARSE ONLY. `data` is the byte string
|
|
130
|
-
#
|
|
130
|
+
# is written to the normalized tree and fed to the digest, and it
|
|
131
131
|
# is untouched here — this rebinds `text`, never `data`.
|
|
132
132
|
#
|
|
133
133
|
# Without this, a `SKILL.md` saved with CRLF — the default of most Windows
|
|
@@ -153,8 +153,8 @@ def _parse_frontmatter(
|
|
|
153
153
|
# after the parse — which is what this did — refuses the whole source when
|
|
154
154
|
# an unrecognised key holds a value the bounded subset cannot represent:
|
|
155
155
|
# `version: 1.0` refused while `version: 2` was dropped, and `version` is
|
|
156
|
-
# the second most common publisher key in the surveyed corpus.
|
|
157
|
-
#
|
|
156
|
+
# the second most common publisher key in the surveyed corpus. The
|
|
157
|
+
# rule is that an unrecognised key is ignored regardless of its value type.
|
|
158
158
|
parsed = _parse_subset(
|
|
159
159
|
_strip_unrecognised_keys(raw, allowed_top_level_keys), label, limits
|
|
160
160
|
)
|
|
@@ -19,14 +19,13 @@ Subcommands landing in later tasks (T6–T8):
|
|
|
19
19
|
from __future__ import annotations
|
|
20
20
|
|
|
21
21
|
import argparse
|
|
22
|
-
import json
|
|
23
22
|
import shutil
|
|
24
23
|
import sys
|
|
25
24
|
from pathlib import Path
|
|
26
25
|
|
|
27
26
|
from agentbundle.build.contract import load as load_contract
|
|
28
27
|
from agentbundle.build.lint_packs import cmd_lint_packs
|
|
29
|
-
from agentbundle.build.main import
|
|
28
|
+
from agentbundle.build.main import cmd_build
|
|
30
29
|
from agentbundle.build.self_host import cmd_check, cmd_self
|
|
31
30
|
from agentbundle.build.validate import validate as validate_instance
|
|
32
31
|
|
|
@@ -42,12 +41,15 @@ def _cmd_validate(args: argparse.Namespace) -> int:
|
|
|
42
41
|
)
|
|
43
42
|
return 1
|
|
44
43
|
|
|
44
|
+
# Imported at call time so a patch of `agentbundle.build.main._read_bundled`
|
|
45
|
+
# reaches this call.
|
|
46
|
+
from agentbundle.build.main import _load_bundled_json
|
|
47
|
+
|
|
45
48
|
try:
|
|
46
|
-
|
|
47
|
-
except (
|
|
49
|
+
schema = _load_bundled_json("adapter.schema.json")
|
|
50
|
+
except (OSError, ValueError, ModuleNotFoundError) as exc:
|
|
48
51
|
print(
|
|
49
|
-
"validate: adapter.schema.json
|
|
50
|
-
"repository contracts",
|
|
52
|
+
f"validate: cannot read bundled _data/adapter.schema.json: {exc}",
|
|
51
53
|
file=sys.stderr,
|
|
52
54
|
)
|
|
53
55
|
return 1
|
|
@@ -58,7 +60,6 @@ def _cmd_validate(args: argparse.Namespace) -> int:
|
|
|
58
60
|
print(f"validate: failed to load {contract_path}: {exc}", file=sys.stderr)
|
|
59
61
|
return 1
|
|
60
62
|
|
|
61
|
-
schema = json.loads(schema_text)
|
|
62
63
|
errors = validate_instance(contract, schema)
|
|
63
64
|
if errors:
|
|
64
65
|
print(
|
|
@@ -227,7 +227,7 @@ def collect_pack_root_bins(pack_dir: Path) -> dict[str, Path]:
|
|
|
227
227
|
target into each pair. ``agentbundle install`` operates on a single
|
|
228
228
|
resolved catalogue ``pack_dir`` and owns its own per-scope path-jail, so
|
|
229
229
|
it needs basenames + sources for one pack, not absolute targets under a
|
|
230
|
-
build tree (
|
|
230
|
+
build tree (the install-side seam). The
|
|
231
231
|
install caller composes ``.agentbundle/bin/<basename>`` relpaths from
|
|
232
232
|
:data:`TARGET_SUBDIR` and writes via ``safety.write_jailed`` with POSIX
|
|
233
233
|
:data:`EXECUTABLE_MODE`.
|
|
@@ -84,8 +84,8 @@ def project_packs(
|
|
|
84
84
|
|
|
85
85
|
|
|
86
86
|
# Mirror of kiro.py:_skill_direct_directory_target — keep in sync.
|
|
87
|
-
# A shared helper is
|
|
88
|
-
#
|
|
87
|
+
# A shared helper is deliberately avoided, so projections/direct_directory.py
|
|
88
|
+
# stays limited to `sweep_orphans`.
|
|
89
89
|
def _resolve_target(output_root: Path, target_path: str) -> Path:
|
|
90
90
|
"""Join a contract ``target-path`` onto ``output_root``, confined.
|
|
91
91
|
|
|
@@ -119,7 +119,7 @@ def _installed_skill_names(output_root: Path, target_dir: Path) -> set[str]:
|
|
|
119
119
|
"""Return skill dir names recorded in the repo state file under target_dir.
|
|
120
120
|
|
|
121
121
|
Delegates to the one shared implementation so this adapter cannot
|
|
122
|
-
drift from the other six; see `_sweep_guard` for the
|
|
122
|
+
drift from the other six; see `_sweep_guard` for the unreadable-state refusal.
|
|
123
123
|
"""
|
|
124
124
|
from agentbundle.build.adapters._sweep_guard import installed_skill_names
|
|
125
125
|
|
|
@@ -193,7 +193,7 @@ def _project_direct_directory(source_dir: Path, target_dir: Path) -> None:
|
|
|
193
193
|
continue
|
|
194
194
|
if entry.is_dir():
|
|
195
195
|
destination = target_dir / entry.name
|
|
196
|
-
#
|
|
196
|
+
# `shutil.rmtree` is barred against
|
|
197
197
|
# any entry whose `is_symlink()` is true. If a previous
|
|
198
198
|
# run left a symlink at the destination path, unlink it
|
|
199
199
|
# (removes the link, not the target).
|
|
@@ -45,7 +45,7 @@ def _installed_skill_names(output_root: Path, target_dir: Path) -> set[str]:
|
|
|
45
45
|
"""Return skill dir names recorded in the repo state file under target_dir.
|
|
46
46
|
|
|
47
47
|
Delegates to the one shared implementation so this adapter cannot
|
|
48
|
-
drift from the other six; see `_sweep_guard` for the
|
|
48
|
+
drift from the other six; see `_sweep_guard` for the unreadable-state refusal.
|
|
49
49
|
"""
|
|
50
50
|
from agentbundle.build.adapters._sweep_guard import installed_skill_names
|
|
51
51
|
|
|
@@ -157,7 +157,7 @@ def project_packs(
|
|
|
157
157
|
if entry.is_dir():
|
|
158
158
|
expected_names.add(entry.name)
|
|
159
159
|
destination = target_dir / entry.name
|
|
160
|
-
#
|
|
160
|
+
# `shutil.rmtree` is barred
|
|
161
161
|
# against any entry whose `is_symlink()` is
|
|
162
162
|
# true. If a previous projection left a
|
|
163
163
|
# symlink at the destination path, unlink it
|
|
@@ -173,7 +173,7 @@ def project_packs(
|
|
|
173
173
|
symlinks=True,
|
|
174
174
|
ignore=ignore_absolute_symlinks,
|
|
175
175
|
)
|
|
176
|
-
#
|
|
176
|
+
# Orphan sweeping is bound to `skill` only. Other
|
|
177
177
|
# direct-directory primitives opt in explicitly.
|
|
178
178
|
if primitive_name == "skill":
|
|
179
179
|
expected_names |= _installed_skill_names(output_root, target_dir)
|
|
@@ -219,7 +219,7 @@ def _installed_skill_names(output_root: Path, target_dir: Path) -> set[str]:
|
|
|
219
219
|
"""Return skill dir names recorded in the repo state file under target_dir.
|
|
220
220
|
|
|
221
221
|
Delegates to the one shared implementation so this adapter cannot
|
|
222
|
-
drift from the other six; see `_sweep_guard` for the
|
|
222
|
+
drift from the other six; see `_sweep_guard` for the unreadable-state refusal.
|
|
223
223
|
"""
|
|
224
224
|
from agentbundle.build.adapters._sweep_guard import installed_skill_names
|
|
225
225
|
|
|
@@ -234,7 +234,7 @@ def _sweep_skill_orphans(pack_paths: list[Path], contract: dict, output_root: Pa
|
|
|
234
234
|
for entry in source_dir.iterdir():
|
|
235
235
|
if entry.is_dir():
|
|
236
236
|
expected_names.add(entry.name)
|
|
237
|
-
#
|
|
237
|
+
# This adapter previously built `expected_names` from pack
|
|
238
238
|
# sources alone and had no protected set at all, so a sweep removed
|
|
239
239
|
# every skill installed by `agentbundle install` into the same
|
|
240
240
|
# directory. The installed set is unioned in, and an unreadable
|
|
@@ -229,7 +229,7 @@ def _sweep_skill_orphans(pack_paths: list[Path], contract: dict, output_root: Pa
|
|
|
229
229
|
for entry in source_dir.iterdir():
|
|
230
230
|
if entry.is_dir():
|
|
231
231
|
expected_names.add(entry.name)
|
|
232
|
-
#
|
|
232
|
+
# This adapter previously built `expected_names` from pack
|
|
233
233
|
# sources alone and had no protected set at all, so a sweep removed
|
|
234
234
|
# every skill installed by `agentbundle install` into the same
|
|
235
235
|
# directory. The installed set is unioned in, and an unreadable
|
|
@@ -131,8 +131,8 @@ def project_packs(
|
|
|
131
131
|
|
|
132
132
|
|
|
133
133
|
# Mirror of claude_code.py:_skill_direct_directory_target — keep in sync.
|
|
134
|
-
# A shared helper is
|
|
135
|
-
#
|
|
134
|
+
# A shared helper is deliberately avoided, so projections/direct_directory.py
|
|
135
|
+
# stays limited to `sweep_orphans`.
|
|
136
136
|
def _skill_direct_directory_target(contract: dict, output_root: Path) -> Path | None:
|
|
137
137
|
adapter_block = contract["adapter"]["kiro"]
|
|
138
138
|
for entry in adapter_block.get("projection", []):
|
|
@@ -145,7 +145,7 @@ def _installed_skill_names(output_root: Path, target_dir: Path) -> set[str]:
|
|
|
145
145
|
"""Return skill dir names recorded in the repo state file under target_dir.
|
|
146
146
|
|
|
147
147
|
Delegates to the one shared implementation so this adapter cannot
|
|
148
|
-
drift from the other six; see `_sweep_guard` for the
|
|
148
|
+
drift from the other six; see `_sweep_guard` for the unreadable-state refusal.
|
|
149
149
|
"""
|
|
150
150
|
from agentbundle.build.adapters._sweep_guard import installed_skill_names
|
|
151
151
|
|
|
@@ -461,7 +461,7 @@ def _project_direct_directory(source_dir: Path, target_dir: Path) -> None:
|
|
|
461
461
|
continue
|
|
462
462
|
if entry.is_dir():
|
|
463
463
|
destination = target_dir / entry.name
|
|
464
|
-
#
|
|
464
|
+
# `shutil.rmtree` is barred against
|
|
465
465
|
# any entry whose `is_symlink()` is true. If a previous
|
|
466
466
|
# run left a symlink at the destination path, unlink it.
|
|
467
467
|
if destination.is_symlink():
|
|
@@ -96,7 +96,7 @@ def _sweep_skill_orphans(pack_paths: list[Path], contract: dict, output_root: Pa
|
|
|
96
96
|
for entry in source_dir.iterdir():
|
|
97
97
|
if entry.is_dir():
|
|
98
98
|
expected_names.add(entry.name)
|
|
99
|
-
#
|
|
99
|
+
# This adapter previously built `expected_names` from pack
|
|
100
100
|
# sources alone and had no protected set at all, so a sweep removed
|
|
101
101
|
# every skill installed by `agentbundle install` into the same
|
|
102
102
|
# directory. The installed set is unioned in, and an unreadable
|
|
@@ -18,7 +18,7 @@ Three checks, applied to every pack under a `--packs-dir`:
|
|
|
18
18
|
exceed the strictest `description-max-length`. Multi-line YAML
|
|
19
19
|
descriptions (`>`, `|`, continuation lines) are refused outright
|
|
20
20
|
rather than mis-parsed. Constraints come from
|
|
21
|
-
`
|
|
21
|
+
the bundled `_data/target-vocab.toml`.
|
|
22
22
|
|
|
23
23
|
The lint is Python-only so it runs on every CI platform without
|
|
24
24
|
shelling out, and it is wired into `make build` / `make build-self` /
|
|
@@ -44,11 +44,6 @@ from agentbundle.safety import PathJailError, assert_portable_name
|
|
|
44
44
|
# their content.
|
|
45
45
|
_PACK_SUBTREES = ("seeds", ".apm")
|
|
46
46
|
|
|
47
|
-
# Path to the sibling vocab file, relative to a repo root. The loader
|
|
48
|
-
# walks up from a caller-supplied start until an ancestor contains
|
|
49
|
-
# this relative path.
|
|
50
|
-
_VOCAB_RELPATH = Path("contracts/target-vocab.toml")
|
|
51
|
-
|
|
52
47
|
# Sentinel returned by `_extract_frontmatter_fields` when a key's
|
|
53
48
|
# value position is `>`, `|`, or empty (signaling a folded / nested
|
|
54
49
|
# block). The metadata checks translate this into a finding
|
|
@@ -57,7 +52,7 @@ _MULTILINE = object()
|
|
|
57
52
|
|
|
58
53
|
|
|
59
54
|
class Constraints(NamedTuple):
|
|
60
|
-
"""Strictest-cap snapshot of `
|
|
55
|
+
"""Strictest-cap snapshot of the bundled `_data/target-vocab.toml`.
|
|
61
56
|
|
|
62
57
|
`binding_targets` keys (`"description_max"`, `"name_max"`,
|
|
63
58
|
`"name_pattern"`) carry the ASCII-sorted list of targets enforcing
|
|
@@ -71,53 +66,31 @@ class Constraints(NamedTuple):
|
|
|
71
66
|
binding_targets: dict[str, list[str]]
|
|
72
67
|
|
|
73
68
|
|
|
74
|
-
def
|
|
75
|
-
|
|
76
|
-
while True:
|
|
77
|
-
possible = cursor / _VOCAB_RELPATH
|
|
78
|
-
if possible.is_file():
|
|
79
|
-
return possible
|
|
80
|
-
if cursor.parent == cursor:
|
|
81
|
-
return None
|
|
82
|
-
cursor = cursor.parent
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
def _load_target_vocab(start: Path) -> tuple[dict | None, str | None]:
|
|
86
|
-
"""Walk up from `start` looking for `contracts/target-vocab.toml`;
|
|
87
|
-
then fall back to the bundled engine copy. This keeps the gate working when
|
|
88
|
-
an adopter points `--packs-dir` at a tree outside the repo and when the
|
|
89
|
-
engine runs from an installed artifact. Returns `(vocab_dict, None)` on
|
|
90
|
-
success, `(None, err)` when both sources fail or the file is malformed."""
|
|
91
|
-
candidate = _walk_up_for_vocab(start)
|
|
92
|
-
source = str(candidate) if candidate is not None else None
|
|
93
|
-
text = candidate.read_text(encoding="utf-8") if candidate is not None else None
|
|
94
|
-
if text is None:
|
|
95
|
-
try:
|
|
96
|
-
from importlib.resources import files
|
|
69
|
+
def _load_target_vocab() -> tuple[dict | None, str | None]:
|
|
70
|
+
"""Load the bundled `_data/target-vocab.toml`; no other source is tried.
|
|
97
71
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
72
|
+
Returns `(vocab_dict, None)` on success, `(None, err)` when the bundled
|
|
73
|
+
copy is missing, unreadable or malformed. `err` names the file."""
|
|
74
|
+
# Imported here so a patch of `agentbundle.build.main._read_bundled`
|
|
75
|
+
# reaches this call; `agentbundle.build.main` as an attribute of the
|
|
76
|
+
# package is rebound to the CLI function.
|
|
77
|
+
from agentbundle.build.main import _read_bundled
|
|
78
|
+
|
|
79
|
+
try:
|
|
80
|
+
text = _read_bundled("target-vocab.toml")
|
|
81
|
+
except (OSError, UnicodeDecodeError) as exc:
|
|
107
82
|
return None, (
|
|
108
|
-
"lint-packs: target-vocab.toml
|
|
109
|
-
f"{start} and checked bundled package data; expected "
|
|
110
|
-
f"{_VOCAB_RELPATH.as_posix()} or _data/{_VOCAB_RELPATH.name})"
|
|
83
|
+
f"lint-packs: cannot read bundled _data/target-vocab.toml: {exc}"
|
|
111
84
|
)
|
|
112
85
|
try:
|
|
113
86
|
raw = tomllib.loads(text)
|
|
114
87
|
except tomllib.TOMLDecodeError as exc:
|
|
115
|
-
return None, f"lint-packs: failed to parse
|
|
88
|
+
return None, f"lint-packs: failed to parse _data/target-vocab.toml: {exc}"
|
|
116
89
|
targets = raw.get("target")
|
|
117
90
|
if not isinstance(targets, dict) or not targets:
|
|
118
91
|
return None, (
|
|
119
|
-
|
|
120
|
-
|
|
92
|
+
"lint-packs: _data/target-vocab.toml has no [target.<name>] tables — "
|
|
93
|
+
"the metadata gate has no constraints to apply"
|
|
121
94
|
)
|
|
122
95
|
return raw, None
|
|
123
96
|
|
|
@@ -499,14 +472,14 @@ def lint_pack(
|
|
|
499
472
|
from agentbundle.build import route_lookup
|
|
500
473
|
from agentbundle.build.hook_wiring_rules import claude_projection_paths
|
|
501
474
|
from agentbundle.build.main import (
|
|
475
|
+
_load_bundled_toml,
|
|
502
476
|
_load_distribution_route_contract,
|
|
503
|
-
_read_bundled,
|
|
504
477
|
)
|
|
505
478
|
from agentbundle.build.projections.plugin_hooks import compile_plugin_hooks
|
|
506
479
|
|
|
507
480
|
contract_data = contract
|
|
508
481
|
if contract_data is None:
|
|
509
|
-
contract_data =
|
|
482
|
+
contract_data = _load_bundled_toml("adapter.toml")
|
|
510
483
|
try:
|
|
511
484
|
route_data = _load_distribution_route_contract()
|
|
512
485
|
route_declarations = route_lookup.read_route_declarations(route_data)
|
|
@@ -597,7 +570,7 @@ def cmd_lint_packs(args: argparse.Namespace) -> int:
|
|
|
597
570
|
if not packs_dir.exists():
|
|
598
571
|
print(f"lint-packs: packs-dir not found: {packs_dir}", file=sys.stderr)
|
|
599
572
|
return 1
|
|
600
|
-
vocab, err = _load_target_vocab(
|
|
573
|
+
vocab, err = _load_target_vocab()
|
|
601
574
|
if err is not None:
|
|
602
575
|
print(err, file=sys.stderr)
|
|
603
576
|
print(
|