agentbundle 0.53.1__tar.gz → 0.53.2__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.53.2}/PKG-INFO +7 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/README-pypi.md +6 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/catalogue-scaffold/manifest.json +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_pack_layout_declared_section.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/install-marker.py +6 -9
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/bounded_metadata.py +3 -3
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/adapter_root_bins.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/adapters/claude_code.py +4 -4
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/adapters/codex.py +3 -3
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/adapters/copilot.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/adapters/cursor.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/adapters/gemini.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/adapters/kiro.py +4 -4
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/adapters/kiro_ide.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/main.py +13 -13
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/projections/direct_directory.py +1 -2
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/projections/kiro_ide_hook.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/projections/merge_into_agent_json.py +3 -4
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/projections/user_merge_json.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/scope_rails.py +3 -3
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/self_host.py +19 -21
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/validate.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/catalogue.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/catalogue_tooling/__init__.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/catalogue_tooling/archive.py +6 -6
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/catalogue_tooling/config.py +5 -5
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/catalogue_tooling/diagnostics.py +31 -31
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/catalogue_tooling/initialise.py +0 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/catalogue_tooling/initialise_self_hosted.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/catalogue_tooling/package.py +5 -5
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/catalogue_tooling/results.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/catalogue_tooling/verify.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/cli.py +16 -18
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/_common.py +2 -3
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/catalogue_package.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/catalogue_sync.py +275 -297
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/catalogue_tooling_stub.py +3 -3
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/install.py +28 -31
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/list_installed.py +4 -4
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/pack_evals.py +3 -3
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/validate.py +15 -15
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/config.py +12 -15
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/direct_install.py +27 -26
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/direct_source.py +16 -16
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/direct_source_acquisition.py +12 -12
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/direct_source_state.py +7 -7
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/direct_validate.py +3 -3
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/render.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/safety.py +26 -29
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/scope.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/statelock.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/system_trust.py +5 -5
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/version.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2/agentbundle.egg-info}/PKG-INFO +7 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/pyproject.toml +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/templates/install-marker.py +6 -9
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/fixtures/README.md +2 -2
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_adapter_codex.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_agent_plugin_projection.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_end_to_end_build.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_lint_packs.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_pack_schema_install.py +3 -4
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_pipeline.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_plugin_publication_gates.py +9 -8
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_policy_registry_projection.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_self_host_check.py +4 -4
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_self_host_fixture_guard.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_shared_libs_projection.py +1 -1
- agentbundle-0.53.2/tests/fixtures/distribution-routes/golden.json +218 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_adapt_schema_migration.py +1 -2
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_blank_catalogue.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_brownfield_round_trip.py +1 -2
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_build_derivation_claude_plugins.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_catalogue_init.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_catalogue_verify_plugin_path.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_cc_user_hooks_fixture.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_claude_plugins_install_route.py +0 -6
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_direct_install.py +8 -8
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_discovery_schema_cross_consumer.py +2 -4
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_fixtures_validate.py +4 -4
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_install_adapt_chain.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_install_cmd.py +3 -3
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_install_core_smoke.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_install_session_start_wiring.py +3 -4
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_kiro_repo_hooks_fixture.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_local_scope_install.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_marketplace_entry_validation.py +7 -7
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_multi_pack_install.py +2 -3
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_plugin_route_membership.py +16 -16
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_reserved_path_filter.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_self_host_schema_migration.py +1 -2
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_show_cmd.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_trust_fallback_tls.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_upgrade_cmd.py +3 -3
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_upgrade_user_hooks.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/performance/test_direct_family2_budget_cost.py +19 -19
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/test_workspace_mcp_git_scope.py +11 -8
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/test_workspace_mcp_layout_override.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_adapt_discovery_schema.py +3 -4
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_adapter_symlink_policy.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_append_layout_section.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_archive_unit_digests.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_ci_contract.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_pack_defaults.py +7 -7
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_package_compare.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_package_refusal.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_sync.py +184 -186
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_tooling_archive.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_tooling_defaults.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_tooling_foundation.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_tooling_init.py +3 -3
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_tooling_lint.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_tooling_package.py +3 -3
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_tooling_self_host.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_tooling_self_hosted_init.py +11 -11
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_tooling_verify.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_trust_fallback.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_unit_digests.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_wave2_schema.py +1 -6
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_wave2_validation.py +1 -6
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_wave3_contracts_inspector.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_wave3_init_nextsteps.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_collect_tree_symlinks.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_direct_admission.py +13 -13
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_direct_architecture_controls.py +20 -20
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_direct_diagnostics.py +12 -12
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_direct_source_acquisition.py +4 -4
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_direct_source_state.py +8 -8
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_direct_validate.py +3 -3
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_https_catalogue.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_install_event_dropped_wirings.py +5 -7
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_install_first_value_handoff.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_install_inband_detection.py +7 -7
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_install_refusal_ordering.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_kiro_ide_hook_projection.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_kiro_ide_hook_rail.py +2 -2
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_layout_bases_anchoring.py +3 -3
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_list_installed_cmd.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_list_installed_status.py +7 -7
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_local_scope_t7_install_gates.py +4 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_org_bootstrap.py +1 -2
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_pack_config_api.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_pack_layout_section_schema.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_package_catalogue.py +7 -8
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_packstate_source_provenance.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_plugin_scope_filter.py +4 -6
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_resolve_user_scope_target_adapter.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_route_surface_parity.py +5 -5
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_safety.py +4 -4
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_source_conflict_guard.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_system_trust.py +6 -6
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_upgrade_bulk_all.py +1 -1
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_validate_cmd.py +1 -1
- agentbundle-0.53.1/tests/fixtures/distribution-routes/golden.json +0 -218
- {agentbundle-0.53.1 → agentbundle-0.53.2}/MANIFEST.in +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/README.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/__init__.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/__main__.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/__init__.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/adapter.schema.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/adapter.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/agent-plugin-extension-namespaces.schema.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/agent-plugin-extension-namespaces.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/catalogue-index.schema.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/catalogue-scaffold/guides/_shared/reference/catalogue-authoring-standards.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/catalogue-scaffold/guides/_shared/reference/catalogue-ci-contract.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/catalogue-scaffold/packs/AGENTS.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/catalogue-scaffold/packs/CLAUDE.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/catalogue-scaffold/packs/README.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/catalogue-scaffold/packs/_example/.apm/skills/example-skill/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/catalogue-scaffold/packs/_example/.apm/skills/example-skill/evals/eval_queries.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/catalogue-scaffold/packs/_example/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/catalogue-scaffold/packs/_example/README.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/catalogue-scaffold/packs/_example/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/catalogue-scaffold/profiles/AGENTS.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/catalogue-scaffold/profiles/CLAUDE.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/catalogue-scaffold/profiles/README.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/catalogue-scaffold/profiles/_example/README.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/catalogue-scaffold/profiles/_example/profile.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_gemini_admissibility.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_pack_metadata.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/catalogue-scaffold/tests/conformance/test_shared_library_boundaries.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/catalogue.schema.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/close_work.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/cooling.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/distribution-routes.schema.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/distribution-routes.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/file_safety.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/guide.schema.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/install-defaults.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/knowledge-captured-observation.schema.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/marketplace-entry.schema.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/pack.schema.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/plugin-manifest.derived.schema.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/plugin-manifest.schema.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/profile.schema.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/public-contracts.txt +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/skill-manifest.schema.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/skill.schema.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/target-vocab.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/vendor/agent-plugins/1.0.0/LICENSE.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/vendor/agent-plugins/1.0.0/PROVENANCE.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/vendor/agent-plugins/1.0.0/mcp.schema.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/vendor/agent-plugins/1.0.0/plugin.schema.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/work_intake_refresh.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/workspace_status_engine.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/_data/workspace_status_prune.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/__init__.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/__main__.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/adapters/__init__.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/adapters/_sweep_guard.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/adapters/kiro_cli.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/contract.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/hook_wiring_rules.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/lint_packs.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/phase_order.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/projection_io.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/projections/__init__.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/projections/codex_agent_toml.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/projections/copilot_agent_md.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/projections/copilot_hooks_json.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/projections/gemini_command_toml.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/projections/hook_id.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/projections/merge_json.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/projections/plugin_hooks.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/recipes/composite-agents-md.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/recipes/composite-marketplace.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/recipes/marketplace.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/recipes/per-pack-agent-plugin.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/recipes/per-pack-apm-package.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/recipes/per-pack-claude-plugin.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/recipes/per-pack-overlay.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/recipes/self-host.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/route_agent_plugin.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/route_apm.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/route_claude_plugins.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/route_lookup.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/shared_libs.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/target_resolver.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/user_libs.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/catalogue_fetch/__init__.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/catalogue_fetch/direct_http.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/catalogue_fetch/jfrog_cli.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/catalogue_fetch/models.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/catalogue_tooling/build.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/catalogue_tooling/contracts_inspector.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/catalogue_tooling/defaults.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/catalogue_tooling/file_safety.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/catalogue_tooling/identity.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/catalogue_tooling/index_generator.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/catalogue_tooling/journey_validator.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/catalogue_tooling/lint.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/catalogue_tooling/manifest.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/catalogue_tooling/okf_discovery.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/catalogue_tooling/self_host.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/catalogue_tooling/self_host_windows.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/catalogue_tooling/skill_spec_lint.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/catalogue_tooling/toml_emit.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/catalogue_tooling/version_ranges.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/categories.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/__init__.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/_drop_warning.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/adapt.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/catalogue_build.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/catalogue_contracts.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/catalogue_index.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/catalogue_init.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/catalogue_lint.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/catalogue_self_host.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/catalogue_sync_defaults.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/catalogue_verify.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/config.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/diff.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/docs.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/init_state.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/list_packs.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/list_profiles.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/list_targets.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/oplog_cmd.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/pack_config_cmd.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/package_catalogue.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/profile.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/reconcile.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/render.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/scaffold.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/show.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/uninstall.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/commands/upgrade.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/https_catalogue.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/local_exclude.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/oplog.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/pack_inventory.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/scaffold.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/source_defaults.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/user_config.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/workspace_mcp.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle.egg-info/SOURCES.txt +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle.egg-info/dependency_links.txt +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle.egg-info/entry_points.txt +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle.egg-info/requires.txt +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle.egg-info/top_level.txt +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/conftest.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/setup.cfg +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/__init__.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/_direct_acquisition.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/_support.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/__init__.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/fixtures/claude-code-2.1.226-hook-events.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/fixtures/claude-code-2.1.228-hook-events.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/fixtures/packs/core/.apm/agents/bar.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/fixtures/packs/core/.apm/commands/qux.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/fixtures/packs/core/.apm/hook-wiring/baz.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/fixtures/packs/core/.apm/hook-wiring/qux.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/fixtures/packs/core/.apm/hooks/baz.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/fixtures/packs/core/.apm/hooks/baz.sh +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/fixtures/packs/core/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/fixtures/packs/core/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/fixtures/packs/core/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/fixtures/packs/governance-extras/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/fixtures/packs/governance-extras/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/fixtures/packs/governance-extras/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/fixtures/packs/monorepo-extras/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/fixtures/packs/monorepo-extras/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/fixtures/packs/monorepo-extras/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/fixtures/packs/product-documentation/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/fixtures/packs/product-documentation/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/fixtures/packs/product-documentation/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/fixtures/packs/user-guide-diataxis/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/fixtures/recipes/bogus-target.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_adapter_claude_code.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_adapter_copilot.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_adapter_cursor.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_adapter_gemini.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_adapter_kiro.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_adapter_kiro_alias.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_adapter_kiro_cli.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_adapter_kiro_ide.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_adapter_root_bins_projection.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_agent_boundary_metadata_projection.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_build_ships_seeds.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_contract.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_contract_scope.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_contract_v07.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_contract_v08.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_direct_directory_cleanup.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_distribution_route_contract.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_distribution_route_golden.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_distribution_route_resolution.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_hook_wiring_rules.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_load_pack_hook_wiring_safely.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_pack_schema.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_pack_schema_allowed_adapters.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_plugin_hooks.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_plugin_manifest_schema.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_projectable_subset.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_projection_io.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_projections_merge_json.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_route_lookup.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_scope_rails.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_security.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_self_host_metadata_policy.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_self_host_recipe_config.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_sequential_implementer_dispatch_projection.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_shared_prefix_contract.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_user_libs_projection.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_validate.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/build_pipeline/test_writers_emit_lf.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/conftest.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/contracts/test_agentbundle_show_schema.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/contracts/test_catalogue_fetch_credential_boundary.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/contracts/test_skill_schema.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/adapt/.adapt-discovery.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/adapt/values.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/blank_catalogue/.claude-plugin/marketplace.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/blank_catalogue/catalogue.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/blank_catalogue/packs/.gitkeep +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/blank_catalogue/packs/_example/.apm/skills/example-skill/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/blank_catalogue/packs/_example/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/blank_catalogue/packs/_example/README.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/blank_catalogue/packs/_example/evals/eval_queries.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/blank_catalogue/packs/_example/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/blank_catalogue/profiles/.gitkeep +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/blank_catalogue/profiles/_example/README.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/blank_catalogue/profiles/_example/profile.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/brownfield/values.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/brownfield-adapt/AGENTS.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/brownfield-adapt/AGENTS.upstream.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/brownfield-adapt/DESIGN.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/brownfield-adapt/EXPECTED_TREE.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/brownfield-adapt/docs/CHARTER.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/brownfield-adapt/docs/guides/how-to/index.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/brownfield-adapt/docs/howto/getting-started.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/brownfield-adapt-expected/AGENTS.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/brownfield-adapt-expected/docs/CHARTER.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/brownfield-adapt-user-home/.agentbundle/.adapt-discovery.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/brownfield-adapt-user-home/.agentbundle/state.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/catalogue_sync/adapter_contract_major_mismatch/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/catalogue_wave4/catalogue.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/catalogue_wave4/packs/pack-with-journey/.apm/hook-wiring/example.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/catalogue_wave4/packs/pack-with-journey/.apm/skills/example-skill/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/catalogue_wave4/packs/pack-with-journey/.apm/skills/example-skill/scripts/run.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/catalogue_wave4/packs/pack-with-journey/JOURNEY.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/catalogue_wave4/packs/pack-with-journey/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/catalogue_wave4/packs/pack-without-journey/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/catalogue_wave4/profiles/test-profile.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/cognitive-load-hosts.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/creds/skills/argv-flag/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/creds/skills/argv-flag/scripts/cli.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/creds/skills/argv-flag-derived/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/creds/skills/argv-flag-derived/scripts/cli.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/creds/skills/argv-flag-normalised/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/creds/skills/argv-flag-normalised/scripts/cli.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/creds/skills/conforming/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/creds/skills/conforming/scripts/cli.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/creds/skills/dotfile-grep/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/creds/skills/dotfile-grep/scripts/leak.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/creds/skills/dotfile-with-optout/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/creds/skills/dotfile-with-optout/scripts/legit.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/creds/skills/mcp-server-headers/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/creds/skills/mcp-server-headers/scripts/cli.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/creds/skills/missing-dont-block/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/direct/ac35_corpus_verdicts.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/direct/golden_state_0_5.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/distribution-routes/witness-packs/portable/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/distribution-routes/witness-packs/portable/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/external_catalogue/.claude-plugin/marketplace.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/external_catalogue/AGENTS.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/external_catalogue/LICENSE-APACHE +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/external_catalogue/LICENSE-MIT +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/external_catalogue/agentbundle/_data/install-defaults.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/external_catalogue/catalogue.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/external_catalogue/packs/alpha/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/external_catalogue/packs/alpha/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/external_catalogue/packs/alpha/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/external_catalogue/packs/alpha/seeds/AGENTS.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/external_catalogue/packs/beta/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/external_catalogue/packs/beta/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/external_catalogue/profiles/example.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/install/catalogue/packs/alpha/.apm/agents/helper.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/install/catalogue/packs/alpha/.apm/commands/cmd.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/install/catalogue/packs/alpha/.apm/hook-wiring/run.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/install/catalogue/packs/alpha/.apm/hooks/run.sh +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/install/catalogue/packs/alpha/.apm/skills/example/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/install/catalogue/packs/alpha/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/install/catalogue/packs/alpha/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/kiro_ide_hook/ask_agent_basic.kiro.hook +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/kiro_ide_hook/run_command_with_placeholder.kiro.hook +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/lint_packs/clean/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/lint_packs/clean/seeds/README.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/list-installed/golden_120col.txt +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/list-installed/golden_80col.txt +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/list_packs/catalogue/packs/alpha/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/list_packs/catalogue/packs/beta/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/local_scope/catalogue/packs/local-test-pack/.apm/skills/local-test/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/local_scope/catalogue/packs/local-test-pack/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/packs/cc-user-hooks/.apm/hook-wiring/on-prompt.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/packs/cc-user-hooks/.apm/hooks/on-prompt.sh +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/packs/cc-user-hooks/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/packs/kiro-repo-hooks/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/packs/kiro-repo-hooks/.apm/hook-wiring/on-spawn.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/packs/kiro-repo-hooks/.apm/hooks/on-spawn.sh +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/packs/kiro-repo-hooks/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/packs/kiro-user-hooks/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/packs/kiro-user-hooks/.apm/hook-wiring/on-spawn.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/packs/kiro-user-hooks/.apm/hooks/on-spawn.sh +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/packs/kiro-user-hooks/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/hook-wiring/on-spawn.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/packs/malformed-kiro-missing-attach/.apm/hooks/on-spawn.sh +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/packs/malformed-kiro-missing-attach/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/hook-wiring/on-spawn.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/packs/malformed-kiro-pascal-events/.apm/hooks/on-spawn.sh +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/packs/malformed-kiro-pascal-events/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/hook-wiring/on-spawn.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/packs/malformed-kiro-unknown-agent/.apm/hooks/on-spawn.sh +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/packs/malformed-kiro-unknown-agent/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/scaffold/test-pack/seeds/AGENTS.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/scaffold/test-pack/seeds/_agents-footer.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/scaffold/test-pack/seeds/docs/CHARTER.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/show_contract/agentbundle-show.schema.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/show_contract/catalogue.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/show_contract/installed_state.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/commands/deploy.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hook-wiring/pre-commit.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hooks/lint.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/hooks/pre-commit.sh +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/upgrade/catalogue_v1/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/upgrade/catalogue_v1/packs/core/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/upgrade/catalogue_v1/packs/core/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/commands/deploy.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hook-wiring/pre-commit.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hooks/lint.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/hooks/pre-commit.sh +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/upgrade/catalogue_v2/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/upgrade/catalogue_v2/packs/core/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/upgrade/catalogue_v2/packs/core/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/agents/reviewer.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/commands/deploy.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hook-wiring/pre-commit.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hooks/lint.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/hooks/pre-commit.sh +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/upgrade/catalogue_v3/packs/core/.apm/skills/work-loop/SKILL.md +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/upgrade/catalogue_v3/packs/core/.claude-plugin/plugin.json +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/upgrade/catalogue_v3/packs/core/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/validate/bad_recipe_pack/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/validate/malformed_pack/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/validate/valid_pack/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/fixtures/validate/version_mismatch_pack/pack.toml +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/__init__.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_adapt_cmd.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_adapt_dual_scope.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_adapt_preflight_detection.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_apm_install_route.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_brownfield_adapt_end_to_end.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_brownfield_user_home_fixture.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_build_check_drift_gates.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_build_derivation_apm.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_catalogue_init_packageable.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_catalogue_verify_adapter_compat.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_catalogue_verify_dependencies.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_catalogue_verify_external_portability.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_catalogue_verify_fixture_checks.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_catalogue_verify_marketplace.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_catalogue_verify_output_drift.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_catalogue_verify_package_preflight.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_catalogue_verify_profile_schema.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_catalogue_verify_step1.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_catalogue_wave4_index_generator.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_catalogue_wave4_integration.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_catalogue_wave4_journey_validator.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_catalogue_wave4_schema.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_config_cascade.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_credential_brokers_pack_install.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_credentials_wheel.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_editable_source_detection.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_hook_wiring_ingress.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_install_converters_user_scope.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_install_copilot_full_parity.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_install_default_source.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_install_dependencies_gate.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_install_dropped_primitives_warning.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_install_dual_scope.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_install_layout_is_best_effort.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_install_orphan_reshape.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_install_pack_metadata_shape.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_install_profile.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_install_profile_live.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_install_repo_scope_per_adapter.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_install_research_user_scope.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_install_seed_delivery.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_install_upgrade_offer.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_install_user_hooks.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_install_user_scope_allowed_adapters.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_jfrog_cli_contract.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_kiro_ide_hook_e2e.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_kiro_user_hooks_fixture.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_list_packs_cmd.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_marketplace_manifest_regression.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_orphan_cleanup_respects_foreign_state.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_portable_catalogue_authentication.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_recommends_cross_scope.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_reconcile.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_scaffold_projection.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_self_host_sweep_respects_state.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_shared_prefix_coexistence.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_tier_invariants.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_uninstall_cmd.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_uninstall_user_hooks.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_upgrade_attach_to_agent.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_version_gate_matrix.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_workspace_mcp_git_fsm.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/integration/test_zipapp.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/performance/__init__.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/test_adapter_permissions_projection.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/test_workspace_mcp_elicit.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/test_workspace_mcp_event_bridge.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/test_workspace_mcp_git.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/test_workspace_mcp_lifecycle.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/test_workspace_mcp_stdin.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/test_workspace_mcp_tools.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/__init__.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/conftest.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_architect_readme_install_command.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_curation_deps.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_fetch.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_fetch_jfrog.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_init_cli_self_hosted.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_package_include_diagnostic.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_self_hosted_export_removal.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_skill_spec_lint.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_sync_fixture_set.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_tooling_build.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_tooling_file_safety.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_tooling_identity.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_tooling_source_package.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_wave3_contracts_cli.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_catalogue_wave3_offline_navigation.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_cli_catalogue_optional.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_cli_help_lists_config.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_cli_list_targets_help.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_cli_namespace_fixture.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_cli_path_normalisation.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_cli_profile_surface.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_cli_scope_flags.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_codex_agent_toml.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_codex_projection_modes.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_cognitive_load_seed_contract.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_common_classify_seeds.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_config.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_config_cmd.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_configured_adapter.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_confirm_helper.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_contract_parity.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_contract_v0_3_schema.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_copilot_agent_md.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_copilot_hooks_json.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_copilot_user_scope_wiring.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_credbroker_lint_hardening.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_dependencies_batch.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_diff_cmd.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_direct_lifecycle_facts.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_direct_upgrade.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_footprint_ownership.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_init_state_cmd.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_install_argparse_adapter_flag.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_install_argparse_emit_install_routes.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_install_defaults_preferred_adapter.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_install_dropped_primitives_warning.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_install_force_help.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_install_messages.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_install_messages_repo_scope.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_install_state_provenance.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_kiro_ide_hook_schema.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_lint_agent_artifacts_metadata_auth.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_list_targets_cmd.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_local_exclude_git_cache.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_local_scope_schema.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_local_scope_t10_uninstall.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_local_scope_t12_show.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_local_scope_t2_resolve.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_local_scope_t3_config.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_local_scope_t4_state_path.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_local_scope_t5_list_installed.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_local_scope_t8_install.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_local_scope_t9_exclude.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_marker_schema_version_parity.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_merge_into_agent_json.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_multi_adapter_disambiguator.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_nested_symlink_hardening.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_offer_upgrade_namespace.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_okf_discovery.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_orphan_sweep_guards.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_pack_inventory.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_pipeline_phase_order.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_profile_reader.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_render.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_render_cmd.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_render_table.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_resolve_state_path.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_resolve_target_adapter_user_config.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_safety_repo_scope_prefixes.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_safety_scan_per_pack_scoping.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_scaffold_cmd.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_scope.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_self_host_windows.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_shared_prefix_disclosure.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_source_defaults.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_state_v01_refuse_write.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_state_v02.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_state_v0_4_schema.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_statelock.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_statelock_hardening.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_target_resolver.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_toml_emitters.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_unresolved_markers.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_upgrade_recap.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_upgrade_source_inference.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_user_config_io.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_user_config_isolation.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_user_config_path.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_user_config_source.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_user_merge_json.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_validate_attach_to_agent.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_validate_categories.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_validate_hook_wiring_per_file_compatibility.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_values_from_shapes.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_version.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/tests/unit/test_windows_direct_suite_registration.py +0 -0
- {agentbundle-0.53.1 → agentbundle-0.53.2}/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.53.
|
|
3
|
+
Version: 0.53.2
|
|
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,12 @@ 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.53.2
|
|
39
|
+
|
|
40
|
+
Error messages from `install` and from `.adapt-discovery.toml` loading state
|
|
41
|
+
their rule directly instead of citing internal design records. The legacy
|
|
42
|
+
layout notices now say `legacy dist-tree`. Exit codes are unchanged.
|
|
43
|
+
|
|
38
44
|
## What's new in 0.53.1
|
|
39
45
|
|
|
40
46
|
`agentbundle catalogue init` now writes a root `AGENTS.md` and a `CLAUDE.md`, so
|
|
@@ -14,6 +14,12 @@ 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.53.2
|
|
18
|
+
|
|
19
|
+
Error messages from `install` and from `.adapt-discovery.toml` loading state
|
|
20
|
+
their rule directly instead of citing internal design records. The legacy
|
|
21
|
+
layout notices now say `legacy dist-tree`. Exit codes are unchanged.
|
|
22
|
+
|
|
17
23
|
## What's new in 0.53.1
|
|
18
24
|
|
|
19
25
|
`agentbundle catalogue init` now writes a root `AGENTS.md` and a `CLAUDE.md`, so
|
{agentbundle-0.53.1 → agentbundle-0.53.2}/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
|
|
@@ -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
|
"""
|
|
@@ -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
|
)
|
|
@@ -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
|
|
@@ -254,7 +254,7 @@ def _read_install_marker_template() -> bytes:
|
|
|
254
254
|
def _project_pack_readme(pack_path: Path, per_pack_output: Path) -> None:
|
|
255
255
|
"""Copy a pack's ``README.md`` into its per-pack dist route, if present.
|
|
256
256
|
|
|
257
|
-
|
|
257
|
+
The README is the sole portable per-pack doc,
|
|
258
258
|
and the manifest's ``readme = "README.md"`` pointer resolves relative to
|
|
259
259
|
the route directory. A pack without a README projects none and does not
|
|
260
260
|
error (the ``readme`` field is then simply absent / unresolved — never a
|
|
@@ -326,7 +326,7 @@ def derive_projectable_subset(pack_toml: dict) -> dict:
|
|
|
326
326
|
the output only when its source field is present and non-empty, so a
|
|
327
327
|
legacy ``pack.toml`` declaring none of the enriched fields yields ``{}``
|
|
328
328
|
and the projected manifest is byte-identical to the pre-enrichment output
|
|
329
|
-
(legacy
|
|
329
|
+
(legacy invariance). This is a pure function — no I/O, no schema read.
|
|
330
330
|
"""
|
|
331
331
|
pack = pack_toml.get("pack", {})
|
|
332
332
|
if not isinstance(pack, dict):
|
|
@@ -1683,20 +1683,20 @@ def _discover_packs_confined(packs_dir: Path) -> list[Pack]:
|
|
|
1683
1683
|
|
|
1684
1684
|
|
|
1685
1685
|
# ---------------------------------------------------------------------------
|
|
1686
|
-
# Claude-plugin route membership
|
|
1686
|
+
# Claude-plugin route membership
|
|
1687
1687
|
#
|
|
1688
1688
|
# The route is a user-scope distribution channel: a plugin's code always lives
|
|
1689
1689
|
# in the adopter's global cache, and `claude plugin install` defaults to
|
|
1690
1690
|
# `--scope user`. A pack declaring `allowed-scopes = ["repo"]` therefore forbids
|
|
1691
1691
|
# the only install this route offers, and publishing it contradicts the refusal
|
|
1692
|
-
# contract
|
|
1692
|
+
# contract for scope-restricted packs. One predicate decides membership; every writer that
|
|
1693
1693
|
# can publish calls it.
|
|
1694
1694
|
# ---------------------------------------------------------------------------
|
|
1695
1695
|
|
|
1696
1696
|
def is_publishable(pack_meta: dict, *, slug: str) -> bool:
|
|
1697
1697
|
"""Does this pack belong on the Claude-plugin route?
|
|
1698
1698
|
|
|
1699
|
-
Three conditions, all required
|
|
1699
|
+
Three conditions, all required:
|
|
1700
1700
|
|
|
1701
1701
|
1. the slug is not underscore-prefixed (reserved authoring asset);
|
|
1702
1702
|
2. — checked by the caller, which knows whether `.claude-plugin/plugin.json`
|
|
@@ -1846,7 +1846,7 @@ def validate_pack_uniqueness(pack: Pack) -> None:
|
|
|
1846
1846
|
"""Raise if a pack has two primitives with the same local name.
|
|
1847
1847
|
|
|
1848
1848
|
The local name is the stem for most primitives, except `hooks` where
|
|
1849
|
-
`.sh` and `.py` are both legal (
|
|
1849
|
+
`.sh` and `.py` are both legal (both are
|
|
1850
1850
|
valid in `packs/<pack>/.apm/hooks/`) — so for hooks we key by the
|
|
1851
1851
|
full filename so `baz.sh` and `baz.py` coexist.
|
|
1852
1852
|
"""
|
|
@@ -1912,7 +1912,7 @@ def run_recipe(
|
|
|
1912
1912
|
|
|
1913
1913
|
`aggregate_scope` is required and has no default: it decides whether a
|
|
1914
1914
|
pack skipped on the claude-plugins route is announced. A catalogue build
|
|
1915
|
-
names every exclusion
|
|
1915
|
+
names every exclusion; a single-pack render stays silent, because
|
|
1916
1916
|
that is the flagship *successful* repo-scope path — `agentbundle install
|
|
1917
1917
|
--pack core` — and a route refusal there reads as an error on a command
|
|
1918
1918
|
that worked. A default would let `render_packs_to_dir` and `cmd_build
|
|
@@ -2071,7 +2071,7 @@ def _run_per_pack_adapter(context: _PerPackRouteContext) -> dict[str, Any]:
|
|
|
2071
2071
|
if not pack_is_publishable(pack.path):
|
|
2072
2072
|
# Route membership, not an error: a repo-only pack forbids the only
|
|
2073
2073
|
# install this route offers. Named on stderr so an exclusion is
|
|
2074
|
-
# never silent
|
|
2074
|
+
# never silent.
|
|
2075
2075
|
if aggregate_scope == "catalogue":
|
|
2076
2076
|
# Catalogue builds name every exclusion. A single-pack render —
|
|
2077
2077
|
# which is what `agentbundle install --pack core` and every
|
|
@@ -2274,7 +2274,7 @@ def _run_per_pack_single(
|
|
|
2274
2274
|
if pack_toml_src.exists():
|
|
2275
2275
|
shutil.copy2(pack_toml_src, per_pack_output / "pack.toml", follow_symlinks=False)
|
|
2276
2276
|
|
|
2277
|
-
#
|
|
2277
|
+
# Project the pack's README.md into the route so
|
|
2278
2278
|
# the manifest's `readme = "README.md"` pointer resolves. The README is the
|
|
2279
2279
|
# sole portable per-pack doc. follow_symlinks=False mirrors the pack.toml
|
|
2280
2280
|
# copy's posture (a symlinked README is not dereferenced into dist/).
|
|
@@ -2352,7 +2352,7 @@ def _run_per_pack_apm(
|
|
|
2352
2352
|
follow_symlinks=False,
|
|
2353
2353
|
)
|
|
2354
2354
|
|
|
2355
|
-
#
|
|
2355
|
+
# Project the pack's README into the APM
|
|
2356
2356
|
# route too (the sole portable per-pack doc; same posture as above).
|
|
2357
2357
|
_project_pack_readme(pack.path, per_pack_output)
|
|
2358
2358
|
|
|
@@ -2451,7 +2451,7 @@ def _run_aggregate(
|
|
|
2451
2451
|
Membership is resolved from the **source** tree (`packs/<slug>/pack.toml`),
|
|
2452
2452
|
never from the projected copy under `dist/`: `make build` has no dependency
|
|
2453
2453
|
on `clean`, so a stale dist directory carries the *old* declaration and
|
|
2454
|
-
would republish contrary to the pack's current intent
|
|
2454
|
+
would republish contrary to the pack's current intent.
|
|
2455
2455
|
"""
|
|
2456
2456
|
input_subdir = (
|
|
2457
2457
|
resolved_route.output_subdir
|
|
@@ -2528,7 +2528,7 @@ def _run_aggregate(
|
|
|
2528
2528
|
# Every surviving entry must agree. Taking the FIRST match let a filtered
|
|
2529
2529
|
# set silently re-key the marketplace to whichever pack happened to sort
|
|
2530
2530
|
# first — identity derived from pack-supplied metadata, decided by an
|
|
2531
|
-
# unrelated membership change. Refuse on disagreement instead
|
|
2531
|
+
# unrelated membership change. Refuse on disagreement instead.
|
|
2532
2532
|
identities: set[tuple[str, str]] = set()
|
|
2533
2533
|
for entry in entries:
|
|
2534
2534
|
src = entry.get("source")
|
|
@@ -2590,7 +2590,7 @@ def _run_aggregate(
|
|
|
2590
2590
|
# single-pack render of a repo-only pack is a *successful* `agentbundle
|
|
2591
2591
|
# install --pack core`, and announcing an empty marketplace there reads as
|
|
2592
2592
|
# an error on a command that worked. Round thirteen added this warning
|
|
2593
|
-
# ungated and regressed
|
|
2593
|
+
# ungated and regressed the single-pack silence.
|
|
2594
2594
|
if aggregate_scope == "catalogue" and source_by_name and not entries:
|
|
2595
2595
|
print(_empty_marketplace_warning(excluded + stale), file=sys.stderr)
|
|
2596
2596
|
output_path.write_text(
|
|
@@ -24,8 +24,7 @@ def ignore_absolute_symlinks(directory: str, names: list[str]) -> set[str]:
|
|
|
24
24
|
dropping every symlink, two dropping only absolute targets — which is what
|
|
25
25
|
six copies of one rule does.
|
|
26
26
|
|
|
27
|
-
The surviving policy is pass-through, because
|
|
28
|
-
`docs/specs/codex-native-skills/spec.md` states it as the invariant:
|
|
27
|
+
The surviving policy is pass-through, because the invariant is:
|
|
29
28
|
"the symlink-pass-through is the path-traversal-safety invariant; never
|
|
30
29
|
resolve a symlink to its target at projection time". Resolving is what
|
|
31
30
|
materialises a target's bytes into the output; preserving the link does not,
|
|
@@ -248,8 +248,8 @@ def _expand_placeholders(
|
|
|
248
248
|
|
|
249
249
|
Refuses (defense-in-depth) on malformed or unresolvable
|
|
250
250
|
placeholders even though the validate rail covered these
|
|
251
|
-
upstream. Resolved text is NOT re-scanned
|
|
252
|
-
|
|
251
|
+
upstream. Resolved text is NOT re-scanned, so a substituted value
|
|
252
|
+
cannot itself expand — single pass via ``re.sub``.
|
|
253
253
|
"""
|
|
254
254
|
# Defense-in-depth check 1 — malformed placeholder.
|
|
255
255
|
for match in _ANY_PLACEHOLDER_RE.finditer(command):
|
{agentbundle-0.53.1 → agentbundle-0.53.2}/agentbundle/build/projections/merge_into_agent_json.py
RENAMED
|
@@ -128,8 +128,7 @@ def unproject(target_path: Path, owned: list[tuple[str, str]]) -> None:
|
|
|
128
128
|
|
|
129
129
|
Empty ``hooks.<event>`` arrays are removed. The agent file itself
|
|
130
130
|
is **never** removed by this function — that's the agent
|
|
131
|
-
primitive's ``direct-file`` uninstall's responsibility
|
|
132
|
-
§ Conflict, idempotency, uninstall).
|
|
131
|
+
primitive's ``direct-file`` uninstall's responsibility.
|
|
133
132
|
|
|
134
133
|
If the target file is absent, ``unproject`` is a no-op — same
|
|
135
134
|
rationale as T5's ``user_merge_json.unproject``: a state row
|
|
@@ -219,8 +218,8 @@ def _shape_check_event_array(target_path: Path, event: str, value: object) -> No
|
|
|
219
218
|
def _merge_one_entry(event_array: list, tagged_entry: dict) -> None:
|
|
220
219
|
"""Append or replace-in-place by id.
|
|
221
220
|
|
|
222
|
-
No adopter-collision branch: the agent JSON is pack-owned
|
|
223
|
-
|
|
221
|
+
No adopter-collision branch: the agent JSON is pack-owned, so there is
|
|
222
|
+
no ``--force-merge`` for Kiro.
|
|
224
223
|
Adopter hand-edits to the agent file are squatting on a managed
|
|
225
224
|
surface; the next upgrade replaces the file via the agent
|
|
226
225
|
primitive's ``direct-file`` projection.
|
|
@@ -17,8 +17,8 @@ three boundaries documented in the merge semantics:
|
|
|
17
17
|
The module exposes two callables: ``project`` (install / reinstall)
|
|
18
18
|
and ``unproject`` (uninstall). Both write atomically via tmp + rename.
|
|
19
19
|
|
|
20
|
-
This module is stdlib-only — ``json`` + ``pathlib``
|
|
21
|
-
|
|
20
|
+
This module is stdlib-only — ``json`` + ``pathlib`` — because the build
|
|
21
|
+
pipeline takes no new top-level dependency.
|
|
22
22
|
"""
|
|
23
23
|
|
|
24
24
|
from __future__ import annotations
|
|
@@ -64,7 +64,7 @@ _MARKER_REGEX = re.compile(rb"<adapt:(?:[A-Z_][A-Z0-9_]*|[a-z][a-z0-9-]*)>")
|
|
|
64
64
|
# `.apm/hook-wiring/` are already user-scope-refused by Rail B, so a
|
|
65
65
|
# marker check on them is unreachable. `seeds/` is already
|
|
66
66
|
# user-scope-refused by Rail A, so the marker rail's input never
|
|
67
|
-
# includes `seeds/`.
|
|
67
|
+
# includes `seeds/`. This list is fixed, not derived.
|
|
68
68
|
_MARKER_RAIL_DIRS = (".apm/skills", ".apm/agents", ".apm/commands")
|
|
69
69
|
|
|
70
70
|
# Cap per-file inspection size to keep Rail C bounded. A primitive file
|
|
@@ -511,8 +511,8 @@ def check_kiro_wiring(
|
|
|
511
511
|
# ---------------------------------------------------------------------------
|
|
512
512
|
# T-C2: kiro-ide-hook validate rail.
|
|
513
513
|
#
|
|
514
|
-
# Five refusal paths covering the validate rail
|
|
515
|
-
#
|
|
514
|
+
# Five refusal paths covering the validate rail for the `kiro-ide-hook`
|
|
515
|
+
# primitive:
|
|
516
516
|
#
|
|
517
517
|
# 1. Missing required field (`name`, `version`, `when.type`,
|
|
518
518
|
# `then.type`).
|
|
@@ -16,9 +16,9 @@ intact under dry-run too.
|
|
|
16
16
|
|
|
17
17
|
Marker resolution (`<adapt:NAME>` → discovery value) is the ONE place
|
|
18
18
|
install-time substitution happens — every other build mode copies
|
|
19
|
-
markers through unchanged
|
|
19
|
+
markers through unchanged. The
|
|
20
20
|
`.adapt-discovery.toml` *materialisation* lives in the
|
|
21
|
-
`adapt-to-project` skill, out of scope here.
|
|
21
|
+
`adapt-to-project` skill, out of scope here. This module ships only the
|
|
22
22
|
consumer.
|
|
23
23
|
|
|
24
24
|
Self-host scope:
|
|
@@ -306,10 +306,10 @@ TARGET_PATHS = (
|
|
|
306
306
|
# so `make build-self` only projects the in-house packs;
|
|
307
307
|
# `_aggregate_marketplace` applies the Claude-plugin route's publishability
|
|
308
308
|
# predicate. It previously ignored the pack filter on the rationale that "the
|
|
309
|
-
# catalogue advertises every pack";
|
|
310
|
-
#
|
|
311
|
-
#
|
|
312
|
-
#
|
|
309
|
+
# catalogue advertises every pack"; that rationale no longer holds. The route
|
|
310
|
+
# installs at user scope, so advertising a pack whose `allowed-scopes` forbids
|
|
311
|
+
# user scope offers an install it cannot honour — and once the dist branch
|
|
312
|
+
# drops the directory, the entry becomes a dangling fetch.
|
|
313
313
|
# Adapters outside this list (e.g. `kiro-ide`) are handled via the
|
|
314
314
|
# `preferred_adapter` override path in `_effective_adapters`.
|
|
315
315
|
_DEFAULT_SELF_HOST_ADAPTERS: tuple[str, ...] = ("claude-code", "codex")
|
|
@@ -678,7 +678,7 @@ EXCLUDED_PATTERNS: tuple[str, ...] = (
|
|
|
678
678
|
# projection contract. Pyc files embed the absolute source path so they
|
|
679
679
|
# can never be byte-identical across machines; excluding them prevents
|
|
680
680
|
# false-positive drift failures when a skill script is imported or run
|
|
681
|
-
# before build-check executes.
|
|
681
|
+
# before build-check executes.
|
|
682
682
|
"**/__pycache__/**",
|
|
683
683
|
)
|
|
684
684
|
|
|
@@ -765,7 +765,7 @@ def _project_seeds(
|
|
|
765
765
|
Returns a `{relative_target → source}` map for use by the drift
|
|
766
766
|
source-naming logic.
|
|
767
767
|
"""
|
|
768
|
-
# Two-pass design
|
|
768
|
+
# Two-pass design: build the full
|
|
769
769
|
# {relative → source} map and detect collisions *before* writing
|
|
770
770
|
# anything, so a collision-mid-real-write doesn't leave a partial
|
|
771
771
|
# projection on disk.
|
|
@@ -791,9 +791,8 @@ def _project_seeds(
|
|
|
791
791
|
# targets. They live in seeds so adopters can edit them;
|
|
792
792
|
# the Phase-2 composite-agents-md recipe consumes them
|
|
793
793
|
# by reading `packs/core/seeds/_agents-footer.md`
|
|
794
|
-
# directly.
|
|
795
|
-
#
|
|
796
|
-
# split.
|
|
794
|
+
# directly. By convention a leading underscore marks a
|
|
795
|
+
# source-only partial, so it gets no standalone projection.
|
|
797
796
|
if src.name.startswith("_"):
|
|
798
797
|
continue
|
|
799
798
|
relative = src.relative_to(seeds_dir)
|
|
@@ -884,8 +883,7 @@ def _aggregate_marketplace(
|
|
|
884
883
|
# marketplace add <owner>/<repo>` resolves — so it must apply the same
|
|
885
884
|
# predicate as the dist writer. The prior note here said this function
|
|
886
885
|
# "intentionally ignores the pack filter — the catalogue advertises
|
|
887
|
-
# every pack"; that
|
|
888
|
-
# docs/specs/claude-plugin-route-scope: advertising a pack whose
|
|
886
|
+
# every pack"; that no longer holds: advertising a pack whose
|
|
889
887
|
# allowed-scopes forbids user scope offers an install the route cannot
|
|
890
888
|
# honour, and leaves a dangling fetch once the branch drops it.
|
|
891
889
|
from agentbundle.build.main import pack_is_publishable
|
|
@@ -1008,7 +1006,7 @@ def _recreate_claude_symlink(output_root: Path, *, force_copy: bool = False) ->
|
|
|
1008
1006
|
pass
|
|
1009
1007
|
claude.unlink()
|
|
1010
1008
|
elif claude.exists():
|
|
1011
|
-
# Regular file at CLAUDE.md — replace with symlink
|
|
1009
|
+
# Regular file at CLAUDE.md — replace it with the symlink.
|
|
1012
1010
|
claude.unlink()
|
|
1013
1011
|
claude.symlink_to(desired_target)
|
|
1014
1012
|
return claude
|
|
@@ -1147,7 +1145,7 @@ def _emit_info_for_unclassified(
|
|
|
1147
1145
|
`[info]` lines for paths that are neither Projected nor Excluded.
|
|
1148
1146
|
|
|
1149
1147
|
Info-level — does not fail the build. Surfaces omissions so the
|
|
1150
|
-
next PR can classify them
|
|
1148
|
+
next PR can classify them. If the working
|
|
1151
1149
|
tree is not a git repo or git is unavailable, emits a single
|
|
1152
1150
|
warning rather than silently skipping classification — an operator
|
|
1153
1151
|
seeing "zero info lines" should not mis-attribute it to "fully
|
|
@@ -1307,10 +1305,10 @@ def diff_against_working_tree(
|
|
|
1307
1305
|
) -> list[str]:
|
|
1308
1306
|
"""Compare every file in `shadow` against the corresponding path in
|
|
1309
1307
|
`working_tree`. When `source_map` is provided, drift messages name
|
|
1310
|
-
the source path and regeneration command
|
|
1308
|
+
the source path and regeneration command
|
|
1311
1309
|
(`[drift] <projected>: edit <source>; run: make build-self`).
|
|
1312
1310
|
|
|
1313
|
-
|
|
1311
|
+
Strengthened beyond a plain byte comparison:
|
|
1314
1312
|
|
|
1315
1313
|
- **CRLF→LF normalisation** for text-like files (those that decode
|
|
1316
1314
|
as UTF-8). Binary content is compared byte-for-byte. A CRLF-on-
|
|
@@ -1488,7 +1486,7 @@ def run_self_host(
|
|
|
1488
1486
|
# Read `.adapt-discovery.toml` via the typed loader. Legacy
|
|
1489
1487
|
# `[adapt]` table, unknown `discovery-schema-version`, and any
|
|
1490
1488
|
# other invalid shape surface as `ConfigError` and refuse with
|
|
1491
|
-
# the `self-host: ` prefix
|
|
1489
|
+
# the `self-host: ` prefix.
|
|
1492
1490
|
from agentbundle.config import ConfigError, load_adapt_discovery_typed
|
|
1493
1491
|
|
|
1494
1492
|
try:
|
|
@@ -1576,7 +1574,7 @@ def run_self_host(
|
|
|
1576
1574
|
# credentialed consumers resolve via the `credbroker`
|
|
1577
1575
|
# pip library, not a vendored shim. The shim source survives only as
|
|
1578
1576
|
# the adapter-root-bins companion-shim projection source (below).
|
|
1579
|
-
#
|
|
1577
|
+
# Project adapter-root-bins/ into <working_tree>/.agentbundle/bin/
|
|
1580
1578
|
# with 0o755 on POSIX. Inter-pack basename collision raises
|
|
1581
1579
|
# ValueError; surface as self-host: <msg> and exit 5.
|
|
1582
1580
|
try:
|
|
@@ -1584,7 +1582,7 @@ def run_self_host(
|
|
|
1584
1582
|
except ValueError as exc:
|
|
1585
1583
|
print(f"self-host: {exc}", file=sys.stderr)
|
|
1586
1584
|
return 5
|
|
1587
|
-
#
|
|
1585
|
+
# Vendor the stdlib-base `credbroker` source
|
|
1588
1586
|
# to the per-scope lib floor (`<working_tree>/.agentbundle/lib/credbroker/`)
|
|
1589
1587
|
# and the catalogue-visible pack copy (`.apm/user-libs/credbroker/`). No-op
|
|
1590
1588
|
# outside the monorepo (package source absent — see user_libs docstring).
|
|
@@ -2074,7 +2072,7 @@ def _refuse_fixture_packs_dir(packs_dir: Path, *, dry_run: bool) -> int | None:
|
|
|
2074
2072
|
either alone:
|
|
2075
2073
|
|
|
2076
2074
|
* **Components.** A `tests` component followed anywhere by a `fixtures`
|
|
2077
|
-
component.
|
|
2075
|
+
component. The engine suite now lives at
|
|
2078
2076
|
`tests/build_pipeline/fixtures/`, where the two are no longer adjacent;
|
|
2079
2077
|
the original substring test missed that and failed *open*.
|
|
2080
2078
|
* **The historical substring.** `tests/fixtures/` anywhere in the path.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""Stdlib-only JSON-Schema subset validator.
|
|
2
2
|
|
|
3
|
-
The build pipeline depends on stdlib only
|
|
4
|
-
|
|
3
|
+
The build pipeline depends on stdlib only, so we cannot import a
|
|
4
|
+
JSON-Schema library. This module
|
|
5
5
|
ships this subset:
|
|
6
6
|
|
|
7
7
|
Supported keywords:
|
|
@@ -129,7 +129,7 @@ def resolve_git_ref(uri: str) -> str | None:
|
|
|
129
129
|
|
|
130
130
|
A missing ``@<ref>`` suffix resolves to ``"main"`` — the same default
|
|
131
131
|
``_resolve_https`` fetches against, so this is the one parse both the
|
|
132
|
-
fetch and the
|
|
132
|
+
fetch and the pin read, rather than two parses that could
|
|
133
133
|
disagree. A local path and the digest-bearing ``archive+https://`` and
|
|
134
134
|
``catalogue+https://`` schemes don't name a ref at all, so each of those
|
|
135
135
|
resolves to ``None``.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
This package provides the configuration schema, result types, and command
|
|
4
4
|
stubs for the agentbundle catalogue * and agentbundle lint packs CLI surface.
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
This package establishes the stable
|
|
7
7
|
contract layer between all modules.
|
|
8
8
|
"""
|
|
9
9
|
|