Orchestrata Ultimate › Tests › Reference › gateway › handlers

Tests reference — tests/gateway/handlers

tests/gateway/handlers — 19 test modules, 283 test functions. Source tree: tests/gateway/handlers at commit 8a2cb42ad. Generated from the tests AST snapshot by scripts/gen-data-pages.py.

Prose pending.

Modules

Module Tests Covers
test_auth.py 4 4
test_config.py 6 10
test_cxp.py 31 11
test_cxp_kernel_dispatch.py 1 8
test_fireflies.py 16 3
test_governance.py 14 4
test_knowledge.py 44 12
test_memory.py 6 3
test_orchestrator_kernel_dispatch.py 10 8
test_policy_gate.py 5 5
test_projects.py 31 3
test_scope_guard.py 3 4
test_session.py 37 5
test_state.py 18 3
test_test_metrics_handler.py 8 4
test_ultimatetui.py 19 3
test_volk.py 23 6
test_workflow.py 7 13

Module details

tests/gateway/handlers/test_auth.py

source · 4 tests · 79 lines

Tests for gateway.handlers.auth.

Covers: gateway.auth, gateway.config, gateway.handlers.auth, gateway.handlers.gateway

Kind Name Line Description
class TestAuthHandler 28
method TestAuthHandler.test_handle_authenticate_valid_token 29
method TestAuthHandler.test_handle_authenticate_invalid_token_rejected 48
method TestAuthHandler.test_tokenless_rejected_by_default 54
method TestAuthHandler.test_tokenless_allowed_when_anonymous_enabled 59

tests/gateway/handlers/test_config.py

source · 6 tests · 266 lines

Tests for gateway.handlers.config -- ConfigHandler (SPEC-014

Covers: core.base.traces, core.redis_factory, gateway.audit, gateway.protocol, gateway.pubsub, gateway.ring_buffer, gateway.rpc, gateway.runtime_config, gateway.server, gateway.session

Kind Name Line Description
function test_config_get_returns_runtime_config 68 REQ-014-081: config.get returns the runtime-settings dict; values
function test_config_get_with_path_selects_subtree 95 REQ-014-082: a dotted path selects only that leaf; a path matching
function test_config_secrets_redacted 127 REQ-014-083: a secret-patterned key shows '***' in config.get while
function test_config_response_includes_last_updated 173 REQ-014-084: config.get's last_updated is the most recent _touch
function test_config_set_rejected_via_gateway 203 REQ-014-085/D6: config.set always returns the structured
function test_config_watch_broadcasts_change 227 REQ-014-081: config.watch subscribes the connection to config.changed;

tests/gateway/handlers/test_cxp.py

source · 31 tests · 527 lines

Covers: cxp.proto_codec, cxp.transport, gateway.audit, gateway.exceptions, gateway.handlers.cxp, gateway.handlers.orchestrator, gateway.protocol, gateway.pubsub, gateway.ring_buffer, gateway.rpc, gateway.session

Kind Name Line Description
function test_handle_send_success 104
function test_handle_send_missing_target 115
function test_handle_send_empty_payload 122
function test_handle_send_accepts_client_contract 129
function test_handle_subscribe 154
function test_handle_subscribe_no_filters 162
function test_handle_unsubscribe 169
function test_handle_unsubscribe_not_found 179
function test_handle_unsubscribe_missing_id 185
function test_handle_unsubscribe_camelcase_id 192
function test_handle_status 205
function test_handle_status_missing_id 213
function test_handle_status_camelcase_id 220
function test_handle_status_reflects_sent_traffic 226
function test_set_processor 250
function test_set_orchestrator_handler_wires_pubsub 266
function test_handle_send_non_dict_payload_defaults_to_empty 282
function test_handle_send_concierge_chat_broadcasts_via_processor_and_orchestrator 291
function test_build_unavailable_reply_is_machine_detectable_and_not_fabricated 334
function test_maybe_reply_concierge_without_kernel_reports_unavailable 352
function test_maybe_reply_concierge_kernel_dispatch_failure_reports_unavailable 371
function test_record_event_ignores_packet_without_thread_id 395
function test_record_event_caps_events_per_thread 400
function test_record_event_evicts_oldest_thread_over_capacity 409
function test_handle_send_non_dict_payload_resets_to_empty 426
function test_handle_send_broadcasts_via_processor 435
function test_concierge_chat_round_trip_reports_unavailable_without_kernel 444
function test_kernel_dispatch_failure_reports_unavailable 473
function test_publish_traffic_without_thread_id_is_a_noop 501
function test_publish_traffic_truncates_long_event_history 507
function test_publish_traffic_evicts_oldest_thread_past_max_tracked 519

tests/gateway/handlers/test_cxp_kernel_dispatch.py

source · 1 tests · 95 lines

Covers: agents.kernel_handler, cxp.proto_codec, cxp.servicer, cxp.transport, gateway.handlers.cxp, gateway.pubsub, kernel.pipeline, core.packet/ (package)

Kind Name Line Description
function test_cxp_chat_dispatches_to_kernel_with_correlated_thread 64

tests/gateway/handlers/test_fireflies.py

source · 16 tests · 261 lines

Tests for gateway.handlers.fireflies.

Covers: gateway.handlers.fireflies, integrations.fireflies_client, core.graph/ (package)

Kind Name Line Description
class TestFirefliesHandler 33
method TestFirefliesHandler.test_handle_transcripts_defaults 55
method TestFirefliesHandler.test_handle_transcripts_with_pagination 62
method TestFirefliesHandler.test_handle_transcript 67
method TestFirefliesHandler.test_handle_transcript_no_id 74
method TestFirefliesHandler.test_handle_search_defaults 78
method TestFirefliesHandler.test_handle_search_with_params 86
method TestFirefliesHandler.test_handle_summary 94
method TestFirefliesHandler.test_handle_summary_no_id 103
method TestFirefliesHandler.test_init 107
method TestFirefliesHandler.test_handle_health_no_api_key 111
method TestFirefliesHandler.test_handle_health_success 116
method TestFirefliesHandler.test_handle_health_failure 140
method TestFirefliesHandler.test_handle_health_uses_cached_client 154
method TestFirefliesHandler.test_handle_sync_no_repo 179
method TestFirefliesHandler.test_handle_sync_invalid_limit 184
method TestFirefliesHandler.test_handle_sync_success 199

tests/gateway/handlers/test_governance.py

source · 14 tests · 403 lines

Tests for gateway.handlers.governance — real PubSubManager, no doubles.

Covers: core.graph.adapters.bolt_async, gateway.handlers.governance, gateway.pubsub, governance.policy_engine

Kind Name Line Description
class TestGovernanceHandler 101
method TestGovernanceHandler.test_handle_decisions 102
method TestGovernanceHandler.test_handle_query 108
method TestGovernanceHandler.test_handle_evaluate 113
method TestGovernanceHandler.test_handle_rules 119
method TestGovernanceHandler.test_handle_rules_lists_articles_with_factory 124
method TestGovernanceHandler.test_resolve_engine_factory_failure_does_not_retry 141
method TestGovernanceHandler.test_handle_query_neo4j_error 164
method TestGovernanceHandler.test_handle_query_skips_non_matching_status_and_bad_json 187
method TestGovernanceHandler.test_handle_query_returns_seeded_decision 251
method TestGovernanceHandler.test_set_policy_engine_factory_init_failure_falls_back_to_stub 283
method TestGovernanceHandler.test_handle_query_closed_driver_returns_error 304
method TestGovernanceHandler.test_handle_query_black_hole_driver_times_out 313
method TestGovernanceHandler.test_handle_query_malformed_json_falls_back_to_raw_data 321
method TestGovernanceHandler.test_handle_query_status_filter_skips_non_matching 355

tests/gateway/handlers/test_knowledge.py

source · 44 tests · 784 lines

Tests for gateway.handlers.knowledge — real graph, no doubles.

Covers: core.graph.adapters.bolt_async, core.graph_factory, gateway.audit, gateway.config, gateway.exceptions, gateway.handlers.knowledge, gateway.pubsub, gateway.ring_buffer, gateway.rpc, gateway.session, knowledge_graph.graph_client, knowledge_graph.query_engine

Kind Name Line Description
class TestSetGraphRepository 164 KnowledgeHandler.set_graph_repository -- late repository injection.
method TestSetGraphRepository.test_set_graph_repository_replaces_repository_and_is_usable 168
class TestHandleQuery 181 KnowledgeHandler.handle_query -- read-only Cypher execution.
method TestHandleQuery.test_missing_query_raises 185
method TestHandleQuery.test_empty_query_raises 191
method TestHandleQuery.test_mutation_query_raises 197
method TestHandleQuery.test_without_driver_returns_empty_records 203
method TestHandleQuery.test_with_driver_returns_real_records 209
method TestHandleQuery.test_with_broken_driver_raises_rpc_error 217
method TestHandleQuery.test_with_black_hole_driver_times_out 225
class TestHandleNodes 235 KnowledgeHandler.handle_nodes -- list nodes by type.
method TestHandleNodes.test_missing_node_type_raises 239
method TestHandleNodes.test_invalid_node_type_raises 245
method TestHandleNodes.test_without_driver_returns_empty_nodes 251
method TestHandleNodes.test_with_driver_unwraps_node_properties 257
method TestHandleNodes.test_with_black_hole_driver_times_out 278
class TestHandleRelationships 288 KnowledgeHandler.handle_relationships -- list relationships by type.
method TestHandleRelationships.test_missing_rel_type_raises 292
method TestHandleRelationships.test_invalid_rel_type_raises 298
method TestHandleRelationships.test_without_driver_returns_empty_relationships 304
method TestHandleRelationships.test_with_driver_returns_real_relationships 310
method TestHandleRelationships.test_with_black_hole_driver_times_out 332
class TestHandleCoverageHistory 342 KnowledgeHandler.handle_coverage_history -- sparkline history.
method TestHandleCoverageHistory.test_without_driver_returns_empty_history 346
method TestHandleCoverageHistory.test_with_driver_returns_date_value_rows 352
method TestHandleCoverageHistory.test_with_driver_limit_is_capped_at_100 364
method TestHandleCoverageHistory.test_with_driver_respects_small_limit 372
method TestHandleCoverageHistory.test_with_broken_driver_raises_rpc_error 380
method TestHandleCoverageHistory.test_with_black_hole_driver_times_out 388
class TestHandleRtmProgress 398 KnowledgeHandler.handle_rtm_progress -- requirements traceability %.
method TestHandleRtmProgress.test_without_driver_returns_zeroed_result 402
method TestHandleRtmProgress.test_with_driver_computes_percentage_from_real_counts 408
method TestHandleRtmProgress.test_with_broken_driver_raises_rpc_error 423
method TestHandleRtmProgress.test_with_black_hole_driver_times_out 431
class TestHandleNodesGenericFailure 441 handle_nodes' generic except Exception branch, real auth failure.
method TestHandleNodesGenericFailure.test_broken_driver_raises_rpc_error 445
class TestHandleRelationshipsGenericFailure 453 handle_relationships' generic except Exception branch, real auth failure.
method TestHandleRelationshipsGenericFailure.test_broken_driver_raises_rpc_error 457
class TestHandleVolkWorkContext 539 KnowledgeHandler.handle_volk_work_context -- SPEC-008 volk context.
method TestHandleVolkWorkContext.test_missing_volk_raises 543
method TestHandleVolkWorkContext.test_without_query_engine_returns_degraded_shape 550
method TestHandleVolkWorkContext.test_with_seeded_graph_returns_real_work_context 562
method TestHandleVolkWorkContext.test_with_black_hole_driver_times_out 587
method TestHandleVolkWorkContext.test_with_closed_driver_raises_rpc_error 599 A driver that connected fine, then was closed out from under the
class TestHandleComponentWorkContext 622 KnowledgeHandler.handle_component_work_context -- SPEC-008 flagship
method TestHandleComponentWorkContext.test_missing_volk_raises 627
method TestHandleComponentWorkContext.test_missing_component_raises 636
method TestHandleComponentWorkContext.test_without_query_engine_returns_degraded_shape 643
method TestHandleComponentWorkContext.test_with_seeded_graph_returns_real_component_context 659
method TestHandleComponentWorkContext.test_with_black_hole_driver_times_out 687
method TestHandleComponentWorkContext.test_with_closed_driver_raises_rpc_error 701 See TestHandleVolkWorkContext's identical test for the rationale:
class TestNewMethodsRegistered 724 Backlog #140: the four newly-wired knowledge.* RPC methods are
method TestNewMethodsRegistered.test_new_methods_registered_and_bound 729
class TestQueryEngineEnsureConnected 761 QueryEngine.ensure_connected -- the lazy-connect wiring seam the
method TestQueryEngineEnsureConnected.test_no_client_returns_false 767
method TestQueryEngineEnsureConnected.test_already_connected_returns_true_without_reconnecting 774

tests/gateway/handlers/test_memory.py

source · 6 tests · 124 lines

SPEC-010 gateway wiring: memory.* RPC methods reach the real MemoryEngine.

Covers: gateway.exceptions, gateway.handlers.memory, memory.memory_engine

Kind Name Line Description
function test_id 29
function test_store_then_retrieve 46
function test_search_finds_stored_memory 61
function test_delete_removes_entry 76
function test_store_requires_content_and_session 89
function test_handler_lazily_builds_default_engine 96

tests/gateway/handlers/test_orchestrator_kernel_dispatch.py

source · 10 tests · 240 lines

Covers: agents.kernel_handler, cxp.proto_codec, cxp.servicer, cxp.transport, gateway.handlers.orchestrator, gateway.pubsub, kernel.pipeline, core.packet/ (package)

Kind Name Line Description
function test_handle_intent_task_only_without_kernel 68
function test_handle_intent_dispatches_to_live_kernel 77
function test_set_pubsub_injects_manager 106
function test_handle_intent_kernel_dispatch_exception_falls_back_to_task_only 114 A real CXP client pointed at an unreachable port (connection refused)
function test_subscribe_pipeline_subscribes_real_pubsub_manager 134 A real PubSubManager subscription succeeds -- exercises the try body
function test_subscribe_pipeline_swallows_subscribe_exception 146 An empty connection_id makes the real PubSubManager.subscribe() raise
function test_subscribe_pipeline_noop_without_pubsub 156
function test_subscribe_pipeline_noop_without_thread_id 162
function test_handle_intent_stamps_reply_to_when_consumer_id_set 169 P-B6 (design D6, mirrors CxpHandler's P-B3): once
function test_handle_intent_omits_metadata_without_consumer_id 207 Legacy shape preserved: without set_reply_consumer_id, the CXPPacket

tests/gateway/handlers/test_policy_gate.py

source · 5 tests · 145 lines

Tests for gateway.handlers._policy_gate -- PolicyGate (SPEC-014

Covers: gateway.exceptions, gateway.handlers._policy_gate, governance.policy_engine, governance.prolog_client, infra.prolog_bridge

Kind Name Line Description
function test_check_permissive_when_no_factory_wired 33
function test_check_returns_decision_when_engine_allows 41 A real PolicyEngine over the REAL, consulted governance rule base
function test_check_denies_blocked_pair_and_raises_rpcerror 78 An explicitly blocked (agent, action) pair denies via the REAL rule
function test_check_evaluation_error_raises_rpcerror 111 A real object whose evaluate() raises drives PolicyGate.check's own
function test_resolve_engine_factory_failure_does_not_retry 127 A factory that genuinely fails to build the engine (a real TypeError

tests/gateway/handlers/test_projects.py

source · 31 tests · 536 lines

Covers: core.graph.adapters.bolt_async, gateway.handlers.projects, gateway.handlers.utils

Kind Name Line Description
function test_projects_handler_init_none 96
function test_projects_handler_set_graph_repository 101
function test_handle_list_no_neo4j 117
function test_handle_get_missing_name 124
function test_handle_get_no_neo4j 130
function test_handle_tasks_no_neo4j 136
function test_handle_task_create_no_neo4j 143
function test_neo4j_value_to_dict_plain 154
function test_neo4j_value_to_dict_with_items 159
function test_neo4j_value_to_dict_node 164
function test_neo4j_value_to_dict_relationship 178
function test_neo4j_value_to_dict_path 194
function test_handle_list_with_real_neo4j 218
function test_handle_list_neo4j_error 235
function test_handle_get_found_with_tasks_and_sessions 248
function test_handle_get_not_found 267
function test_handle_get_neo4j_error 274
function test_handle_tasks_for_project_with_status_filter 286
function test_handle_tasks_global_no_project 313
function test_handle_tasks_neo4j_error 330
function test_handle_task_create_linked_to_project 343
function test_handle_task_create_without_project 373
function test_handle_task_create_assigned_to_existing_volk 387 assigned_to links (:Task)-[:ASSIGNED_TO]->(:Volk) only when
function test_handle_task_create_assigned_to_unknown_volk_no_edge 420 assigned_to referencing a Volk that does not exist writes no edge
function test_handle_task_create_neo4j_error 455
function test_handle_task_update_missing_id 468
function test_handle_task_update_no_neo4j 474
function test_handle_task_update_no_fields 480
function test_handle_task_update_success 490
function test_handle_task_update_not_found 523
function test_handle_task_update_neo4j_error 532

tests/gateway/handlers/test_scope_guard.py

source · 3 tests · 57 lines

Tests for gateway.handlers._scope_guard -- ScopeGuard (SPEC-014

Covers: gateway.config, gateway.exceptions, gateway.handlers._scope_guard, gateway.session

Kind Name Line Description
function test_granted_scope_is_always_read_write_today 22 D8: AuthHandler flatly grants read_write to every authenticated
function test_require_read_only_and_read_write_pass_today 33
function test_require_raises_when_granted_scope_is_insufficient 50

tests/gateway/handlers/test_session.py

source · 37 tests · 726 lines

Covers: core.graph.adapters.bolt_async, gateway.config, gateway.handlers.session, gateway.pubsub, memory.memory_engine

Kind Name Line Description
function test_session_handler_init 92
function test_session_handler_no_root_raises 104 Neither an explicit session_root nor SESSION_ROOT (an injected empty
function test_session_handler_explicit_session_root_param_used 112
function test_session_handler_session_root_from_injected_env 117
function test_session_handler_explicit_param_wins_over_env 122
function test_set_session_root_no_longer_exists 133 The dead setter (1 def / 0 uses in production) is removed -- nothing
function test_handle_active_no_driver 144
function test_handle_active_with_pubsub_no_driver 151
function test_handle_list_no_driver 164
function test_handle_get_no_driver 177
function test_handle_get_missing_id 184
function test_handle_open_missing_purpose 196
function test_handle_open_creates_session 203
function test_handle_open_then_get_roundtrip 215
function test_handle_list_then_get_roundtrip_with_nonseq_id 259
function test_handle_open_session_reachable_from_project 306 Session-254 root-connectivity ruling: handle_open used to MERGE
function test_handle_close_missing_id 355
function test_handle_close_closes_session 362
function test_handle_events_no_pubsub 385
function test_handle_events_with_pubsub 391
function test_handle_facts_subscribe_no_pubsub 405
function test_handle_facts_subscribe_with_pubsub 411
function test_handle_active_with_real_session 424
function test_handle_active_neo4j_error 451
function test_handle_list_with_real_sessions_and_status_filter 465
function test_handle_list_neo4j_error 507
function test_handle_get_not_found_real_driver 522
function test_handle_get_neo4j_error 532
function test_handle_open_neo4j_write_failure_is_best_effort 545
function test_handle_close_updates_real_neo4j 560
function test_handle_close_resolves_raw_id_only_session 600
function test_handle_close_neo4j_write_failure_is_best_effort 647
function test_deserialize_session_invalid_json_goals 665
function test_deserialize_session_none_goals 671
function test_set_memory_engine 677
function test_handle_close_migrates_memory_with_running_engine 686
function test_handle_close_memory_migration_failure_is_best_effort 707

tests/gateway/handlers/test_state.py

source · 18 tests · 250 lines

Tests for gateway.handlers.state — real RedisRingBuffer, no doubles.

Covers: gateway.exceptions, gateway.handlers.state, gateway.ring_buffer

Kind Name Line Description
class TestStateRedisKey 99
method TestStateRedisKey.test_format 100
class TestStateHandlerInit 104
method TestStateHandlerInit.test_init 105
class TestStateHandlerNoRedis 110 Handlers when Redis is unavailable (real, unconnected ring buffer).
method TestStateHandlerNoRedis.test_handle_get_all_no_redis 113
method TestStateHandlerNoRedis.test_handle_put_all_no_redis 117
method TestStateHandlerNoRedis.test_handle_put_all_empty_entries 122
method TestStateHandlerNoRedis.test_handle_put_no_redis 126
method TestStateHandlerNoRedis.test_handle_put_missing_key 131
method TestStateHandlerNoRedis.test_handle_delete_no_redis 138
method TestStateHandlerNoRedis.test_handle_delete_missing_key 143
class TestStateHandlerWithRedis 150 Handlers against real Redis via a connected ring buffer.
method TestStateHandlerWithRedis.test_handle_get_all_empty 153
method TestStateHandlerWithRedis.test_handle_put_all_and_get_all 158
method TestStateHandlerWithRedis.test_handle_put_and_get 167
method TestStateHandlerWithRedis.test_handle_delete 174
method TestStateHandlerWithRedis.test_handle_get_all_non_json_value 183
class TestStateHandlerRedisError 202 Handlers when Redis is reachable-configured but the op itself fails.
method TestStateHandlerRedisError.test_handle_get_all_redis_error 211
method TestStateHandlerRedisError.test_handle_put_all_redis_error 216
method TestStateHandlerRedisError.test_handle_put_redis_error 221
method TestStateHandlerRedisError.test_handle_delete_redis_error 226

tests/gateway/handlers/test_test_metrics_handler.py

source · 8 tests · 264 lines

Covers: core.graph.adapters.bolt_async, gateway.config, gateway.handlers.test_metrics, gateway.test_runner

Kind Name Line Description
function test_init_defaults 126
function test_set_graph_repository 133
function test_handle_tests_run_already_in_progress 150
function test_handle_tests_run_no_runner_sets_flag 164
function test_handle_tests_run_starts_background_task_with_runner 174
function test_handle_metrics_current_no_driver 210
function test_handle_metrics_current_with_real_data 224
function test_handle_metrics_current_neo4j_error 257

tests/gateway/handlers/test_ultimatetui.py

source · 19 tests · 304 lines

Covers: gateway.exceptions, gateway.handlers.ultimatetui, llm.config

Kind Name Line Description
function test_init_default_workspace_uses_cwd 57
function test_init_explicit_workspace 62
function test_handle_edit_missing_file_path 72
function test_handle_edit_old_string_none_raises 80 old_string explicitly None fails the old_string is not None check.
function test_handle_edit_shapes_result_and_approves_a_safe_edit 90 SPEC-050 P3.1: Cd/Qa/Ar now all implement a real deterministic
function test_handle_edit_governance_blocks_missing_file 129
function test_handle_intent_missing_text 148
function test_handle_intent_success 156
function test_handle_agents 171
function test_handle_models 189
function test_handle_model_switch_missing_profile 203
function test_handle_model_switch_unknown_profile 211
function test_handle_model_switch_success 219
function test_handle_read_missing_file_path 236
function test_handle_read_file_not_found 244
function test_handle_read_success 257
function test_handle_read_caps_content_at_100kb 271
function test_handle_read_rejects_path_outside_workspace 284
function test_handle_read_relative_path_within_workspace 297

tests/gateway/handlers/test_volk.py

source · 23 tests · 370 lines

Covers: cxp.proto_codec, cxp.servicer, cxp.transport, gateway.exceptions, gateway.handlers.volk, gateway.pubsub

Kind Name Line Description
function test_load_volk_registry_defaults 51
function test_load_volk_registry_from_yaml 58
function test_load_volk_registry_missing_file_falls_back 80
function test_load_volk_registry_empty_volks_falls_back 88
function test_load_volk_registry_invalid_yaml_falls_back 95
function test_default_registry_has_required_fields 102
function test_find_volks_yaml_none 116
function test_handle_list 135
function test_handle_get_by_alias 142
function test_handle_get_by_volkId 149
function test_handle_get_missing_param 156
function test_handle_get_not_found 165
function test_handle_register_admin_only 173
function test_handle_deregister_admin_only 181
function test_handle_register_with_admin_adds_to_roster 189
function test_handle_register_wrong_token_denied 208
function test_handle_deregister_with_admin_removes_from_roster 219
function test_handle_lifecycle 233
function test_handle_lifecycle_no_filters 240
function test_registry_property 246
function test_handle_list_static_when_no_kernel_client 268 With no kernel bound, handle_list reports the static roster: an active
function test_handle_list_merges_live_status_from_kernel 279 When a kernel client is bound, each volk's live status (busy /
function test_handle_list_falls_back_when_kernel_unreachable 339 A connected-then-unreachable kernel must not break the listing: the

tests/gateway/handlers/test_workflow.py

source · 7 tests · 348 lines

Tests for gateway.handlers.workflow -- WorkflowHandler (SPEC-014

Covers: core.base.traces, core.redis_factory, gateway.audit, gateway.exceptions, gateway.pubsub, gateway.ring_buffer, gateway.rpc, gateway.session, governance.policy_engine, governance.prolog_client, infra.prolog_bridge, kernel.pipeline_checkpoint, orchestrator.pipeline_kernel

Kind Name Line Description
function test_workflow_start_dispatches_pipeline 121 REQ-014-076: workflow.start returns {thread_id, status: running} and
function test_workflow_start_requires_intent 147 workflow.start with no intent is a validation error, not a crash.
function test_workflow_verbs_refused_without_in_process_kernel 159 D3: with no in-process PipelineKernelClient wired (e.g. a pure
function test_workflow_pause_checkpoints_and_halts 173 REQ-014-077/D2: pause cancels the active task; PipelineCheckpoint's
function test_workflow_resume_from_checkpoint 211 REQ-014-078: resume on a paused thread spawns a fresh task (observed
function test_workflow_cancel_terminates 251 REQ-014-079: cancel terminates the active task and is idempotent.
function test_workflow_denied_by_governance 281 REQ-014-080/D4: with a real PolicyEngine (real governance rules

Support files

Fixtures, package markers and helpers without test functions.