Skip to content

feat(agent-orchestration): adapter runtime wiring and review remediations#37

Merged
rita-aga merged 3 commits intostagingfrom
worktree-fluffy-sniffing-deer
Mar 15, 2026
Merged

feat(agent-orchestration): adapter runtime wiring and review remediations#37
rita-aga merged 3 commits intostagingfrom
worktree-fluffy-sniffing-deer

Conversation

@nerdsane
Copy link
Owner

@nerdsane nerdsane commented Mar 15, 2026

Summary

  • add Agent Orchestration OS app (HeartbeatRun, Organization, BudgetLedger), CSDL, and Cedar policy
  • add adapter runtime registry + dispatch wiring (claude_code, codex, openclaw, http_webhook)
  • register/install/verify the OS app in platform catalog and tests
  • add ADR 0031 for orchestration app/runtime direction
  • harden ignore rules for local worktree secret files (, )

Review Findings Addressed

  • remove plaintext secrets from tracked flow and prevent accidental re-track
  • fix spec persistence semantics by using writable fields for configured budget/max-turn values
  • fix usage accounting semantics in to accept cumulative token/cost totals instead of
  • honor scheduled during adapter dispatch (entity state takes precedence)

Validation

running 119 tests
test agent::tests::test_message_constructors ... ok
test bearer_auth::tests::constant_time_eq_works ... ok
test bootstrap::tests::test_agent_specs_count ... ok
test agent::tests::test_mock_client_fixed_response ... ok
test agent::tests::test_mock_client_empty_returns_default ... ok
test agent::tests::test_mock_client_sequential_responses ... ok
test bootstrap::tests::test_analysis_initial_state ... ok
test bootstrap::tests::test_agent_csdl_parses ... ok
test bootstrap::tests::test_entity_types_count ... ok
test bootstrap::tests::test_evolution_decision_initial_state ... ok
test bootstrap::tests::test_feature_request_initial_state ... ok
test bootstrap::tests::test_governance_decision_initial_state ... ok
test bootstrap::tests::test_insight_initial_state ... ok
test bootstrap::tests::test_observation_initial_state ... ok
test bootstrap::tests::test_problem_initial_state ... ok
test bootstrap::tests::test_project_initial_state ... ok
test bootstrap::tests::test_system_csdl_parses ... ok
test bootstrap::tests::test_agent_spec_entity_names ... ok
test bootstrap::tests::test_agent_specs_parse ... ok
test bootstrap::tests::test_system_spec_entity_names ... ok
test bootstrap::tests::test_tenant_initial_state ... ok
test bootstrap::tests::test_system_specs_parse ... ok
test agent::tests::test_claude_client_creation ... ok
test agent::tests::test_claude_client_with_model ... ok
test bootstrap::tests::test_agent_specs_verify ... ok
test bootstrap::tests::test_system_specs_verify ... ok
test bearer_auth::tests::no_token_configured_passes_all ... ok
test deploy::tests::test_deploy_pipeline_registers_tenant ... ok
test deploy::tests::test_deploy_pipeline_span_noop ... ok
test bootstrap::tests::test_bootstrap_agent_specs_registers_tenant ... ok
test evolution::agents::tests::test_analysis_agent_creation ... ok
test evolution::agents::tests::test_analysis_agent_with_mock ... ok
test evolution::agents::tests::test_observation_agent_creation ... ok
test evolution::agents::tests::test_observation_agent_with_mock ... ok
test evolution::agents::tests::test_system_prompts_are_non_empty ... ok
test deploy::tests::test_deploy_pipeline_empty_entities ... ok
test deploy::tests::test_deploy_bad_ioa_fails ... ok
test evolution::feedback::tests::test_collect_broadcasts_evolution_event ... ok
test deploy::tests::test_deploy_result_summary ... ok
test bearer_auth::tests::missing_auth_returns_401 ... ok
test deploy::tests::test_deploy_pipeline_success ... ok
test deploy::tests::test_deploy_pipeline_verification_results ... ok
test deploy::tests::test_deploy_pipeline_broadcasts_verify_status ... ok
test bearer_auth::tests::non_bearer_scheme_returns_401 ... ok
test bearer_auth::tests::health_check_passes_without_auth ... ok
test deploy::tests::test_deploy_multiple_entities ... ok
test bearer_auth::tests::valid_bearer_passes ... ok
test bearer_auth::tests::wrong_token_returns_401 ... ok
test hooks::tests::test_generate_cedar_permit_broad ... ok
test hooks::tests::test_generate_cedar_permit_medium ... ok
test hooks::tests::test_generate_cedar_permit_narrow ... ok
test integration::dead_letter::tests::test_enqueue_and_list ... ok
test integration::dead_letter::tests::test_remove_entry ... ok
test integration::registry::tests::empty_registry ... ok
test integration::dead_letter::tests::test_remove_out_of_bounds ... ok
test integration::registry::tests::lookup_returns_matching_configs ... ok
test integration::registry::tests::lookup_unknown_returns_empty ... ok
test integration::types::tests::backoff_caps_at_five_minutes ... ok
test integration::types::tests::backoff_exponential ... ok
test integration::types::tests::integration_config_serde_with_defaults ... ok
test integration::types::tests::integration_event_serialization_roundtrip ... ok
test integration::types::tests::retry_policy_defaults ... ok
test integration::types::tests::webhook_config_timeout_conversion ... ok
test bootstrap::tests::test_bootstrap_registers_new_entities ... ok
test bootstrap::tests::test_bootstrap_registers_system_tenant ... ok
test os_apps::tests::test_agent_orchestration_csdl_parses ... ok
test os_apps::tests::test_agent_orchestration_specs_parse ... ok
test os_apps::tests::test_agent_orchestration_specs_verify ... ok
test os_apps::tests::test_get_os_app_agent_orchestration ... ok
test os_apps::tests::test_get_os_app_nonexistent ... ok
test os_apps::tests::test_get_os_app_project_management ... ok
test optimization::tests::test_optimization_cycle_with_no_data ... ok
test optimization::tests::test_optimization_cycle_auto_applies_safe_recs ... ok
test hooks::tests::test_dispatch_generate_cedar_policy_missing_fields ... ok
test os_apps::tests::test_list_os_apps_returns_catalog ... ok
test optimization::tests::test_optimization_cycle_proposes_medium_risk ... ok
test hooks::tests::test_dispatch_unknown_effect_is_ok ... ok
test hooks::tests::test_dispatch_deploy_specs_no_store_entry ... ok
test evolution::feedback::tests::test_handle_approval_rejected ... ok
test os_apps::tests::test_pm_csdl_parses ... ok
test protocol::messages::tests::test_deploy_status_roundtrip ... ok
test os_apps::tests::test_pm_spec_entity_names ... ok
test protocol::messages::tests::test_error_roundtrip ... ok
test protocol::messages::tests::test_evolution_event_roundtrip ... ok
test os_apps::tests::test_pm_specs_parse ... ok
test protocol::messages::tests::test_optimization_applied_roundtrip ... ok
test protocol::messages::tests::test_optimization_proposed_roundtrip ... ok
test protocol::messages::tests::test_tenant_registered_roundtrip ... ok
test protocol::messages::tests::test_verify_status_roundtrip ... ok
test os_apps::tests::test_install_agent_orchestration_registers_entities ... ok
test evolution::feedback::tests::test_multiple_unmet_intents ... ok
test router::tests::test_get_observe_os_apps_returns_200 ... ok
test router::tests::test_get_os_apps_returns_200 ... ok
test router::tests::test_install_os_app_nonexistent_returns_404 ... ok
test evolution::feedback::tests::test_evolution_collect_span_noop ... ok
test spec_store::tests::overwrite_existing_tenant ... ok
test spec_store::tests::remove_clears_entry ... ok
test spec_store::tests::store_and_retrieve ... ok
test router::tests::test_healthz_route_returns_200 ... ok
test os_apps::tests::test_install_os_app_nonexistent_returns_error ... ok
test evolution::feedback::tests::test_collect_insight_links_to_observation ... ok
test evolution::feedback::tests::test_handle_approval_approved ... ok
test evolution::feedback::tests::test_collect_creates_insight ... ok
test evolution::feedback::tests::test_collect_creates_observation ... ok
test bearer_auth::tests::tdata_subpath_requires_auth ... ok
test state::tests::test_broadcast_no_receivers_does_not_panic ... ok
test state::tests::test_with_registry ... ok
test state::tests::test_new_with_api_key ... ok
test state::tests::test_broadcast_and_subscribe ... ok
test state::tests::test_new_state ... ok
test router::tests::test_old_routes_gone ... ok
test evolution::feedback::tests::test_collect_classifies_as_unmet ... ok
test state::tests::test_multiple_subscribers ... ok
test router::tests::test_unknown_route_returns_404 ... ok
test router::tests::test_tdata_routes_accessible ... ok
test os_apps::tests::test_pm_specs_verify ... ok
test os_apps::tests::test_install_os_app_registers_entities ... ok
test os_apps::tests::test_os_app_install_survives_restart ... ok
test router::tests::test_install_os_app_project_management ... ok

test result: ok. 119 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 7.28s

running 3 tests
test e2e_compile_first_order_lifecycle ... ok
test e2e_compile_first_system_and_user_coexist ... ok
test e2e_compile_first_two_tenants ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.53s

running 9 tests
test spec_with_integrations_in_entity_spec ... ok
test parsed_integrations_populate_registry ... ok
test verification_cascade_passes_with_integrations ... ok
test engine_process_event_skips_unmatched ... ok
test webhook_dispatcher_custom_headers ... ok
test webhook_dispatcher_success ... ok
test engine_process_event_dispatches_matching ... ok
test webhook_dispatcher_sends_json_body ... ok
test webhook_dispatcher_retries_on_failure ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s

running 6 tests
test e2e_project_lifecycle_via_dispatch ... ok
test e2e_tenant_lifecycle_via_dispatch ... ok
test e2e_http_metadata_shows_system_entities ... ok
test e2e_bootstrap_visible_to_dispatch ... ok
test e2e_full_platform_scenario ... ok
test e2e_http_project_lifecycle ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.81s

running 12 tests
test codegen_tenant_has_project_reference ... ok
test codegen_project_has_typed_fields ... ok
test codegen_system_entities_produce_valid_modules ... ok
test actor_version_lifecycle ... ok
test actor_collaborator_invite_accept_remove ... ok
test actor_project_verify_requires_building_state ... ok
test actor_tenant_cannot_deploy_archived ... ok
test actor_tenant_full_lifecycle ... ok
test actor_project_full_lifecycle ... ok
test actor_catalog_publish_and_fork ... ok
test actor_project_starts_in_created ... ok
test actor_multiple_system_entities_independent ... ok

test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

running 33 tests
test random_collaborator_heavy_faults ... ok
test random_catalog_heavy_faults ... ok
test random_project_heavy_faults ... ok
test random_all_system_entities_no_faults ... ok
test random_all_entities_heavy_faults ... ok
test random_project_light_faults ... ok
test scripted_catalog_fork_stays_published ... ok
test scripted_catalog_publish_and_deprecate ... ok
test scripted_collaborator_invite_accept_remove ... ok
test random_tenant_no_faults_seed_42 ... ok
test random_project_no_faults_seed_42 ... ok
test random_tenant_heavy_faults ... ok
test scripted_collaborator_remove_before_accept ... ok
test random_tenant_light_faults ... ok
test scripted_project_archive_from_any_state ... ok
test scripted_project_starts_in_created ... ok
test scripted_project_full_lifecycle ... ok
test scripted_tenant_cannot_suspend_pending ... ok
test scripted_project_cannot_verify_without_specs ... ok
test scripted_platform_control_plane_scenario ... ok
test scripted_version_full_lifecycle ... ok
test scripted_tenant_suspend_resume_cycle ... ok
test scripted_tenant_full_lifecycle ... ok
test random_version_heavy_faults ... ok
test multi_seed_sweep_tenants ... ok
test determinism_canary_different_seeds_differ ... ok
test determinism_proof_different_seeds_differ ... ok
test multi_seed_sweep_projects ... ok
test random_all_entities_heavy_faults_multi_seed ... ok
test random_all_entities_light_faults_multi_seed ... ok
test determinism_proof_seed_1337 ... ok
test determinism_proof_seed_42 ... ok
test determinism_canary_comprehensive ... ok

test result: ok. 33 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.61s

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

running 185 tests
test authz::helpers::tests::extract_temper_headers_empty ... ok
test authz::wasm_gate::tests::permissive_gate_allows_all ... ok
test authz::helpers::tests::extract_temper_headers_case_insensitive ... ok
test authz::helpers::tests::extract_temper_headers_filters_correctly ... ok
test authz::wasm_gate::tests::build_security_context_from_wasm_ctx ... ok
test authz::helpers::tests::security_context_from_headers_preserves_principal_attrs_from_http_headers ... ok
test authz::helpers::tests::security_context_from_headers_preserves_agent_type_from_http_header ... ok
test adapters::tests::lookup_returns_registered_adapter ... ok
test adapters::tests::builtins_are_registered ... ok
test entity_actor::effects::tests::test_spawn_effect_collects_requests ... ok
test entity_actor::sim_handler::tests::handler_add_item_then_submit ... ok
test entity_actor::effects::tests::test_apply_effects_returns_scheduled_actions_tuple ... ok
test entity_actor::effects::tests::test_cross_entity_guard_with_xref ... ok
test entity_actor::effects::tests::test_process_action_returns_scheduled_actions ... ok
test entity_actor::actor::tests::dst_entity_starts_in_initial_state ... ok
test entity_actor::actor::tests::dst_cannot_submit_without_items ... ok
test entity_actor::actor::tests::dst_cancel_from_draft ... ok
test entity_actor::actor::tests::dst_full_order_lifecycle ... ok
test entity_actor::actor::tests::dst_add_item_then_submit ... ok
test entity_actor::actor::tests::dst_multiple_actors_independent ... ok
test entity_actor::types::tests::default_spec_governed_is_true ... ok
test entity_actor::types::tests::entity_response_spec_governed_skipped_when_true ... ok
test entity_actor::types::tests::entity_state_defaults_on_missing_fields ... ok
test entity_actor::types::tests::is_true_helper ... ok
test entity_actor::types::tests::entity_response_spec_governed_default ... ok
test events::tests::entity_state_change_serializes ... ok
test eventual_invariants::tests::tracker_increment_and_exhaust ... ok
test entity_actor::sim_handler::tests::handler_valid_actions_after_add_item ... ok
test entity_actor::actor::tests::dst_cannot_cancel_shipped_order ... ok
test entity_actor::types::tests::entity_state_round_trip ... ok
test eventual_invariants::tests::tracker_record_and_resolve ... ok
test eventual_invariants::tests::tracker_due_for_recheck ... ok
test idempotency::tests::get_missing_returns_none ... ok
test entity_actor::sim_handler::tests::handler_starts_in_draft ... ok
test idempotency::tests::different_actors_isolated ... ok
test idempotency::tests::put_then_get_returns_cached ... ok
test entity_actor::sim_handler::tests::handler_without_ioa_invariants_returns_empty ... ok
test entity_actor::sim_handler::tests::handler_cannot_submit_empty ... ok
test entity_actor::sim_handler::tests::handler_valid_actions_from_draft ... ok
test odata::read_support::tests::default_pagination_applies_when_top_missing_and_no_filter_orderby ... ok
test odata::read_support::tests::explicit_skip_top_are_applied_before_materialization ... ok
test query_eval::tests::test_contains_function ... ok
test query_eval::tests::test_filter_eq ... ok
test odata::read_support::tests::hard_cap_limits_materialization_and_filter_orderby_path_sets_default_top ... ok
test query_eval::tests::test_apply_query_options_combined ... ok
test query_eval::tests::test_find_fk_resolution_forward ... ok
test query_eval::tests::test_find_fk_resolution_no_edge ... ok
test query_eval::tests::test_filter_gt ... ok
test query_eval::tests::test_find_fk_resolution_reverse ... ok
test query_eval::tests::test_orderby_asc ... ok
test query_eval::tests::test_orderby_desc ... ok
test query_eval::tests::test_select_fields ... ok
test reaction::registry::tests::lookup_combines_exact_and_wildcard ... ok
test reaction::registry::tests::lookup_exact_match ... ok
test reaction::registry::tests::lookup_no_match_wrong_entity ... ok
test reaction::registry::tests::lookup_state_filter_excludes_non_matching ... ok
test reaction::registry::tests::lookup_wildcard_match ... ok
test reaction::registry::tests::lookup_wrong_tenant_returns_empty ... ok
test reaction::registry::tests::parse_reactions_empty_file ... ok
test reaction::registry::tests::parse_reactions_unknown_resolver_type ... ok
test reaction::registry::tests::parse_reactions_missing_resolver_field ... ok
test reaction::registry::tests::parse_reactions_all_resolver_types ... ok
test reaction::resolver::tests::create_if_missing_derives_when_absent ... ok
test reaction::resolver::tests::create_if_missing_uses_field_when_present ... ok
test reaction::resolver::tests::field_resolver_extracts_from_fields ... ok
test reaction::registry::tests::budget_assertion_on_too_many_rules - should panic ... ok
test reaction::resolver::tests::field_resolver_returns_none_when_missing ... ok
test reaction::resolver::tests::same_id_returns_source ... ok
test reaction::resolver::tests::static_returns_configured_id ... ok
test reaction::registry::tests::parse_reactions_valid_toml ... ok
test reaction::types::tests::target_resolver_variants_serialize ... ok
test entity_actor::sim_handler::tests::handler_with_ioa_invariants_parses_spec ... ok
test registry::relations::tests::nav_target_collection_simple ... ok
test registry::relations::tests::nav_target_collection_type ... ok
test registry::relations::tests::nav_target_qualified_type ... ok
test registry::relations::tests::nav_target_simple_type ... ok
test registry::relations::tests::nav_target_whitespace_trimmed ... ok
test reaction::types::tests::reaction_rule_serializes_roundtrip ... ok
test registry::tests::remove_nonexistent_tenant_returns_false ... ok
test authz::wasm_gate::tests::cedar_gate_denies_without_policies ... ok
test registry::tests::unknown_tenant_returns_none ... ok
test registry::types::tests::registry_error_display_cross_invariant ... ok
test authz::wasm_gate::tests::cedar_gate_allows_with_matching_policy ... ok
test authz::wasm_gate::tests::cedar_gate_denies_wrong_module ... ok
test registry::types::tests::registry_error_display_ioa_parse ... ok
test registry::types::tests::registry_error_equality ... ok
test registry::types::tests::registry_error_ne_different_variant ... ok
test registry::types::tests::relation_graph_default_empty ... ok
test registry::types::tests::verification_detail_serde ... ok
test registry::types::tests::verification_result_serde_roundtrip ... ok
test registry_bootstrap::tests::row_to_registry_status_failed ... ok
test registry_bootstrap::tests::row_to_registry_status_passed ... ok
test registry_bootstrap::tests::row_to_registry_status_pending ... ok
test registry_bootstrap::tests::row_to_registry_status_running ... ok
test authz::wasm_gate::tests::cedar_gate_secret_with_matching_policy ... ok
test request_context::tests::extract_agent_context_empty_values ... ok
test request_context::tests::extract_agent_context_missing_headers ... ok
test request_context::tests::extract_agent_context_principal_and_session ... ok
test request_context::tests::extract_agent_context_ignores_anonymous_principal ... ok
test response::tests::odata_error_format ... ok
test response::tests::odata_error_custom_status ... ok
test response::tests::odata_json_response_headers ... ok
test registry::tests::spec_metadata_accessible ... ok
test response::tests::odata_stream_response_no_etag ... ok
test response::tests::odata_xml_response_headers ... ok
test response::tests::odata_stream_response_headers ... ok
test registry::tests::entity_types_for_tenant ... ok
test registry::tests::transition_table_is_functional ... ok
test registry::tests::tenant_ids_listed ... ok
test registry::tests::remove_tenant_succeeds ... ok
test registry::tests::register_and_lookup_tenant ... ok
test registry::tests::multiple_tenants_isolated ... ok
test registry::tests::replace_removes_entities_not_in_new_spec_set ... ok
test registry::tests::merge_preserves_existing_entities_and_entity_set_map ... ok
test idempotency::tests::budget_evicts_oldest ... ok
test router::tests::test_entity_set_listing ... ok
test router::tests::test_odata_version_header ... ok
test router::tests::test_post_body_used_for_entity_creation ... ok
test router::tests::test_patch_updates_entity ... ok
test router::tests::test_post_bound_action ... ok
test router::tests::test_old_odata_path_returns_404 ... ok
test router::tests::test_entity_by_key_not_found ... ok
test router::tests::test_cors_header_present ... ok
test secrets::template::tests::missing_secret_left_as_is ... ok
test secrets::template::tests::multiple_templates_in_one_value ... ok
test router::tests::test_navigation_property_not_found_returns_404 ... ok
test secrets::template::tests::nested_and_malformed_patterns_dont_panic ... ok
test secrets::template::tests::no_templates_passthrough ... ok
test secrets::template::tests::template_with_valid_secret_resolves ... ok
test secrets::template::tests::wrong_tenant_does_not_resolve ... ok
test secrets::vault::tests::cache_and_retrieve ... ok
test secrets::vault::tests::budget_enforcement ... ok
test secrets::vault::tests::different_nonce_per_encryption ... ok
test secrets::vault::tests::encrypt_decrypt_round_trip ... ok
test secrets::vault::tests::get_tenant_secrets_for_wasm ... ok
test secrets::vault::tests::invalid_nonce_length_fails ... ok
test secrets::vault::tests::remove_secret_works ... ok
test secrets::vault::tests::list_keys_returns_names_only ... ok
test state::policy_suggestions::tests::grouped_suggestion_replaces_individual ... ok
test state::policy_suggestions::tests::mixed_grouped_and_individual ... ok
test state::policy_suggestions::tests::no_agent_type_suggestions ... ok
test state::policy_suggestions::tests::no_suggestions_below_threshold ... ok
test state::policy_suggestions::tests::per_action_suggestion_at_threshold ... ok
test state::wasm_invocation_log::tests::empty_log ... ok
test state::wasm_invocation_log::tests::evicts_oldest_at_capacity ... ok
test state::wasm_invocation_log::tests::push_and_read ... ok
test wasm_registry::tests::all_builtins_listed ... ok
test wasm_registry::tests::modules_for_tenant_lists_correctly ... ok
test wasm_registry::tests::register_and_lookup ... ok
test wasm_registry::tests::remove_module ... ok
test wasm_registry::tests::tenant_isolation ... ok
test router::tests::test_unknown_entity_set_returns_404 ... ok
test router::tests::test_temper_client_script_alias_served ... ok
test router::tests::test_temper_client_script_served ... ok
test state::persistence::logs_and_secrets::tests::turso_secret_operations_are_explicitly_unsupported ... ok
test webhooks::dispatcher::tests::env_var_expansion_unknown_var_becomes_empty ... ok
test router::tests::test_service_document ... ok
test router::tests::test_sse_events_lagged_receiver_continues ... ok
test router::tests::test_metadata_endpoint ... ok
test router::tests::test_delete_nonexistent_returns_404 ... ok
test router::tests::test_entity_by_key_found ... ok
test router::tests::test_post_entity_creation ... ok
test router::tests::test_sse_events_endpoint_delivers_state_changes ... ok
test webhooks::dispatcher::tests::template_expansion_all_vars ... ok
test webhooks::dispatcher::tests::template_expansion_missing_statuses_become_empty ... ok
test router::tests::test_patch_nonexistent_returns_404 ... ok
test webhooks::dispatcher::tests::template_expansion_no_placeholders ... ok
test router::tests::test_navigation_property_single_entity ... ok
test webhooks::receiver::tests::webhook_extracts_query_params ... ok
test router::tests::test_delete_removes_entity ... ok
test router::tests::test_entity_set_returns_created_entities ... ok
test webhooks::receiver::tests::webhook_unknown_path_returns_404 ... ok
test webhooks::receiver::tests::webhook_missing_entity_id_returns_400 ... ok
test webhooks::receiver::tests::webhook_dispatches_action ... ok
test webhooks::dispatcher::tests::parse_empty_webhooks_file ... ok
test webhooks::dispatcher::tests::on_success_only_rejects_failed_actions ... ok
test webhooks::dispatcher::tests::env_var_expansion_in_headers ... ok
test webhooks::dispatcher::tests::action_filter_allows_listed_actions ... ok
test webhooks::dispatcher::tests::on_success_only_defaults_to_true ... ok
test webhooks::dispatcher::tests::action_filter_empty_matches_all ... ok
test webhooks::dispatcher::tests::entity_type_filter_allows_listed_types ... ok
test webhooks::dispatcher::tests::parse_multiple_webhooks ... ok
test webhooks::dispatcher::tests::integration_failed_action_not_dispatched_by_default ... ok
test webhooks::dispatcher::tests::integration_webhook_reaches_mock_server ... ok
test webhooks::dispatcher::tests::integration_webhook_failure_does_not_panic ... ok

test result: ok. 185 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 23.12s

running 4 tests
test wasm_missing_module_dispatches_failure_callback ... ok
test wasm_integration_dispatches_callback ... ok
test wasm_authz_denial_records_governance_artifacts_blocking_mode ... ok
test wasm_authz_denial_records_governance_artifacts_async_mode ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 8.47s

running 3 tests
test adapter_integration_uses_entity_adapter_type_over_static_config ... ok
test adapter_integration_dispatches_success_callback_inline ... ok
test adapter_integration_dispatches_failure_callback_inline ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 42.76s

  • pre-push gates passed: rustfmt, clippy, readability ratchet, full workspace tests

@rita-aga rita-aga merged commit a8560d1 into staging Mar 15, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants