tigrbl_tests 0.4.4.dev1__tar.gz → 0.4.4.dev7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (616) hide show
  1. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/PKG-INFO +1 -1
  2. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/pyproject.toml +1 -1
  3. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/architecture/test_runtime_structure.py +6 -2
  4. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_batch_scheduler_i9n.py +1 -1
  5. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_resident_batch_scheduler_runtime.py +1 -1
  6. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_webtransport_tigrcorn_bridge.py +4 -2
  7. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_webtransport_tigrcorn_session_multiplexing.py +18 -15
  8. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/test_secdeps_execute_in_pre_tx.py +1 -1
  9. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/decorators/test_declarative_surface.py +3 -2
  10. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_binding_exchange_normalization_contract.py +7 -7
  11. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_binding_token_lowering_contract.py +83 -8
  12. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_bindingspec_event_subevent_schema_contract.py +1 -1
  13. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_bindingspec_kernelplan_protocol_compilation_contract.py +58 -2
  14. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_canonical_bindingspec_framing_policy.py +50 -37
  15. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_contract_classification_consumption_policy.py +0 -2
  16. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_cross_transport_equivalence_contract.py +1 -1
  17. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_eventful_protocol_decorator_surface_contract.py +3 -1
  18. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_eventful_subevent_surface_contracts.py +8 -2
  19. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_framing_matrix_ssot_conformance.py +3 -3
  20. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_http_stream_client_stream_runtime_contract.py +2 -2
  21. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_op_verb_to_default_binding_matrix_contract.py +44 -1
  22. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_protocol_anchor_ordering_parity_contract.py +3 -5
  23. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_python_only_runtime_no_rust_public_exports.py +14 -0
  24. tigrbl_tests-0.4.4.dev7/tests/unit/runtime/test_python_only_runtime_rust_executor_rejection.py +32 -0
  25. tigrbl_tests-0.4.4.dev7/tests/unit/runtime/test_python_only_runtime_rust_kernel_module_retirement.py +34 -0
  26. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_python_only_runtime_ssot_docs_rust_parity_ban.py +2 -8
  27. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_runtime_frame_codec_contract.py +65 -27
  28. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_session_leakage_prevention_contract.py +1 -1
  29. tigrbl_tests-0.4.4.dev7/tests/unit/runtime/test_stream_table_current_behavior_contract.py +145 -0
  30. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_table_profile_op_selection_matrix_contract.py +9 -3
  31. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_table_transport_binding_profiles_contract.py +24 -1
  32. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_transport_delivery_guarantees_contract.py +7 -3
  33. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_unsupported_framing_fail_closed_contract.py +18 -20
  34. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_websocket_framing_runtime_contract.py +18 -20
  35. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_webtransport_lane_framing_policy.py +28 -22
  36. tigrbl_tests-0.4.4.dev7/tests/unit/test_handler_entrypoints.py +60 -0
  37. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_operator_surface_closure.py +2 -1
  38. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_operator_websocket_route_contracts.py +2 -1
  39. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_package_badges_and_notices.py +1 -1
  40. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_spec_binding_app_engine_contracts.py +4 -2
  41. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_spec_contracts_session_bindings.py +5 -4
  42. tigrbl_tests-0.4.4.dev1/tests/rust/atoms/test_rust_atoms_public_surface.py +0 -21
  43. tigrbl_tests-0.4.4.dev1/tests/rust/ffi/test_rust_binding_trace.py +0 -21
  44. tigrbl_tests-0.4.4.dev1/tests/rust/kernel/test_rust_kernel_public_surface.py +0 -17
  45. tigrbl_tests-0.4.4.dev1/tests/rust/runtime/test_rust_runtime_engine_policy.py +0 -12
  46. tigrbl_tests-0.4.4.dev1/tests/rust/runtime/test_rust_runtime_public_surface.py +0 -36
  47. tigrbl_tests-0.4.4.dev1/tests/unit/runtime/test_python_only_runtime_rust_executor_rejection.py +0 -46
  48. tigrbl_tests-0.4.4.dev1/tests/unit/runtime/test_python_only_runtime_rust_kernel_module_retirement.py +0 -55
  49. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/LICENSE +0 -0
  50. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/NOTICE +0 -0
  51. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/README.md +0 -0
  52. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/__init__.py +0 -0
  53. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/architecture/test_import_graph_audit.py +0 -0
  54. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/architecture/test_no_bindings_imports.py +0 -0
  55. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/architecture/test_operation_resolution_parity.py +0 -0
  56. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/architecture/test_route_to_pathspec_migration.py +0 -0
  57. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/architecture/test_trace_plan_parity.py +0 -0
  58. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/architecture/test_transport_boundaries.py +0 -0
  59. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/architecture/test_transport_dispatch_convergence.py +0 -0
  60. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/architecture/test_transport_hot_path_boundary.py +0 -0
  61. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/architecture/test_transport_removal_readiness.py +0 -0
  62. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/conftest.py +0 -0
  63. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/fixtures/appspec_corpus.canonical.json +0 -0
  64. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/fixtures/appspec_corpus.negative.json +0 -0
  65. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/fixtures/appspec_corpus_loader.py +0 -0
  66. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/fixtures/cli_smoke_app.py +0 -0
  67. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/fixtures/system_diagnostics.py +0 -0
  68. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/harness/test_00_appspec_contract.py +0 -0
  69. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/harness/test_01_kernel_plan_compilation.py +0 -0
  70. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/harness/test_02_bootstrap_plan.py +0 -0
  71. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/harness/test_03_appspec_uvicorn_e2e.py +0 -0
  72. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/harness/test_04_appspec_corpus_fixture.py +0 -0
  73. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/harness/test_05_appspec_metamorphic.py +0 -0
  74. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/harness_e2e/test_00_appspec_uvicorn_rest_rpc.py +0 -0
  75. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/harness_e2e/test_01_appspec_corpus_uvicorn.py +0 -0
  76. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/harness_e2e/test_01_imperative_uvicorn_rest_rpc.py +0 -0
  77. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/harness_v3/__init__.py +0 -0
  78. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/harness_v3/_support.py +0 -0
  79. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/harness_v3/test_appspec_prefixes.py +0 -0
  80. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/harness_v3/test_bootstrap_kernel_compilation.py +0 -0
  81. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/harness_v3/test_default_opspec_bindings.py +0 -0
  82. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/harness_v3/test_kernel_plan_routing.py +0 -0
  83. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/harness_v3/test_mapping_plan_compilation.py +0 -0
  84. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/harness_v3/test_route_rpc_prebinding.py +0 -0
  85. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/harness_v3/test_route_runtime_fallback_atoms.py +0 -0
  86. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/harness_v3/test_uvicorn_e2e_appspec.py +0 -0
  87. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/hooks/test_hook_ctx_stage_validation.py +0 -0
  88. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/__init__.py +0 -0
  89. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_acronym_route_name.py +0 -0
  90. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_allow_anon.py +0 -0
  91. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_apikey_generation.py +0 -0
  92. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_auth_status_projection_contract.py +0 -0
  93. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_authn_provider_integration.py +0 -0
  94. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_bindings_integration.py +0 -0
  95. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_bindings_modules.py +0 -0
  96. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_bulk_docs_client.py +0 -0
  97. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_canonical_appspec_runtime_lowering.py +0 -0
  98. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_client_session_robustness_contracts.py +0 -0
  99. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_client_session_topology_contracts.py +0 -0
  100. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_core_access.py +0 -0
  101. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_engine_install_uvicorn.py +0 -0
  102. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_engine_resolver_uvicorn.py +0 -0
  103. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_error_mappings.py +0 -0
  104. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_field_spec_effects.py +0 -0
  105. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_header_io_uvicorn.py +0 -0
  106. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_healthz_methodz_hookz.py +0 -0
  107. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_hook_ctx_v3_i9n.py +0 -0
  108. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_hook_lifecycle.py +0 -0
  109. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_hot_path_batch_slots.py +0 -0
  110. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_http_stream_batch_runtime_execution.py +0 -0
  111. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_http_stream_batch_scheduler.py +0 -0
  112. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_iospec_attributes.py +0 -0
  113. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_iospec_integration.py +0 -0
  114. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_jsonrpc_batch_behavior.py +0 -0
  115. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_jsonrpc_batch_runtime_execution.py +0 -0
  116. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_jsonrpc_batch_scheduler.py +0 -0
  117. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_key_digest_uvicorn.py +0 -0
  118. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_list_filters_optional.py +0 -0
  119. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_mixins.py +0 -0
  120. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_mountable_favicon_uvicorn.py +0 -0
  121. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_mountable_lens_uvicorn.py +0 -0
  122. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_mountable_openapi_uvicorn.py +0 -0
  123. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_mountable_openrpc_uvicorn.py +0 -0
  124. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_mountable_swagger_uvicorn.py +0 -0
  125. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_nested_path_schema_and_rpc.py +0 -0
  126. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_nested_routing_depth.py +0 -0
  127. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_op_ctx_alias_examples.py +0 -0
  128. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_op_ctx_behavior.py +0 -0
  129. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_op_ctx_core_crud_order.py +0 -0
  130. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_op_ctx_owner_scope_materialization_contracts.py +0 -0
  131. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_op_ctx_owner_scope_uvicorn_matrix.py +0 -0
  132. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_openapi_clear_response_schema.py +0 -0
  133. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_openapi_schema_examples_presence.py +0 -0
  134. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_opspec_effects_i9n_test.py +0 -0
  135. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_opspec_pre_tx_deps.py +0 -0
  136. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_owner_tenant_policy.py +0 -0
  137. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_request_extras.py +0 -0
  138. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_rest_fallback_serialization.py +0 -0
  139. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_rest_row_serialization.py +0 -0
  140. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_rest_rpc_parity_v3.py +0 -0
  141. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_row_result_serialization.py +0 -0
  142. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_schema.py +0 -0
  143. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_schema_ctx_attributes_integration.py +0 -0
  144. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_schema_ctx_op_ctx_integration.py +0 -0
  145. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_schema_ctx_spec_integration.py +0 -0
  146. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_sqlite_attachments.py +0 -0
  147. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_storage_spec_integration.py +0 -0
  148. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_symmetry_parity.py +0 -0
  149. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_tigrbl_api_app_usage_uvicorn.py +0 -0
  150. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_tigrbl_api_usage_uvicorn.py +0 -0
  151. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_tigrbl_api_uvicorn.py +0 -0
  152. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_tigrbl_app_include_api_uvicorn.py +0 -0
  153. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_tigrbl_app_multi_api_uvicorn.py +0 -0
  154. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_tigrbl_app_usage_uvicorn.py +0 -0
  155. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_tigrbl_app_uvicorn.py +0 -0
  156. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_transport_demo_tigrcorn_e2e_matrix.py +0 -0
  157. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_transport_dispatch_parity.py +0 -0
  158. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_types_deprecation_exports.py +0 -0
  159. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_uvicorn_transport_behavior.py +0 -0
  160. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_v3_bulk_rest_endpoints.py +0 -0
  161. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_v3_default_rest_ops.py +0 -0
  162. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_v3_default_rpc_ops.py +0 -0
  163. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_v3_opspec_attributes.py +0 -0
  164. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_verb_alias_policy.py +0 -0
  165. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_websocket_batch_runtime_execution.py +0 -0
  166. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/test_websocket_batch_scheduler.py +0 -0
  167. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/i9n/uvicorn_utils.py +0 -0
  168. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/mount/__init__.py +0 -0
  169. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/mount/test_mount_favico.py +0 -0
  170. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/options/test_rest_options.py +0 -0
  171. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/options/test_rpc_options.py +0 -0
  172. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/parity/__init__.py +0 -0
  173. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/parity/test_executor_metamorphic_parity.py +0 -0
  174. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/parity/test_hook_runtime_stage_parity.py +0 -0
  175. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/parity/test_stdapi_openapi_docs.py +0 -0
  176. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/parity/test_stdapi_primitives.py +0 -0
  177. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/parity/test_stdapi_routing.py +0 -0
  178. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/__init__.py +0 -0
  179. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/benchmark_results_create_asgitransport_sequential_10_rounds_250_ops.json +0 -0
  180. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/benchmark_results_create_httpxtransport_sequential_10_rounds_250_ops.json +0 -0
  181. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/benchmark_results_create_uvicorn.json +0 -0
  182. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/benchmark_results_create_uvicorn_sequential_10_rounds.json +0 -0
  183. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/benchmark_results_create_uvicorn_sequential_10_rounds_250_ops.json +0 -0
  184. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/benchmark_results_sse_uvicorn.json +0 -0
  185. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/benchmark_results_streaming_uvicorn.json +0 -0
  186. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/benchmark_results_tigrbl_create_batch_policy_permutations_15_rounds_2500_ops.json +0 -0
  187. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/benchmark_results_tigrbl_create_batch_policy_permutations_20_rounds_2500_ops.json +0 -0
  188. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/benchmark_results_tigrbl_create_batch_policy_permutations_20_rounds_250_ops.json +0 -0
  189. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/benchmark_results_tigrbl_create_modes_15_rounds_250_ops.json +0 -0
  190. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/benchmark_results_websocket_uvicorn.json +0 -0
  191. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/benchmark_results_webtransport_uvicorn.json +0 -0
  192. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/compiled_input_strategy_microbench.json +0 -0
  193. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/conftest.py +0 -0
  194. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/egress_body_coercion_microbench.json +0 -0
  195. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/exact_route_marker_microbench.json +0 -0
  196. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/fastapi_create_call_graph_250_ops.json +0 -0
  197. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/fastapi_sse_call_graph_250_ops.json +0 -0
  198. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/fastapi_sse_transport_call_graph_250_ops.json +0 -0
  199. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/fastapi_streaming_call_graph_250_ops.json +0 -0
  200. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/fastapi_websocket_call_graph_250_ops.json +0 -0
  201. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/fastapi_websocket_transport_call_graph_250_ops.json +0 -0
  202. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/helper_fastapi_create_app.py +0 -0
  203. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/helper_sse_apps.py +0 -0
  204. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/helper_streaming_apps.py +0 -0
  205. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/helper_tigrbl_create_app.py +0 -0
  206. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/helper_websocket_apps.py +0 -0
  207. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/helper_webtransport_apps.py +0 -0
  208. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/hot_block_lane_microbench.json +0 -0
  209. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/hot_path_perf_suite_manifest.json +0 -0
  210. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/hot_path_perf_suite_report.md +0 -0
  211. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/kernel-plan-benchmark-sse.json +0 -0
  212. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/kernel-plan-benchmark-sse.md +0 -0
  213. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/kernel-plan-benchmark-streaming.json +0 -0
  214. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/kernel-plan-benchmark-streaming.md +0 -0
  215. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/kernel-plan-benchmark-websocket.json +0 -0
  216. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/kernel-plan-benchmark-websocket.md +0 -0
  217. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/kernel-plan-benchmark-webtransport.json +0 -0
  218. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/kernel-plan-benchmark-webtransport.md +0 -0
  219. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/kernel-plan-benchmark.json +0 -0
  220. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/kernel-plan-benchmark.md +0 -0
  221. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/runtime_hotstate_microbench.json +0 -0
  222. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/runtime_namespace_dictget_microbench.json +0 -0
  223. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/runtime_typecheck_microbench.json +0 -0
  224. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/test_collect_caching.py +0 -0
  225. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/test_comparative_benchmark_verification.py +0 -0
  226. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/test_compiled_input_strategy_microbench.py +0 -0
  227. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/test_egress_body_coercion_microbench.py +0 -0
  228. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/test_exact_route_marker_microbench.py +0 -0
  229. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/test_fastapi_create_call_graph.py +0 -0
  230. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/test_fastapi_vs_tigrbl_executor_benchmark.py +0 -0
  231. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/test_hookz_performance.py +0 -0
  232. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/test_hot_block_lane_microbench.py +0 -0
  233. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/test_methodz_performance.py +0 -0
  234. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/test_open_loop_load_patterns.py +0 -0
  235. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/test_runtime_hotstate_microbench.py +0 -0
  236. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/test_runtime_namespace_dictget_microbench.py +0 -0
  237. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/test_runtime_typecheck_microbench.py +0 -0
  238. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/test_tigrbl_create_batch_modes_benchmark.py +0 -0
  239. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/test_tigrbl_create_batch_policy_permutations_benchmark.py +0 -0
  240. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/test_tigrbl_create_call_graph.py +0 -0
  241. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/test_tigrbl_vs_fastapi_create_benchmark.py +0 -0
  242. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/test_validation_guard_strategy_microbench.py +0 -0
  243. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tgpkhot1-benchmark-items.benchmark.json +0 -0
  244. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tgpkhot1-benchmark-items.benchmark.md +0 -0
  245. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tgpkhot1-benchmark-items.bin +0 -0
  246. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tgpkhot1-benchmark-items.hexdump.txt +0 -0
  247. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tgpkhot1-benchmark-items.summary.json +0 -0
  248. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tgpkhot1-benchmark-sse.benchmark.json +0 -0
  249. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tgpkhot1-benchmark-sse.benchmark.md +0 -0
  250. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tgpkhot1-benchmark-sse.bin +0 -0
  251. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tgpkhot1-benchmark-sse.hexdump.txt +0 -0
  252. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tgpkhot1-benchmark-sse.summary.json +0 -0
  253. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tgpkhot1-benchmark-streaming.benchmark.json +0 -0
  254. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tgpkhot1-benchmark-streaming.benchmark.md +0 -0
  255. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tgpkhot1-benchmark-streaming.bin +0 -0
  256. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tgpkhot1-benchmark-streaming.hexdump.txt +0 -0
  257. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tgpkhot1-benchmark-streaming.summary.json +0 -0
  258. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tgpkhot1-benchmark-websocket.benchmark.json +0 -0
  259. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tgpkhot1-benchmark-websocket.benchmark.md +0 -0
  260. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tgpkhot1-benchmark-websocket.bin +0 -0
  261. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tgpkhot1-benchmark-websocket.hexdump.txt +0 -0
  262. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tgpkhot1-benchmark-websocket.summary.json +0 -0
  263. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tgpkhot1-benchmark-webtransport.benchmark.json +0 -0
  264. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tgpkhot1-benchmark-webtransport.benchmark.md +0 -0
  265. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tgpkhot1-benchmark-webtransport.bin +0 -0
  266. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tgpkhot1-benchmark-webtransport.hexdump.txt +0 -0
  267. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tgpkhot1-benchmark-webtransport.summary.json +0 -0
  268. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tigrbl_create_call_graph_250_ops.json +0 -0
  269. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tigrbl_sse_call_graph_250_ops.json +0 -0
  270. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tigrbl_sse_transport_call_graph_250_ops.json +0 -0
  271. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tigrbl_streaming_call_graph_250_ops.json +0 -0
  272. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tigrbl_websocket_call_graph_250_ops.json +0 -0
  273. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tigrbl_websocket_transport_call_graph_250_ops.json +0 -0
  274. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tigrbl_webtransport_call_graph_250_ops.json +0 -0
  275. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/tigrbl_webtransport_transport_call_graph_250_ops.json +0 -0
  276. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/validation_guard_strategy_microbench.json +0 -0
  277. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/perf/wsproto_client.py +0 -0
  278. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/protocol/test_protocol_runtime_governance_contracts.py +0 -0
  279. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/request/test_request_asgi_scope_compat.py +0 -0
  280. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/request/test_request_authn_strip.py +0 -0
  281. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/request/test_request_dot_notation.py +0 -0
  282. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/request/test_request_response_conveniences.py +0 -0
  283. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/request/test_request_transport_convenience_dot_notation.py +0 -0
  284. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/requests/test_request_json_modes.py +0 -0
  285. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/response/test_response_dot_notation.py +0 -0
  286. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/response/test_response_transport_convenience_dot_notation.py +0 -0
  287. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/security/test_dot_notation_schemes.py +0 -0
  288. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/security/test_httpbearer_contract.py +0 -0
  289. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/security/test_schemes.py +0 -0
  290. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/__init__.py +0 -0
  291. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/decorators/test_alias_ctx_bindings.py +0 -0
  292. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/decorators/test_engine_ctx_bindings.py +0 -0
  293. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/decorators/test_hook_ctx_bindings.py +0 -0
  294. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/decorators/test_op_alias_bindings.py +0 -0
  295. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/decorators/test_op_ctx_bindings.py +0 -0
  296. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/decorators/test_response_ctx_bindings.py +0 -0
  297. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/decorators/test_schema_ctx_bindings.py +0 -0
  298. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/response_utils.py +0 -0
  299. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/atoms/test_emit_paired_post.py +0 -0
  300. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/atoms/test_emit_paired_pre.py +0 -0
  301. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/atoms/test_emit_readtime_alias.py +0 -0
  302. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/atoms/test_out_masking.py +0 -0
  303. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/atoms/test_refresh_demand.py +0 -0
  304. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/atoms/test_resolve_assemble.py +0 -0
  305. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/atoms/test_resolve_paired_gen.py +0 -0
  306. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/atoms/test_route_protocol_detect.py +0 -0
  307. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/atoms/test_schema_collect_in.py +0 -0
  308. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/atoms/test_schema_collect_out.py +0 -0
  309. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/atoms/test_storage_to_stored.py +0 -0
  310. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/atoms/test_wire_build_in.py +0 -0
  311. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/atoms/test_wire_build_out.py +0 -0
  312. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/atoms/test_wire_dump.py +0 -0
  313. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/atoms/test_wire_validate_in.py +0 -0
  314. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_app_framed_message_codec_contract.py +0 -0
  315. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_asgi_transport_projection_contract.py +0 -0
  316. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_atom_chain_requirement_projection_contract.py +0 -0
  317. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_atom_stage_window_static.py +0 -0
  318. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_binding_subevent_phase_atom_legality_matrix_contract.py +0 -0
  319. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_canonical_operation_identity_contract.py +0 -0
  320. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_client_session_coverage_matrix_contract.py +0 -0
  321. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_compilation_runtime_behavior.py +0 -0
  322. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_compiled_loop_regions_contract.py +0 -0
  323. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_completion_fence_emit_complete_contract.py +0 -0
  324. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_concrete_instance_identity_contract.py +0 -0
  325. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_contract_classification_drift_guard.py +0 -0
  326. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_derived_runtime_subevent_taxonomy_contract.py +0 -0
  327. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_determinism_contract.py +0 -0
  328. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_dispatch_exchange_family_subevent_atoms_contract.py +0 -0
  329. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_docs_runtime_exposure_policy_contract.py +0 -0
  330. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_eventful_channel_state_metadata_contract.py +0 -0
  331. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_eventkey_bit_coded_dispatch_contract.py +0 -0
  332. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_eventkey_hook_bucket_compilation_contract.py +0 -0
  333. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_events_runtime_behavior.py +0 -0
  334. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_events_stages.py +0 -0
  335. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_explicit_route_selector_precedence_contract.py +0 -0
  336. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_first_class_callback_runtime_contract.py +0 -0
  337. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_first_class_webhook_delivery_contract.py +0 -0
  338. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_framing_decode_encode_atoms_contract.py +0 -0
  339. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_h3_non_webtransport_stream_taxonomy_contract.py +0 -0
  340. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_hook_selector_matching_contract.py +0 -0
  341. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_http_rest_jsonrpc_atom_chain_contract.py +0 -0
  342. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_http_stream_atom_chain_contract.py +0 -0
  343. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_idempotency_contract.py +0 -0
  344. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_inbound_webhook_runtime_contract.py +0 -0
  345. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_ingress_egress_access.py +0 -0
  346. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_iterator_producer_contract.py +0 -0
  347. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_kernel_plan_event_ordering.py +0 -0
  348. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_kernel_plan_full_ordering.py +0 -0
  349. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_kernel_runtime_behavior.py +0 -0
  350. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_kernelplan_executor_runtime_shim_contract.py +0 -0
  351. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_legacy_runtime_family_alias_normalization.py +0 -0
  352. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_lifespan_runtime_chain_contract.py +0 -0
  353. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_loop_ownership_mode_contract.py +0 -0
  354. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_loop_region_executor_contract.py +0 -0
  355. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_opchannel_capability_handshake_contract.py +0 -0
  356. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_ordering_runtime_behavior.py +0 -0
  357. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_outbound_callback_delivery_contract.py +0 -0
  358. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_packed_executor_hot_path_contract.py +0 -0
  359. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_payload_select_header_merge.py +0 -0
  360. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_payload_select_invalid_rpc_params.py +0 -0
  361. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_protocol_phase_tree_contract.py +0 -0
  362. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_protocol_phase_tree_plan_contract.py +0 -0
  363. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_protocol_scope_schemas_contract.py +0 -0
  364. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_protocol_segment_fusion_contract.py +0 -0
  365. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_protocol_stream_initiator_legality_contract.py +0 -0
  366. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_python_only_runtime_benchmark_rail.py +0 -0
  367. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_replay_contract.py +0 -0
  368. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_retry_contract.py +0 -0
  369. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_runtime_compaction_contract.py +0 -0
  370. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_runtime_execution_contract.py +0 -0
  371. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_runtime_hook_legality_contract.py +0 -0
  372. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_runtime_rollup_contract.py +0 -0
  373. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_segment_fusion_barrier_policy_contract.py +0 -0
  374. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_sse_runtime_contract.py +0 -0
  375. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_static_file_runtime_chain_contract.py +0 -0
  376. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_stream_resume_runtime_t01.py +0 -0
  377. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_stream_resume_runtime_t2.py +0 -0
  378. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_subevent_handler_dispatch_contract.py +0 -0
  379. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_subevent_transaction_units_contract.py +0 -0
  380. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_table_profile_axis_model_contract.py +0 -0
  381. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_tigr_asgi_contract_family_set_alignment.py +0 -0
  382. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_trace_qlog_contract.py +0 -0
  383. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_transport_accept_emit_close_atoms_contract.py +0 -0
  384. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_transport_event_registry_contract.py +0 -0
  385. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_two_axis_lifecycle_matrix_contract.py +0 -0
  386. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_websocket_atom_chain_contract.py +0 -0
  387. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_webtransport_bidi_initiator_contract.py +0 -0
  388. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_webtransport_session_multiplexing_policy.py +0 -0
  389. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_webtransport_transport_events_contract.py +0 -0
  390. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/runtime/test_yield_iterator_producer_contract.py +0 -0
  391. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_acol_vcol_knobs.py +0 -0
  392. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_alias_ctx_op_alias_attributes.py +0 -0
  393. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_alias_ctx_op_attributes.py +0 -0
  394. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_api_level_set_auth.py +0 -0
  395. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_app_model_defaults.py +0 -0
  396. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_app_reexport.py +0 -0
  397. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_app_spec_normalization.py +0 -0
  398. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_attrdict_t2_contract.py +0 -0
  399. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_attrdict_vs_simplenamespace.py +0 -0
  400. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_authorize_runtime_secdep.py +0 -0
  401. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_base_columnspec_inheritance.py +0 -0
  402. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_base_contract_t2_behavior.py +0 -0
  403. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_base_facade_initialize.py +0 -0
  404. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_base_public_projection_contracts.py +0 -0
  405. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_batch_config_defaults.py +0 -0
  406. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_build_list_params_spec_model.py +0 -0
  407. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_bulk_body_annotation.py +0 -0
  408. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_bulk_response_schema.py +0 -0
  409. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_canonical_custom_op_contract.py +0 -0
  410. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_canonical_file_transfer_op_contracts.py +0 -0
  411. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_canonical_pubsub_op_contracts.py +0 -0
  412. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_canonical_query_op_contracts.py +0 -0
  413. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_canonical_standard_op_contracts.py +0 -0
  414. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_canonical_stream_transport_op_contracts.py +0 -0
  415. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_canonical_tail_op_contract.py +0 -0
  416. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_cli_cmds.py +0 -0
  417. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_cli_srv.py +0 -0
  418. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_cli_target_loading_contract.py +0 -0
  419. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_colspec_map_isolation.py +0 -0
  420. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_column_collect_mixins.py +0 -0
  421. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_column_mro_collect_namespace.py +0 -0
  422. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_column_rest_rpc_results.py +0 -0
  423. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_column_table_orm_binding.py +0 -0
  424. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_concrete_dependency_helpers_t2.py +0 -0
  425. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_concrete_facade_helpers_t2.py +0 -0
  426. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_concrete_response_background_task_t2.py +0 -0
  427. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_concrete_response_classes.py +0 -0
  428. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_concrete_session_helpers_t2.py +0 -0
  429. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_concrete_static_schema_helpers_t2.py +0 -0
  430. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_config_dataclass_none.py +0 -0
  431. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_core_crud_bulk_ops.py +0 -0
  432. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_core_crud_default_ops.py +0 -0
  433. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_core_crud_methods.py +0 -0
  434. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_core_wrap_memoization.py +0 -0
  435. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_db_dependency.py +0 -0
  436. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_ddl_initialization_modes_contract.py +0 -0
  437. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_declared_surface_docs.py +0 -0
  438. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_declared_surface_metadata_contracts.py +0 -0
  439. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_decorator_and_collect.py +0 -0
  440. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_default_schema_selection.py +0 -0
  441. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_default_tags.py +0 -0
  442. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_diagnostics_endpoint_contracts.py +0 -0
  443. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_diagnostics_no_compat_module.py +0 -0
  444. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_docs_mount_runtime_surface_parity_contract.py +0 -0
  445. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_docs_security_parity.py +0 -0
  446. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_engine_install_api.py +0 -0
  447. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_engine_install_app.py +0 -0
  448. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_engine_install_op.py +0 -0
  449. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_engine_install_table.py +0 -0
  450. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_engine_resolver_precedence_contract.py +0 -0
  451. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_engine_session_database_availability.py +0 -0
  452. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_engine_spec_and_shortcuts.py +0 -0
  453. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_engine_usage_levels.py +0 -0
  454. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_field_spec_attrs.py +0 -0
  455. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_field_spec_constraints.py +0 -0
  456. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_file_response.py +0 -0
  457. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_get_schema.py +0 -0
  458. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_handler_step_qualname.py +0 -0
  459. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_hook_ctx_attributes.py +0 -0
  460. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_hook_ctx_binding.py +0 -0
  461. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_hook_surface_contracts.py +0 -0
  462. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_hookz_empty_stage.py +0 -0
  463. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_http_route_registration.py +0 -0
  464. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_hybrid_session_run_sync.py +0 -0
  465. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_in_tx.py +0 -0
  466. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_include_model_columns_namespace.py +0 -0
  467. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_include_models_base_prefix.py +0 -0
  468. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_include_tables_base_prefix.py +0 -0
  469. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_include_tables_helper_surface_contract.py +0 -0
  470. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_initialize_async_task.py +0 -0
  471. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_initialize_cross_ddl.py +0 -0
  472. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_initialize_mixed_engines.py +0 -0
  473. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_initialize_task_schedule.py +0 -0
  474. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_instance_naming_conventions.py +0 -0
  475. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_io_spec_attributes.py +0 -0
  476. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_iospec_attributes.py +0 -0
  477. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_iospec_effects.py +0 -0
  478. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_jcs_canonicalization_contract.py +0 -0
  479. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_jsonrpc_codec_authority.py +0 -0
  480. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_jsonrpc_id_example.py +0 -0
  481. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_jsonrpc_openrpc.py +0 -0
  482. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_jsonrpc_router_default_tag.py +0 -0
  483. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_jsonrpc_schema_namespace.py +0 -0
  484. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_kernel_invoke_ctx.py +0 -0
  485. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_kernel_opview_on_demand.py +0 -0
  486. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_kernel_plan_labels.py +0 -0
  487. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_kernelz_endpoint.py +0 -0
  488. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_make_column_shortcuts.py +0 -0
  489. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_mapping_bind_response_export.py +0 -0
  490. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_mapping_plan_precedence.py +0 -0
  491. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_middleware_http_and_cors.py +0 -0
  492. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_middleware_surface_contracts.py +0 -0
  493. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_mixins_sqlalchemy.py +0 -0
  494. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_op_alias.py +0 -0
  495. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_op_class_engine_binding.py +0 -0
  496. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_op_ctx_arity_paths.py +0 -0
  497. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_op_ctx_attributes.py +0 -0
  498. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_op_ctx_core_crud_integration.py +0 -0
  499. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_op_ctx_custom_target_persist.py +0 -0
  500. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_op_ctx_dynamic_attach.py +0 -0
  501. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_op_ctx_parameter_matrix.py +0 -0
  502. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_op_ctx_persist_options.py +0 -0
  503. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_op_surface_owner_scope_contracts.py +0 -0
  504. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_openapi_documentation_security_behavior.py +0 -0
  505. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_openapi_openrpc_schema_separation.py +0 -0
  506. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_openapi_schema_cache_contract.py +0 -0
  507. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_openrpc_documentation_security_behavior.py +0 -0
  508. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_operator_auth_surface_contracts.py +0 -0
  509. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_operator_bounded_middleware_catalog_contracts.py +0 -0
  510. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_operator_cookie_form_upload_contracts.py +0 -0
  511. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_operator_docs_descope_contracts.py +0 -0
  512. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_operator_oidc_descope_contracts.py +0 -0
  513. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_operator_static_files_contracts.py +0 -0
  514. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_operator_streaming_sse_contracts.py +0 -0
  515. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_operator_surface_docs_parity.py +0 -0
  516. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_opspec_effects.py +0 -0
  517. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_postgres_engine_errors.py +0 -0
  518. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_postgres_env_vars.py +0 -0
  519. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_relationship_alias_cols.py +0 -0
  520. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_request_body_schema.py +0 -0
  521. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_request_response_examples.py +0 -0
  522. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_resolver_interning_warmup.py +0 -0
  523. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_resolver_precedence.py +0 -0
  524. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_response_alias_table_rpc.py +0 -0
  525. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_response_ctx_precedence.py +0 -0
  526. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_response_diagnostics_kernelz.py +0 -0
  527. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_response_html_jinja_behavior.py +0 -0
  528. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_response_parity.py +0 -0
  529. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_response_rest.py +0 -0
  530. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_response_rpc.py +0 -0
  531. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_response_template.py +0 -0
  532. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_response_uuid.py +0 -0
  533. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_rest_all_default_op_verbs.py +0 -0
  534. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_rest_bulk_delete_suppresses_clear.py +0 -0
  535. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_rest_jsonrpc_metamorphic_default_ops.py +0 -0
  536. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_rest_no_schema_jsonable.py +0 -0
  537. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_rest_operation_id_uniqueness.py +0 -0
  538. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_rest_output_serialization_extras.py +0 -0
  539. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_rest_request_mapping_access.py +0 -0
  540. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_rest_rpc_parity_default_ops.py +0 -0
  541. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_rest_rpc_prefixes.py +0 -0
  542. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_rest_rpc_symmetry.py +0 -0
  543. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_router_compatibility_shims.py +0 -0
  544. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_router_dependency_execution_blocked.py +0 -0
  545. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_rpc_all_default_op_verbs.py +0 -0
  546. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_rpc_default_ops.py +0 -0
  547. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_schema_ctx_attributes.py +0 -0
  548. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_schema_ctx_plain_class.py +0 -0
  549. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_schema_readiness_fail_closed_contract.py +0 -0
  550. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_schema_spec_presence.py +0 -0
  551. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_schemas_binding.py +0 -0
  552. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_security_contract_auth_policy_parity.py +0 -0
  553. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_security_dependency_surface_contracts.py +0 -0
  554. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_security_per_route.py +0 -0
  555. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_should_wire_canonical.py +0 -0
  556. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_spec_api.py +0 -0
  557. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_spec_app.py +0 -0
  558. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_spec_column.py +0 -0
  559. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_spec_contracts_request_schema_storage.py +0 -0
  560. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_spec_contracts_table_registry_template.py +0 -0
  561. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_spec_engine.py +0 -0
  562. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_spec_field.py +0 -0
  563. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_spec_hook.py +0 -0
  564. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_spec_io.py +0 -0
  565. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_spec_op.py +0 -0
  566. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_spec_snapshots.py +0 -0
  567. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_spec_storage.py +0 -0
  568. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_spec_table.py +0 -0
  569. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_sqlite_attachments.py +0 -0
  570. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_sqlite_uuid_type.py +0 -0
  571. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_stdapi_request_injection.py +0 -0
  572. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_stdapi_transport_asgi_wsgi.py +0 -0
  573. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_storage_spec_attributes.py +0 -0
  574. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_sys_handler_crud.py +0 -0
  575. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_sys_run_rollback.py +0 -0
  576. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_sys_tx_async_begin.py +0 -0
  577. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_sys_tx_begin.py +0 -0
  578. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_sys_tx_commit.py +0 -0
  579. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_system_diagnostics_fixture_contracts.py +0 -0
  580. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_system_docs_builders.py +0 -0
  581. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_system_docs_diagnostics_contracts.py +0 -0
  582. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_system_uix_surface_contracts.py +0 -0
  583. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_table_base_exports.py +0 -0
  584. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_table_collect_spec.py +0 -0
  585. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_table_columns_namespace.py +0 -0
  586. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_table_model_attribute_contract.py +0 -0
  587. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_table_namespace_init.py +0 -0
  588. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_table_namespace_isolation.py +0 -0
  589. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_table_profile_exports.py +0 -0
  590. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_tigrbl_api_app_configuration.py +0 -0
  591. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_tigrbl_api_app_instantiation.py +0 -0
  592. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_tigrbl_api_app_subclass_definition.py +0 -0
  593. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_tigrbl_api_configuration.py +0 -0
  594. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_tigrbl_api_instantiation.py +0 -0
  595. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_tigrbl_api_subclass_definition.py +0 -0
  596. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_tigrbl_app_configuration.py +0 -0
  597. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_tigrbl_app_event_handlers.py +0 -0
  598. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_tigrbl_app_instantiation.py +0 -0
  599. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_tigrbl_app_state.py +0 -0
  600. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_tigrbl_app_subclass_definition.py +0 -0
  601. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_transport_compat_imports.py +0 -0
  602. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_transport_demo_bundle.py +0 -0
  603. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_transport_deprecation_warnings.py +0 -0
  604. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_transport_dispatch_parity_contract.py +0 -0
  605. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_transport_gw_contract.py +0 -0
  606. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_transport_response_concrete_class.py +0 -0
  607. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_transport_security_runtime_only.py +0 -0
  608. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_v3_default_root_endpoint.py +0 -0
  609. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_v3_favicon_endpoint.py +0 -0
  610. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_v3_healthz_endpoint.py +0 -0
  611. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_v3_op_alias.py +0 -0
  612. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_v3_op_ctx_attributes.py +0 -0
  613. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_v3_schemas_and_decorators.py +0 -0
  614. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_v3_storage_spec_attributes.py +0 -0
  615. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_verbosity.py +0 -0
  616. {tigrbl_tests-0.4.4.dev1 → tigrbl_tests-0.4.4.dev7}/tests/unit/test_well_known_surface_t2.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tigrbl_tests
3
- Version: 0.4.4.dev1
3
+ Version: 0.4.4.dev7
4
4
  Summary: Reusable Tigrbl pytest fixtures, conformance assertions, integration helpers, and package test utilities.
5
5
  License: Apache License
6
6
  Version 2.0, January 2004
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "tigrbl_tests"
3
- version = "0.4.4.dev1"
3
+ version = "0.4.4.dev7"
4
4
  description = "Reusable Tigrbl pytest fixtures, conformance assertions, integration helpers, and package test utilities."
5
5
  readme = "README.md"
6
6
  license = { file = "LICENSE" }
@@ -9,10 +9,14 @@ RUNTIME_PKG = _STANDARDS / "tigrbl_runtime" / "tigrbl_runtime"
9
9
 
10
10
  def test_dependency_invoke_is_runtime_event_anchor():
11
11
  system = (RUNTIME_PKG / "runtime" / "system.py").read_text()
12
- invoke = (RUNTIME_PKG / "executors" / "invoke.py").read_text()
12
+ phase_runner = (RUNTIME_PKG / "executors" / "phase_runner.py").read_text()
13
+ executors_init = (RUNTIME_PKG / "executors" / "__init__.py").read_text()
14
+ assert not (RUNTIME_PKG / "executors" / "invoke.py").exists()
13
15
  assert "DEP_EXTRA" in system
14
16
  assert '"PRE_TX_BEGIN"' in system
15
- assert '"PRE_TX_BEGIN"' in invoke
17
+ assert '"PRE_TX_BEGIN"' in phase_runner
18
+ assert "invoke_op" not in executors_init
19
+ assert "tigrbl_ops_oltp" not in phase_runner
16
20
 
17
21
 
18
22
  def test_runtime_gateway_owns_runtime_entrypoint_and_send():
@@ -53,7 +53,7 @@ async def test_batch_scheduler_i9n_executemany_to_grouped_fanout() -> None:
53
53
  db=Db(),
54
54
  op="create",
55
55
  model=object,
56
- batch_policy={"enabled": True, "max_size": 2},
56
+ batch_policy={"enabled": True, "max_size": 2, "max_delay_ms": 60_000},
57
57
  temp={},
58
58
  )
59
59
 
@@ -31,7 +31,7 @@ class Hot:
31
31
  batch = {
32
32
  "enabled": True,
33
33
  "max_size": 2,
34
- "max_delay_ms": 1,
34
+ "max_delay_ms": 60_000,
35
35
  "max_queue_depth": 8,
36
36
  }
37
37
 
@@ -7,6 +7,7 @@ from typing import Any
7
7
  import pytest
8
8
 
9
9
  from tigrbl import WebTransportBindingSpec
10
+ from tigrbl_core._spec import TextFramingSpec
10
11
  from tigrbl_core._spec.hook_spec import HookSpec
11
12
  from tigrbl_core._spec.hook_types import HookPhase
12
13
  from tigrbl_concrete._concrete._app import App as TigrblApp
@@ -77,7 +78,7 @@ def _app(path: str) -> TigrblApp:
77
78
  proto="webtransport",
78
79
  path=path,
79
80
  profile="bidi_stream",
80
- inner_framing="text",
81
+ inner_framing=TextFramingSpec(),
81
82
  ),
82
83
  tigrbl_exchange="bidirectional_stream",
83
84
  )
@@ -132,6 +133,7 @@ async def test_tigrbl_webtransport_bidi_stream_runs_over_tigrcorn_contract_event
132
133
  "session_id": "session-1",
133
134
  "stream_id": "stream-1",
134
135
  "stream_direction": "bidi",
136
+ "stream_initiator": "client",
135
137
  "framing": "text",
136
138
  "data": b"echo:hello",
137
139
  "more": False,
@@ -220,7 +222,7 @@ async def test_webtransport_bidi_and_unidi_lane_metadata_reaches_hooks() -> None
220
222
  proto="webtransport",
221
223
  path="/transport/lanes",
222
224
  profile="bidi_stream",
223
- inner_framing="text",
225
+ inner_framing=TextFramingSpec(),
224
226
  ),
225
227
  tigrbl_exchange="bidirectional_stream",
226
228
  )
@@ -8,6 +8,7 @@ from typing import Any
8
8
  import pytest
9
9
 
10
10
  from tigrbl import WebTransportBindingSpec
11
+ from tigrbl_core._spec import TextFramingSpec
11
12
  from tigrbl_core._spec.hook_spec import HookSpec
12
13
  from tigrbl_core._spec.hook_types import HookPhase
13
14
  from tigrbl_concrete._concrete._app import App as TigrblApp
@@ -87,7 +88,7 @@ def _app(path: str) -> TigrblApp:
87
88
  proto="webtransport",
88
89
  path=path,
89
90
  profile="bidi_stream",
90
- inner_framing="text",
91
+ inner_framing=TextFramingSpec(),
91
92
  ),
92
93
  tigrbl_exchange="bidirectional_stream",
93
94
  )
@@ -239,7 +240,7 @@ async def test_webtransport_tigrcorn_session_stays_open_for_delayed_lanes() -> N
239
240
  proto="webtransport",
240
241
  path="/transport/echo-live",
241
242
  profile="bidi_stream",
242
- inner_framing="text",
243
+ inner_framing=TextFramingSpec(),
243
244
  ),
244
245
  tigrbl_exchange="bidirectional_stream",
245
246
  )
@@ -266,20 +267,22 @@ async def test_webtransport_tigrcorn_session_stays_open_for_delayed_lanes() -> N
266
267
  assert stream_sends == [
267
268
  {
268
269
  "type": "webtransport.stream.send",
269
- "session_id": "session-1",
270
- "stream_id": "bidi-1",
271
- "stream_direction": "bidi",
272
- "framing": "text",
273
- "data": b"echo:alpha",
270
+ "session_id": "session-1",
271
+ "stream_id": "bidi-1",
272
+ "stream_direction": "bidi",
273
+ "stream_initiator": "client",
274
+ "framing": "text",
275
+ "data": b"echo:alpha",
274
276
  "more": False,
275
277
  },
276
278
  {
277
279
  "type": "webtransport.stream.send",
278
- "session_id": "session-1",
279
- "stream_id": "bidi-2",
280
- "stream_direction": "bidi",
281
- "framing": "text",
282
- "data": b"echo:beta",
280
+ "session_id": "session-1",
281
+ "stream_id": "bidi-2",
282
+ "stream_direction": "bidi",
283
+ "stream_initiator": "client",
284
+ "framing": "text",
285
+ "data": b"echo:beta",
283
286
  "more": False,
284
287
  },
285
288
  ]
@@ -297,11 +300,11 @@ async def test_webtransport_tigrcorn_session_stays_open_for_delayed_lanes() -> N
297
300
  assert [
298
301
  (item["direction"], item["type"], item.get("stream_id"), item.get("datagram_id"))
299
302
  for item in trace
300
- if item["direction"] == "receive"
303
+ if item["phase"] == "ctx.channel_message"
301
304
  ] == [
302
305
  ("receive", "webtransport.connect", None, None),
303
- ("receive", "webtransport.stream.receive", "bidi-1", None),
304
- ("receive", "webtransport.stream.receive", "bidi-2", None),
306
+ ("bidirectional", "webtransport.stream.receive", "bidi-1", None),
307
+ ("bidirectional", "webtransport.stream.receive", "bidi-2", None),
305
308
  ("receive", "webtransport.datagram.receive", None, "dg-client-1"),
306
309
  ("receive", "webtransport.disconnect", None, None),
307
310
  ]
@@ -8,7 +8,7 @@ from tigrbl._spec import OpSpec
8
8
  from tigrbl.runtime import events as _ev
9
9
  from tigrbl.runtime import system as _sys
10
10
  from tigrbl_kernel import Kernel
11
- from tigrbl_runtime.executors.invoke import invoke_op
11
+ from tigrbl_concrete._mapping.invoke import invoke_op
12
12
 
13
13
 
14
14
  class _FakeDB:
@@ -20,6 +20,7 @@ from tigrbl import (
20
20
  webtransport_ctx,
21
21
  )
22
22
  from tigrbl_core.config.constants import HOOK_DECLS_ATTR
23
+ from tigrbl_core._spec import JsonRpcFramingSpec, StreamFramingSpec
23
24
  from tests.conftest import mro_collect_decorated_ops
24
25
 
25
26
 
@@ -80,10 +81,10 @@ def test_alias_surface_decorators_attach_expected_bindings() -> None:
80
81
 
81
82
  specs = {spec.alias: spec for spec in mro_collect_decorated_ops(Widget)}
82
83
  assert isinstance(specs["socket"].bindings[0], WsBindingSpec)
83
- assert specs["socket"].bindings[0].framing == "jsonrpc"
84
+ assert specs["socket"].bindings[0].framing == JsonRpcFramingSpec()
84
85
  assert isinstance(specs["events"].bindings[0], SseBindingSpec)
85
86
  assert specs["events"].exchange == "server_stream"
86
- assert specs["stream"].bindings[0].framing == "stream"
87
+ assert specs["stream"].bindings[0].framing == StreamFramingSpec()
87
88
  assert specs["transport"].bindings[0].proto == "webtransport"
88
89
 
89
90
 
@@ -66,12 +66,12 @@ def test_transport_bindings_project_canonical_exchange_family_and_subevents() ->
66
66
  ),
67
67
  (
68
68
  binding_spec.HttpStreamBindingSpec(proto="http.stream", path="/items/stream"),
69
- {
70
- "proto": "http.stream",
71
- "exchange": "server_stream",
72
- "framing": "stream",
73
- "family": "stream",
74
- },
69
+ {
70
+ "proto": "http.stream",
71
+ "exchange": "server_stream",
72
+ "framing": "stream",
73
+ "family": "stream",
74
+ },
75
75
  ),
76
76
  (
77
77
  binding_spec.SseBindingSpec(path="/items/events"),
@@ -96,7 +96,7 @@ def test_transport_bindings_project_canonical_exchange_family_and_subevents() ->
96
96
  {
97
97
  "proto": "webtransport",
98
98
  "exchange": "bidirectional_stream",
99
- "framing": "webtransport",
99
+ "framing": "",
100
100
  "family": "session",
101
101
  },
102
102
  ),
@@ -20,6 +20,10 @@ from tigrbl import (
20
20
  )
21
21
  from tigrbl_core._spec import (
22
22
  HttpStreamBindingSpec,
23
+ BytesFramingSpec,
24
+ JsonFramingSpec,
25
+ JsonRpcFramingSpec,
26
+ NdjsonFramingSpec,
23
27
  OpSpec,
24
28
  TableProfileError,
25
29
  TableProfileSpec,
@@ -44,7 +48,7 @@ def test_binding_tokens_have_canonical_shape() -> None:
44
48
  assert token.op_alias == "create"
45
49
  assert token.op_target == "create"
46
50
  assert token.binding_kind == "http.rest"
47
- assert token.path == "/create"
51
+ assert token.path == "/resttable"
48
52
  assert token.methods == ("POST",)
49
53
  assert token.framing == "json"
50
54
  assert token.exchange == "request_response"
@@ -136,9 +140,9 @@ def test_oltp_and_olap_token_details_preserve_protocol_specific_selectors() -> N
136
140
  jsonrpc_olap = {token.op_alias: token for token in _tokens(JsonRpcOlapTable)}
137
141
 
138
142
  assert rest_oltp["merge"].methods == ("PATCH",)
139
- assert rest_oltp["merge"].path == "/merge"
140
- assert rest_olap["aggregate"].methods == ("GET",)
141
- assert rest_olap["aggregate"].path == "/aggregate"
143
+ assert rest_oltp["merge"].path == "/restoltptable/{item_id}"
144
+ assert rest_olap["aggregate"].methods == ("POST",)
145
+ assert rest_olap["aggregate"].path == "/restolaptable"
142
146
  assert jsonrpc_oltp["merge"].rpc_method == "JsonRpcOltpTable.merge"
143
147
  assert jsonrpc_oltp["merge"].framing == "jsonrpc"
144
148
  assert jsonrpc_olap["aggregate"].rpc_method == "JsonRpcOlapTable.aggregate"
@@ -152,7 +156,7 @@ def test_dual_tokens_keep_independent_rest_path_and_jsonrpc_method() -> None:
152
156
 
153
157
  merge = pairs["merge"]
154
158
 
155
- assert merge["http.rest"].path == "/merge"
159
+ assert merge["http.rest"].path == "/restjsonrpcoltptable/{item_id}"
156
160
  assert merge["http.rest"].methods == ("PATCH",)
157
161
  assert merge["http.rest"].rpc_method is None
158
162
  assert merge["http.jsonrpc"].path == ""
@@ -189,7 +193,7 @@ def test_rest_binding_tokens_include_method_path_and_media_type() -> None:
189
193
  assert tokens["update"].methods == ("PATCH",)
190
194
  assert tokens["replace"].methods == ("PUT",)
191
195
  assert tokens["delete"].methods == ("DELETE",)
192
- assert tokens["list"].path == "/list"
196
+ assert tokens["list"].path == "/resttable"
193
197
  assert tokens["list"].framing == "json"
194
198
 
195
199
 
@@ -205,7 +209,11 @@ def test_websocket_binding_tokens_include_framing_and_session_lanes() -> None:
205
209
  tokens = _tokens(WebSocketJsonRpcTable)
206
210
 
207
211
  assert {token.binding_kind for token in tokens} == {"ws"}
212
+ assert {token.protocol_kind for token in tokens} == {"ws"}
208
213
  assert {token.framing for token in tokens} == {"jsonrpc"}
214
+ assert {token.framing_kind for token in tokens} == {"jsonrpc"}
215
+ assert {token.framing_spec for token in tokens} == {"JsonRpcFramingSpec"}
216
+ assert {token.required_subprotocol for token in tokens} == {"jsonrpc"}
209
217
  assert {tuple(binding.subprotocols) for op in TableSpec.collect(WebSocketJsonRpcTable).ops for binding in op.bindings} == {
210
218
  ("jsonrpc",)
211
219
  }
@@ -221,6 +229,73 @@ def test_webtransport_binding_tokens_include_stream_and_datagram_lanes() -> None
221
229
  assert {token.op_target for token in datagram_tokens} == {"send_datagram"}
222
230
 
223
231
 
232
+ def test_webtransport_op_lane_binding_contract() -> None:
233
+ profile = TableProfileSpec(
234
+ kind="webtransport_ops",
235
+ ops=(
236
+ OpSpec(alias="create", target="create"),
237
+ OpSpec(alias="tail", target="tail"),
238
+ OpSpec(alias="append_chunk", target="append_chunk"),
239
+ OpSpec(alias="send_datagram", target="send_datagram"),
240
+ OpSpec(alias="open_unidi_stream", target="open_unidi_stream"),
241
+ ),
242
+ )
243
+
244
+ lowered = lower_table_profile_bindings(WebTransportBidiTable, profile, tuple(profile.ops))
245
+ by_target = {op.target: op.bindings[0] for op in lowered}
246
+
247
+ assert (by_target["create"].lane, by_target["create"].inner_framing) == (
248
+ "bidi_stream",
249
+ JsonRpcFramingSpec(),
250
+ )
251
+ assert (by_target["tail"].lane, by_target["tail"].inner_framing) == (
252
+ "unidi_server_stream",
253
+ NdjsonFramingSpec(),
254
+ )
255
+ assert (
256
+ by_target["append_chunk"].lane,
257
+ by_target["append_chunk"].inner_framing,
258
+ ) == ("unidi_client_stream", BytesFramingSpec())
259
+ assert (
260
+ by_target["send_datagram"].lane,
261
+ by_target["send_datagram"].inner_framing,
262
+ ) == ("datagram", JsonFramingSpec())
263
+ assert (
264
+ by_target["open_unidi_stream"].lane,
265
+ by_target["open_unidi_stream"].inner_framing,
266
+ ) == ("bidi_stream", JsonRpcFramingSpec())
267
+
268
+
269
+ def test_canonical_binding_token_typed_framing_fields() -> None:
270
+ profile = TableProfileSpec(
271
+ kind="tests.explicit-ws-jsonrpc",
272
+ ops=(
273
+ OpSpec(
274
+ alias="create",
275
+ target="create",
276
+ bindings=(
277
+ WebTransportBindingSpec(
278
+ profile="bidi_stream",
279
+ inner_framing=JsonRpcFramingSpec(),
280
+ ),
281
+ ),
282
+ ),
283
+ ),
284
+ custom=True,
285
+ namespace="tests",
286
+ )
287
+ op = tuple(profile.ops)[0]
288
+
289
+ token = lower_binding_tokens_for_ops(WebTransportBidiTable, profile, (op,))[0]
290
+
291
+ assert token.protocol_kind == "webtransport"
292
+ assert token.framing == ""
293
+ assert token.framing_kind == ""
294
+ assert token.framing_spec == ""
295
+ assert token.lane == "bidi_stream"
296
+ assert token.inner_framing == "jsonrpc"
297
+
298
+
224
299
  def test_binding_token_lowering_rejects_unsupported_transport_profile_pairs() -> None:
225
300
  profile = make_table_profile("stream", ())
226
301
  op = OpSpec(alias="create", target="create")
@@ -230,8 +305,8 @@ def test_binding_token_lowering_rejects_unsupported_transport_profile_pairs() ->
230
305
 
231
306
 
232
307
  def test_binding_token_lowering_rejects_unsupported_framing_fallback() -> None:
233
- with pytest.raises(ValueError, match="inner framing"):
234
- WebTransportBindingSpec(profile="datagram", inner_framing="jsonrpc")
308
+ with pytest.raises(TypeError, match="FramingSpec"):
309
+ WebTransportBindingSpec(profile="datagram", inner_framing="ndjson")
235
310
 
236
311
 
237
312
  def test_binding_token_lowering_reports_source_precedence() -> None:
@@ -69,7 +69,7 @@ def _require(module_name: str, attr_name: str):
69
69
  {
70
70
  "exchange": "bidirectional_stream",
71
71
  "family": "session",
72
- "framing": "webtransport",
72
+ "framing": "",
73
73
  "subevents": ("session.open", "stream.received", "datagram.received", "session.close"),
74
74
  },
75
75
  ),
@@ -4,6 +4,8 @@ import importlib
4
4
 
5
5
  import pytest
6
6
 
7
+ from tigrbl_core._spec.binding_spec import JsonRpcFramingSpec
8
+
7
9
 
8
10
  def _require(module_name: str, attr_name: str):
9
11
  try:
@@ -29,7 +31,7 @@ def _require(module_name: str, attr_name: str):
29
31
  ),
30
32
  (
31
33
  {"kind": "http.stream", "path": "/stream"},
32
- {"family": "stream", "framing": "stream", "anchors": ("transport.emit", "transport.emit_complete")},
34
+ {"family": "stream", "framing": "bytes", "anchors": ("transport.emit", "transport.emit_complete")},
33
35
  ),
34
36
  (
35
37
  {"kind": "http.sse", "path": "/events"},
@@ -41,7 +43,7 @@ def _require(module_name: str, attr_name: str):
41
43
  ),
42
44
  (
43
45
  {"kind": "webtransport", "path": "/transport"},
44
- {"family": "session", "framing": "webtransport", "anchors": ("transport.accept", "dispatch.subevent.derive", "transport.close")},
46
+ {"family": "session", "framing": "", "anchors": ("transport.accept", "dispatch.subevent.derive", "transport.close")},
45
47
  ),
46
48
  ),
47
49
  )
@@ -71,6 +73,59 @@ def test_protocol_compilation_is_deterministic_for_equivalent_bindings() -> None
71
73
  assert first == second
72
74
 
73
75
 
76
+ def test_kernel_protocol_plan_accepts_typed_websocket_framing_spec() -> None:
77
+ compile_binding = _require("tigrbl_kernel.protocol_bindings", "compile_binding_protocol_plan")
78
+
79
+ plan = compile_binding(
80
+ op_id="Socket.rpc",
81
+ binding={"kind": "ws", "path": "/socket", "framing": JsonRpcFramingSpec()},
82
+ )
83
+
84
+ assert plan["framing"] == "jsonrpc"
85
+ assert plan["framing_kind"] == "jsonrpc"
86
+ assert plan["framing_spec"] == "JsonRpcFramingSpec"
87
+ assert plan["websocket_subprotocol"] == "jsonrpc"
88
+ assert "required_subprotocol" not in plan
89
+ assert "subprotocols" not in plan
90
+ assert plan["event_key_inputs"]["websocket_subprotocol"] == "jsonrpc"
91
+
92
+
93
+ def test_kernel_protocol_plan_rejects_conflicting_websocket_subprotocol() -> None:
94
+ compile_binding = _require("tigrbl_kernel.protocol_bindings", "compile_binding_protocol_plan")
95
+
96
+ with pytest.raises(ValueError, match="conflicts with subprotocols"):
97
+ compile_binding(
98
+ op_id="Socket.rpc",
99
+ binding={
100
+ "kind": "ws",
101
+ "path": "/socket",
102
+ "framing": JsonRpcFramingSpec(),
103
+ "subprotocols": ("graphql-ws",),
104
+ },
105
+ )
106
+
107
+
108
+ def test_kernel_protocol_plan_normalizes_webtransport_inner_framing_spec() -> None:
109
+ compile_binding = _require("tigrbl_kernel.protocol_bindings", "compile_binding_protocol_plan")
110
+
111
+ plan = compile_binding(
112
+ op_id="Transport.create",
113
+ binding={
114
+ "kind": "webtransport",
115
+ "path": "/wt",
116
+ "profile": "bidi_stream",
117
+ "inner_framing": JsonRpcFramingSpec(),
118
+ },
119
+ )
120
+
121
+ assert plan["framing"] == "jsonrpc"
122
+ assert plan["framing_kind"] == "jsonrpc"
123
+ assert plan["framing_spec"] == "JsonRpcFramingSpec"
124
+ assert plan["inner_framing"] == "jsonrpc"
125
+ assert plan["inner_framing_spec"] == "JsonRpcFramingSpec"
126
+ assert plan["event_key_inputs"]["inner_framing"] == "jsonrpc"
127
+
128
+
74
129
  def test_protocol_compilation_emits_lifecycle_matrix_rows_for_each_subevent() -> None:
75
130
  compile_binding = _require("tigrbl_kernel.protocol_bindings", "compile_binding_protocol_plan")
76
131
 
@@ -98,6 +153,7 @@ def test_protocol_compilation_uses_bindingspec_as_source_of_truth_not_transport_
98
153
  {"kind": "http.rest", "path": "/items", "framing": "sse"},
99
154
  {"kind": "http.jsonrpc", "path": "/rpc"},
100
155
  {"kind": "ws", "path": "/socket", "methods": ("GET",)},
156
+ {"kind": "webtransport", "path": "/transport", "framing": "webtransport"},
101
157
  {"kind": "webtransport", "path": "/transport", "exchange": "request_response"},
102
158
  ),
103
159
  )