tigrbl_tests 0.4.1.dev3__tar.gz → 0.4.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (565) hide show
  1. tigrbl_tests-0.4.2/NOTICE +7 -0
  2. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/PKG-INFO +123 -111
  3. tigrbl_tests-0.4.2/README.md +150 -0
  4. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/pyproject.toml +1 -1
  5. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/architecture/test_transport_dispatch_convergence.py +2 -1
  6. tigrbl_tests-0.4.2/tests/harness_v3/test_route_rpc_prebinding.py +61 -0
  7. tigrbl_tests-0.4.2/tests/harness_v3/test_route_runtime_fallback_atoms.py +40 -0
  8. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_mountable_lens_uvicorn.py +4 -0
  9. tigrbl_tests-0.4.2/tests/i9n/test_transport_demo_tigrcorn_e2e_matrix.py +752 -0
  10. tigrbl_tests-0.4.2/tests/i9n/test_webtransport_tigrcorn_bridge.py +178 -0
  11. tigrbl_tests-0.4.2/tests/i9n/test_webtransport_tigrcorn_session_multiplexing.py +344 -0
  12. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/parity/test_executor_metamorphic_parity.py +0 -2
  13. tigrbl_tests-0.4.2/tests/perf/benchmark_results_create_asgitransport_sequential_10_rounds_250_ops.json +544 -0
  14. tigrbl_tests-0.4.2/tests/perf/benchmark_results_create_httpxtransport_sequential_10_rounds_250_ops.json +544 -0
  15. tigrbl_tests-0.4.2/tests/perf/benchmark_results_create_uvicorn.json +544 -0
  16. tigrbl_tests-0.4.2/tests/perf/benchmark_results_create_uvicorn_sequential_10_rounds.json +544 -0
  17. tigrbl_tests-0.4.2/tests/perf/benchmark_results_create_uvicorn_sequential_10_rounds_250_ops.json +544 -0
  18. tigrbl_tests-0.4.2/tests/perf/tigrbl_create_call_graph_250_ops.json +1589 -0
  19. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/rust/parity/test_rust_parity_contract.py +1 -1
  20. tigrbl_tests-0.4.2/tests/unit/runtime/atoms/test_route_protocol_detect.py +86 -0
  21. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_binding_exchange_normalization_contract.py +5 -5
  22. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_bindingspec_kernelplan_protocol_compilation_contract.py +3 -3
  23. tigrbl_tests-0.4.2/tests/unit/runtime/test_canonical_bindingspec_framing_policy.py +178 -0
  24. tigrbl_tests-0.4.2/tests/unit/runtime/test_contract_classification_consumption_policy.py +75 -0
  25. tigrbl_tests-0.4.2/tests/unit/runtime/test_contract_classification_drift_guard.py +102 -0
  26. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_derived_runtime_subevent_taxonomy_contract.py +7 -4
  27. tigrbl_tests-0.4.2/tests/unit/runtime/test_legacy_runtime_family_alias_normalization.py +44 -0
  28. tigrbl_tests-0.4.2/tests/unit/runtime/test_payload_select_header_merge.py +38 -0
  29. tigrbl_tests-0.4.2/tests/unit/runtime/test_payload_select_invalid_rpc_params.py +34 -0
  30. tigrbl_tests-0.4.2/tests/unit/runtime/test_tigr_asgi_contract_family_set_alignment.py +52 -0
  31. tigrbl_tests-0.4.2/tests/unit/runtime/test_webtransport_lane_framing_policy.py +317 -0
  32. tigrbl_tests-0.4.2/tests/unit/runtime/test_webtransport_session_multiplexing_policy.py +144 -0
  33. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_webtransport_transport_events_contract.py +43 -0
  34. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_cli_cmds.py +8 -0
  35. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_http_route_registration.py +2 -1
  36. tigrbl_tests-0.4.2/tests/unit/test_openapi_schema_cache_contract.py +30 -0
  37. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_operator_docs_descope_contracts.py +21 -6
  38. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_operator_oidc_descope_contracts.py +1 -1
  39. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_operator_surface_closure.py +3 -6
  40. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_operator_surface_docs_parity.py +3 -3
  41. tigrbl_tests-0.4.2/tests/unit/test_package_badges_and_notices.py +72 -0
  42. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_spec_binding_app_engine_contracts.py +6 -6
  43. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_system_uix_surface_contracts.py +5 -0
  44. tigrbl_tests-0.4.2/tests/unit/test_transport_demo_bundle.py +162 -0
  45. tigrbl_tests-0.4.1.dev3/README.md +0 -139
  46. tigrbl_tests-0.4.1.dev3/tests/harness_v3/test_route_rpc_prebinding.py +0 -1
  47. tigrbl_tests-0.4.1.dev3/tests/harness_v3/test_route_runtime_fallback_atoms.py +0 -1
  48. tigrbl_tests-0.4.1.dev3/tests/perf/benchmark_results_create_asgitransport_sequential_10_rounds_250_ops.json +0 -544
  49. tigrbl_tests-0.4.1.dev3/tests/perf/benchmark_results_create_httpxtransport_sequential_10_rounds_250_ops.json +0 -544
  50. tigrbl_tests-0.4.1.dev3/tests/perf/benchmark_results_create_uvicorn.json +0 -544
  51. tigrbl_tests-0.4.1.dev3/tests/perf/benchmark_results_create_uvicorn_sequential_10_rounds.json +0 -544
  52. tigrbl_tests-0.4.1.dev3/tests/perf/benchmark_results_create_uvicorn_sequential_10_rounds_250_ops.json +0 -544
  53. tigrbl_tests-0.4.1.dev3/tests/perf/tigrbl_create_call_graph_250_ops.json +0 -1589
  54. tigrbl_tests-0.4.1.dev3/tests/unit/runtime/atoms/test_route_protocol_detect.py +0 -1
  55. tigrbl_tests-0.4.1.dev3/tests/unit/runtime/test_payload_select_header_merge.py +0 -1
  56. tigrbl_tests-0.4.1.dev3/tests/unit/runtime/test_payload_select_invalid_rpc_params.py +0 -1
  57. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/LICENSE +0 -0
  58. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/__init__.py +0 -0
  59. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/architecture/test_import_graph_audit.py +0 -0
  60. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/architecture/test_no_bindings_imports.py +0 -0
  61. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/architecture/test_operation_resolution_parity.py +0 -0
  62. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/architecture/test_runtime_structure.py +0 -0
  63. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/architecture/test_trace_plan_parity.py +0 -0
  64. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/architecture/test_transport_boundaries.py +0 -0
  65. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/conftest.py +0 -0
  66. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/fixtures/appspec_corpus.canonical.json +0 -0
  67. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/fixtures/appspec_corpus.negative.json +0 -0
  68. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/fixtures/appspec_corpus_loader.py +0 -0
  69. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/fixtures/cli_smoke_app.py +0 -0
  70. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/fixtures/system_diagnostics.py +0 -0
  71. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/harness/test_00_appspec_contract.py +0 -0
  72. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/harness/test_01_kernel_plan_compilation.py +0 -0
  73. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/harness/test_02_bootstrap_plan.py +0 -0
  74. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/harness/test_03_appspec_uvicorn_e2e.py +0 -0
  75. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/harness/test_04_appspec_corpus_fixture.py +0 -0
  76. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/harness/test_05_appspec_metamorphic.py +0 -0
  77. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/harness_e2e/test_00_appspec_uvicorn_rest_rpc.py +0 -0
  78. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/harness_e2e/test_01_appspec_corpus_uvicorn.py +0 -0
  79. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/harness_e2e/test_01_imperative_uvicorn_rest_rpc.py +0 -0
  80. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/harness_v3/__init__.py +0 -0
  81. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/harness_v3/_support.py +0 -0
  82. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/harness_v3/test_appspec_prefixes.py +0 -0
  83. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/harness_v3/test_bootstrap_kernel_compilation.py +0 -0
  84. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/harness_v3/test_default_opspec_bindings.py +0 -0
  85. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/harness_v3/test_kernel_plan_routing.py +0 -0
  86. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/harness_v3/test_mapping_plan_compilation.py +0 -0
  87. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/harness_v3/test_uvicorn_e2e_appspec.py +0 -0
  88. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/hooks/test_hook_ctx_stage_validation.py +0 -0
  89. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/__init__.py +0 -0
  90. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_acronym_route_name.py +0 -0
  91. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_allow_anon.py +0 -0
  92. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_apikey_generation.py +0 -0
  93. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_auth_status_projection_contract.py +0 -0
  94. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_authn_provider_integration.py +0 -0
  95. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_batch_scheduler_i9n.py +0 -0
  96. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_bindings_integration.py +0 -0
  97. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_bindings_modules.py +0 -0
  98. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_bulk_docs_client.py +0 -0
  99. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_canonical_appspec_runtime_lowering.py +0 -0
  100. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_core_access.py +0 -0
  101. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_engine_install_uvicorn.py +0 -0
  102. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_engine_resolver_uvicorn.py +0 -0
  103. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_error_mappings.py +0 -0
  104. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_field_spec_effects.py +0 -0
  105. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_header_io_uvicorn.py +0 -0
  106. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_healthz_methodz_hookz.py +0 -0
  107. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_hook_ctx_v3_i9n.py +0 -0
  108. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_hook_lifecycle.py +0 -0
  109. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_hot_path_batch_slots.py +0 -0
  110. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_http_stream_batch_runtime_execution.py +0 -0
  111. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_http_stream_batch_scheduler.py +0 -0
  112. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_iospec_attributes.py +0 -0
  113. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_iospec_integration.py +0 -0
  114. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_jsonrpc_batch_behavior.py +0 -0
  115. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_jsonrpc_batch_runtime_execution.py +0 -0
  116. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_jsonrpc_batch_scheduler.py +0 -0
  117. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_key_digest_uvicorn.py +0 -0
  118. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_list_filters_optional.py +0 -0
  119. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_mixins.py +0 -0
  120. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_mountable_favicon_uvicorn.py +0 -0
  121. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_mountable_openapi_uvicorn.py +0 -0
  122. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_mountable_openrpc_uvicorn.py +0 -0
  123. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_mountable_swagger_uvicorn.py +0 -0
  124. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_nested_path_schema_and_rpc.py +0 -0
  125. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_nested_routing_depth.py +0 -0
  126. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_op_ctx_alias_examples.py +0 -0
  127. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_op_ctx_behavior.py +0 -0
  128. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_op_ctx_core_crud_order.py +0 -0
  129. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_op_ctx_owner_scope_materialization_contracts.py +0 -0
  130. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_op_ctx_owner_scope_uvicorn_matrix.py +0 -0
  131. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_openapi_clear_response_schema.py +0 -0
  132. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_openapi_schema_examples_presence.py +0 -0
  133. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_opspec_effects_i9n_test.py +0 -0
  134. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_opspec_pre_tx_deps.py +0 -0
  135. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_owner_tenant_policy.py +0 -0
  136. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_request_extras.py +0 -0
  137. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_resident_batch_scheduler_runtime.py +0 -0
  138. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_rest_fallback_serialization.py +0 -0
  139. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_rest_row_serialization.py +0 -0
  140. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_rest_rpc_parity_v3.py +0 -0
  141. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_row_result_serialization.py +0 -0
  142. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_schema.py +0 -0
  143. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_schema_ctx_attributes_integration.py +0 -0
  144. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_schema_ctx_op_ctx_integration.py +0 -0
  145. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_schema_ctx_spec_integration.py +0 -0
  146. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_sqlite_attachments.py +0 -0
  147. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_storage_spec_integration.py +0 -0
  148. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_symmetry_parity.py +0 -0
  149. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_tigrbl_api_app_usage_uvicorn.py +0 -0
  150. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_tigrbl_api_usage_uvicorn.py +0 -0
  151. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_tigrbl_api_uvicorn.py +0 -0
  152. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_tigrbl_app_include_api_uvicorn.py +0 -0
  153. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_tigrbl_app_multi_api_uvicorn.py +0 -0
  154. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_tigrbl_app_usage_uvicorn.py +0 -0
  155. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_tigrbl_app_uvicorn.py +0 -0
  156. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_transport_dispatch_parity.py +0 -0
  157. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_types_deprecation_exports.py +0 -0
  158. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_uvicorn_transport_behavior.py +0 -0
  159. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_v3_bulk_rest_endpoints.py +0 -0
  160. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_v3_default_rest_ops.py +0 -0
  161. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_v3_default_rpc_ops.py +0 -0
  162. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_v3_opspec_attributes.py +0 -0
  163. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_verb_alias_policy.py +0 -0
  164. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_websocket_batch_runtime_execution.py +0 -0
  165. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/test_websocket_batch_scheduler.py +0 -0
  166. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/i9n/uvicorn_utils.py +0 -0
  167. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/mount/__init__.py +0 -0
  168. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/mount/test_mount_favico.py +0 -0
  169. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/options/test_rest_options.py +0 -0
  170. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/options/test_rpc_options.py +0 -0
  171. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/parity/__init__.py +0 -0
  172. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/parity/test_atom_parity_corpus.py +0 -0
  173. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/parity/test_hook_runtime_stage_parity.py +0 -0
  174. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/parity/test_stdapi_openapi_docs.py +0 -0
  175. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/parity/test_stdapi_primitives.py +0 -0
  176. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/parity/test_stdapi_routing.py +0 -0
  177. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/__init__.py +0 -0
  178. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/benchmark_results_executors_seq_10_rounds.json +0 -0
  179. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/benchmark_results_executors_seq_10_rounds_1000_ops.json +0 -0
  180. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/benchmark_results_sse_uvicorn.json +0 -0
  181. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/benchmark_results_streaming_uvicorn.json +0 -0
  182. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/benchmark_results_tigrbl_create_batch_policy_permutations_15_rounds_2500_ops.json +0 -0
  183. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/benchmark_results_tigrbl_create_batch_policy_permutations_20_rounds_2500_ops.json +0 -0
  184. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/benchmark_results_tigrbl_create_batch_policy_permutations_20_rounds_250_ops.json +0 -0
  185. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/benchmark_results_tigrbl_create_modes_15_rounds_250_ops.json +0 -0
  186. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/benchmark_results_websocket_uvicorn.json +0 -0
  187. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/benchmark_results_webtransport_uvicorn.json +0 -0
  188. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/compiled_input_strategy_microbench.json +0 -0
  189. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/conftest.py +0 -0
  190. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/egress_body_coercion_microbench.json +0 -0
  191. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/exact_route_marker_microbench.json +0 -0
  192. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/fastapi_create_call_graph_250_ops.json +0 -0
  193. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/fastapi_sse_call_graph_250_ops.json +0 -0
  194. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/fastapi_sse_transport_call_graph_250_ops.json +0 -0
  195. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/fastapi_streaming_call_graph_250_ops.json +0 -0
  196. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/fastapi_websocket_call_graph_250_ops.json +0 -0
  197. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/fastapi_websocket_transport_call_graph_250_ops.json +0 -0
  198. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/helper_fastapi_create_app.py +0 -0
  199. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/helper_sse_apps.py +0 -0
  200. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/helper_streaming_apps.py +0 -0
  201. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/helper_tigrbl_create_app.py +0 -0
  202. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/helper_websocket_apps.py +0 -0
  203. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/helper_webtransport_apps.py +0 -0
  204. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/hot_block_lane_microbench.json +0 -0
  205. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/hot_path_perf_suite_manifest.json +0 -0
  206. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/hot_path_perf_suite_report.md +0 -0
  207. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/kernel-plan-benchmark-sse.json +0 -0
  208. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/kernel-plan-benchmark-sse.md +0 -0
  209. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/kernel-plan-benchmark-streaming.json +0 -0
  210. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/kernel-plan-benchmark-streaming.md +0 -0
  211. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/kernel-plan-benchmark-websocket.json +0 -0
  212. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/kernel-plan-benchmark-websocket.md +0 -0
  213. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/kernel-plan-benchmark-webtransport.json +0 -0
  214. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/kernel-plan-benchmark-webtransport.md +0 -0
  215. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/kernel-plan-benchmark.json +0 -0
  216. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/kernel-plan-benchmark.md +0 -0
  217. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/runtime_hotstate_microbench.json +0 -0
  218. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/runtime_namespace_dictget_microbench.json +0 -0
  219. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/runtime_typecheck_microbench.json +0 -0
  220. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/test_collect_caching.py +0 -0
  221. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/test_comparative_benchmark_verification.py +0 -0
  222. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/test_compiled_input_strategy_microbench.py +0 -0
  223. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/test_egress_body_coercion_microbench.py +0 -0
  224. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/test_exact_route_marker_microbench.py +0 -0
  225. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/test_fastapi_create_call_graph.py +0 -0
  226. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/test_fastapi_vs_tigrbl_executor_benchmark.py +0 -0
  227. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/test_hookz_performance.py +0 -0
  228. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/test_hot_block_lane_microbench.py +0 -0
  229. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/test_methodz_performance.py +0 -0
  230. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/test_open_loop_load_patterns.py +0 -0
  231. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/test_runtime_hotstate_microbench.py +0 -0
  232. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/test_runtime_namespace_dictget_microbench.py +0 -0
  233. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/test_runtime_typecheck_microbench.py +0 -0
  234. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/test_tigrbl_create_batch_modes_benchmark.py +0 -0
  235. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/test_tigrbl_create_batch_policy_permutations_benchmark.py +0 -0
  236. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/test_tigrbl_create_call_graph.py +0 -0
  237. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/test_tigrbl_vs_fastapi_create_benchmark.py +0 -0
  238. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/test_validation_guard_strategy_microbench.py +0 -0
  239. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tgpkhot1-benchmark-items.benchmark.json +0 -0
  240. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tgpkhot1-benchmark-items.benchmark.md +0 -0
  241. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tgpkhot1-benchmark-items.bin +0 -0
  242. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tgpkhot1-benchmark-items.hexdump.txt +0 -0
  243. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tgpkhot1-benchmark-items.summary.json +0 -0
  244. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tgpkhot1-benchmark-sse.benchmark.json +0 -0
  245. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tgpkhot1-benchmark-sse.benchmark.md +0 -0
  246. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tgpkhot1-benchmark-sse.bin +0 -0
  247. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tgpkhot1-benchmark-sse.hexdump.txt +0 -0
  248. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tgpkhot1-benchmark-sse.summary.json +0 -0
  249. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tgpkhot1-benchmark-streaming.benchmark.json +0 -0
  250. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tgpkhot1-benchmark-streaming.benchmark.md +0 -0
  251. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tgpkhot1-benchmark-streaming.bin +0 -0
  252. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tgpkhot1-benchmark-streaming.hexdump.txt +0 -0
  253. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tgpkhot1-benchmark-streaming.summary.json +0 -0
  254. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tgpkhot1-benchmark-websocket.benchmark.json +0 -0
  255. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tgpkhot1-benchmark-websocket.benchmark.md +0 -0
  256. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tgpkhot1-benchmark-websocket.bin +0 -0
  257. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tgpkhot1-benchmark-websocket.hexdump.txt +0 -0
  258. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tgpkhot1-benchmark-websocket.summary.json +0 -0
  259. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tgpkhot1-benchmark-webtransport.benchmark.json +0 -0
  260. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tgpkhot1-benchmark-webtransport.benchmark.md +0 -0
  261. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tgpkhot1-benchmark-webtransport.bin +0 -0
  262. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tgpkhot1-benchmark-webtransport.hexdump.txt +0 -0
  263. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tgpkhot1-benchmark-webtransport.summary.json +0 -0
  264. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tigrbl_sse_call_graph_250_ops.json +0 -0
  265. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tigrbl_sse_transport_call_graph_250_ops.json +0 -0
  266. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tigrbl_streaming_call_graph_250_ops.json +0 -0
  267. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tigrbl_websocket_call_graph_250_ops.json +0 -0
  268. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tigrbl_websocket_transport_call_graph_250_ops.json +0 -0
  269. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tigrbl_webtransport_call_graph_250_ops.json +0 -0
  270. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/tigrbl_webtransport_transport_call_graph_250_ops.json +0 -0
  271. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/validation_guard_strategy_microbench.json +0 -0
  272. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/perf/wsproto_client.py +0 -0
  273. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/protocol/test_protocol_runtime_governance_contracts.py +0 -0
  274. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/request/test_request_asgi_scope_compat.py +0 -0
  275. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/request/test_request_authn_strip.py +0 -0
  276. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/request/test_request_dot_notation.py +0 -0
  277. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/request/test_request_response_conveniences.py +0 -0
  278. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/request/test_request_transport_convenience_dot_notation.py +0 -0
  279. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/requests/test_request_json_modes.py +0 -0
  280. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/response/test_response_dot_notation.py +0 -0
  281. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/response/test_response_transport_convenience_dot_notation.py +0 -0
  282. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/rust/atoms/test_rust_atoms_public_surface.py +0 -0
  283. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/rust/ffi/test_rust_binding_trace.py +0 -0
  284. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/rust/kernel/test_rust_kernel_public_surface.py +0 -0
  285. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/rust/runtime/test_rust_runtime_engine_policy.py +0 -0
  286. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/rust/runtime/test_rust_runtime_public_surface.py +0 -0
  287. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/security/test_dot_notation_schemes.py +0 -0
  288. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/security/test_httpbearer_contract.py +0 -0
  289. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/security/test_schemes.py +0 -0
  290. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/test_secdeps_execute_in_pre_tx.py +0 -0
  291. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/__init__.py +0 -0
  292. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/decorators/test_alias_ctx_bindings.py +0 -0
  293. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/decorators/test_declarative_surface.py +0 -0
  294. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/decorators/test_engine_ctx_bindings.py +0 -0
  295. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/decorators/test_hook_ctx_bindings.py +0 -0
  296. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/decorators/test_op_alias_bindings.py +0 -0
  297. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/decorators/test_op_ctx_bindings.py +0 -0
  298. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/decorators/test_response_ctx_bindings.py +0 -0
  299. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/decorators/test_schema_ctx_bindings.py +0 -0
  300. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/response_utils.py +0 -0
  301. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/atoms/test_emit_paired_post.py +0 -0
  302. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/atoms/test_emit_paired_pre.py +0 -0
  303. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/atoms/test_emit_readtime_alias.py +0 -0
  304. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/atoms/test_out_masking.py +0 -0
  305. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/atoms/test_refresh_demand.py +0 -0
  306. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/atoms/test_resolve_assemble.py +0 -0
  307. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/atoms/test_resolve_paired_gen.py +0 -0
  308. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/atoms/test_schema_collect_in.py +0 -0
  309. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/atoms/test_schema_collect_out.py +0 -0
  310. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/atoms/test_storage_to_stored.py +0 -0
  311. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/atoms/test_wire_build_in.py +0 -0
  312. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/atoms/test_wire_build_out.py +0 -0
  313. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/atoms/test_wire_dump.py +0 -0
  314. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/atoms/test_wire_validate_in.py +0 -0
  315. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_app_framed_message_codec_contract.py +0 -0
  316. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_atom_stage_window_static.py +0 -0
  317. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_binding_subevent_phase_atom_legality_matrix_contract.py +0 -0
  318. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_bindingspec_event_subevent_schema_contract.py +0 -0
  319. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_compilation_runtime_behavior.py +0 -0
  320. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_compiled_loop_regions_contract.py +0 -0
  321. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_completion_fence_emit_complete_contract.py +0 -0
  322. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_dispatch_exchange_family_subevent_atoms_contract.py +0 -0
  323. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_eventful_channel_state_metadata_contract.py +0 -0
  324. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_eventful_protocol_decorator_surface_contract.py +0 -0
  325. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_eventful_subevent_surface_contracts.py +0 -0
  326. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_eventkey_bit_coded_dispatch_contract.py +0 -0
  327. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_eventkey_hook_bucket_compilation_contract.py +0 -0
  328. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_events_runtime_behavior.py +0 -0
  329. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_events_stages.py +0 -0
  330. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_first_class_callback_runtime_contract.py +0 -0
  331. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_first_class_webhook_delivery_contract.py +0 -0
  332. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_framing_decode_encode_atoms_contract.py +0 -0
  333. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_hook_selector_matching_contract.py +0 -0
  334. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_http_rest_jsonrpc_atom_chain_contract.py +0 -0
  335. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_http_stream_atom_chain_contract.py +0 -0
  336. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_ingress_egress_access.py +0 -0
  337. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_iterator_producer_contract.py +0 -0
  338. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_kernel_plan_event_ordering.py +0 -0
  339. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_kernel_plan_full_ordering.py +0 -0
  340. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_kernel_runtime_behavior.py +0 -0
  341. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_kernelplan_executor_runtime_shim_contract.py +0 -0
  342. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_lifespan_runtime_chain_contract.py +0 -0
  343. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_loop_ownership_mode_contract.py +0 -0
  344. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_loop_region_executor_contract.py +0 -0
  345. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_opchannel_capability_handshake_contract.py +0 -0
  346. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_ordering_runtime_behavior.py +0 -0
  347. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_packed_executor_hot_path_contract.py +0 -0
  348. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_protocol_anchor_ordering_parity_contract.py +0 -0
  349. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_protocol_phase_tree_contract.py +0 -0
  350. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_protocol_phase_tree_plan_contract.py +0 -0
  351. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_protocol_scope_schemas_contract.py +0 -0
  352. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_protocol_segment_fusion_contract.py +0 -0
  353. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_runtime_hook_legality_contract.py +0 -0
  354. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_segment_fusion_barrier_policy_contract.py +0 -0
  355. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_sse_runtime_contract.py +0 -0
  356. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_static_file_runtime_chain_contract.py +0 -0
  357. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_subevent_handler_dispatch_contract.py +0 -0
  358. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_subevent_transaction_units_contract.py +0 -0
  359. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_transport_accept_emit_close_atoms_contract.py +0 -0
  360. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_transport_event_registry_contract.py +0 -0
  361. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_two_axis_lifecycle_matrix_contract.py +0 -0
  362. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_websocket_atom_chain_contract.py +0 -0
  363. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/runtime/test_yield_iterator_producer_contract.py +0 -0
  364. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_acol_vcol_knobs.py +0 -0
  365. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_alias_ctx_op_alias_attributes.py +0 -0
  366. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_alias_ctx_op_attributes.py +0 -0
  367. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_api_level_set_auth.py +0 -0
  368. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_app_model_defaults.py +0 -0
  369. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_app_reexport.py +0 -0
  370. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_app_spec_normalization.py +0 -0
  371. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_attrdict_vs_simplenamespace.py +0 -0
  372. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_authorize_runtime_secdep.py +0 -0
  373. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_base_columnspec_inheritance.py +0 -0
  374. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_base_facade_initialize.py +0 -0
  375. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_base_public_projection_contracts.py +0 -0
  376. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_batch_config_defaults.py +0 -0
  377. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_build_list_params_spec_model.py +0 -0
  378. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_bulk_body_annotation.py +0 -0
  379. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_bulk_response_schema.py +0 -0
  380. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_canonical_custom_op_contract.py +0 -0
  381. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_canonical_file_transfer_op_contracts.py +0 -0
  382. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_canonical_pubsub_op_contracts.py +0 -0
  383. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_canonical_query_op_contracts.py +0 -0
  384. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_canonical_standard_op_contracts.py +0 -0
  385. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_canonical_stream_transport_op_contracts.py +0 -0
  386. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_canonical_tail_op_contract.py +0 -0
  387. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_cli_srv.py +0 -0
  388. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_colspec_map_isolation.py +0 -0
  389. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_column_collect_mixins.py +0 -0
  390. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_column_mro_collect_namespace.py +0 -0
  391. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_column_rest_rpc_results.py +0 -0
  392. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_column_table_orm_binding.py +0 -0
  393. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_concrete_response_classes.py +0 -0
  394. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_config_dataclass_none.py +0 -0
  395. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_core_crud_bulk_ops.py +0 -0
  396. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_core_crud_default_ops.py +0 -0
  397. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_core_crud_methods.py +0 -0
  398. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_core_wrap_memoization.py +0 -0
  399. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_db_dependency.py +0 -0
  400. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_declared_surface_docs.py +0 -0
  401. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_declared_surface_metadata_contracts.py +0 -0
  402. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_decorator_and_collect.py +0 -0
  403. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_default_schema_selection.py +0 -0
  404. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_default_tags.py +0 -0
  405. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_diagnostics_endpoint_contracts.py +0 -0
  406. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_diagnostics_no_compat_module.py +0 -0
  407. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_docs_security_parity.py +0 -0
  408. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_engine_install_api.py +0 -0
  409. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_engine_install_app.py +0 -0
  410. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_engine_install_op.py +0 -0
  411. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_engine_install_table.py +0 -0
  412. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_engine_resolver_precedence_contract.py +0 -0
  413. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_engine_session_database_availability.py +0 -0
  414. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_engine_spec_and_shortcuts.py +0 -0
  415. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_engine_usage_levels.py +0 -0
  416. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_field_spec_attrs.py +0 -0
  417. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_field_spec_constraints.py +0 -0
  418. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_file_response.py +0 -0
  419. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_get_schema.py +0 -0
  420. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_handler_step_qualname.py +0 -0
  421. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_hook_ctx_attributes.py +0 -0
  422. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_hook_ctx_binding.py +0 -0
  423. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_hook_surface_contracts.py +0 -0
  424. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_hookz_empty_stage.py +0 -0
  425. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_hybrid_session_run_sync.py +0 -0
  426. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_in_tx.py +0 -0
  427. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_include_model_columns_namespace.py +0 -0
  428. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_include_models_base_prefix.py +0 -0
  429. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_include_tables_base_prefix.py +0 -0
  430. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_initialize_async_task.py +0 -0
  431. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_initialize_cross_ddl.py +0 -0
  432. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_initialize_mixed_engines.py +0 -0
  433. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_initialize_task_schedule.py +0 -0
  434. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_instance_naming_conventions.py +0 -0
  435. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_io_spec_attributes.py +0 -0
  436. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_iospec_attributes.py +0 -0
  437. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_iospec_effects.py +0 -0
  438. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_jcs_canonicalization_contract.py +0 -0
  439. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_jsonrpc_id_example.py +0 -0
  440. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_jsonrpc_openrpc.py +0 -0
  441. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_jsonrpc_router_default_tag.py +0 -0
  442. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_kernel_invoke_ctx.py +0 -0
  443. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_kernel_opview_on_demand.py +0 -0
  444. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_kernel_plan_labels.py +0 -0
  445. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_kernelz_endpoint.py +0 -0
  446. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_make_column_shortcuts.py +0 -0
  447. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_mapping_bind_response_export.py +0 -0
  448. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_mapping_plan_precedence.py +0 -0
  449. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_middleware_http_and_cors.py +0 -0
  450. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_mixins_sqlalchemy.py +0 -0
  451. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_op_alias.py +0 -0
  452. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_op_class_engine_binding.py +0 -0
  453. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_op_ctx_arity_paths.py +0 -0
  454. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_op_ctx_attributes.py +0 -0
  455. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_op_ctx_core_crud_integration.py +0 -0
  456. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_op_ctx_custom_target_persist.py +0 -0
  457. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_op_ctx_dynamic_attach.py +0 -0
  458. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_op_ctx_parameter_matrix.py +0 -0
  459. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_op_ctx_persist_options.py +0 -0
  460. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_op_surface_owner_scope_contracts.py +0 -0
  461. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_openapi_documentation_security_behavior.py +0 -0
  462. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_openapi_openrpc_schema_separation.py +0 -0
  463. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_openrpc_documentation_security_behavior.py +0 -0
  464. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_operator_auth_surface_contracts.py +0 -0
  465. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_operator_bounded_middleware_catalog_contracts.py +0 -0
  466. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_operator_cookie_form_upload_contracts.py +0 -0
  467. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_operator_static_files_contracts.py +0 -0
  468. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_operator_streaming_sse_contracts.py +0 -0
  469. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_operator_websocket_route_contracts.py +0 -0
  470. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_opspec_effects.py +0 -0
  471. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_postgres_engine_errors.py +0 -0
  472. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_postgres_env_vars.py +0 -0
  473. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_relationship_alias_cols.py +0 -0
  474. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_request_body_schema.py +0 -0
  475. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_request_response_examples.py +0 -0
  476. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_resolver_interning_warmup.py +0 -0
  477. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_resolver_precedence.py +0 -0
  478. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_response_alias_table_rpc.py +0 -0
  479. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_response_ctx_precedence.py +0 -0
  480. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_response_diagnostics_kernelz.py +0 -0
  481. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_response_html_jinja_behavior.py +0 -0
  482. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_response_parity.py +0 -0
  483. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_response_rest.py +0 -0
  484. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_response_rpc.py +0 -0
  485. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_response_template.py +0 -0
  486. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_response_uuid.py +0 -0
  487. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_rest_all_default_op_verbs.py +0 -0
  488. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_rest_bulk_delete_suppresses_clear.py +0 -0
  489. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_rest_jsonrpc_metamorphic_default_ops.py +0 -0
  490. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_rest_no_schema_jsonable.py +0 -0
  491. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_rest_operation_id_uniqueness.py +0 -0
  492. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_rest_output_serialization_extras.py +0 -0
  493. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_rest_request_mapping_access.py +0 -0
  494. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_rest_rpc_parity_default_ops.py +0 -0
  495. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_rest_rpc_prefixes.py +0 -0
  496. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_rest_rpc_symmetry.py +0 -0
  497. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_router_compatibility_shims.py +0 -0
  498. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_router_dependency_execution_blocked.py +0 -0
  499. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_rpc_all_default_op_verbs.py +0 -0
  500. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_rpc_default_ops.py +0 -0
  501. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_schema_ctx_attributes.py +0 -0
  502. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_schema_ctx_plain_class.py +0 -0
  503. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_schema_readiness_fail_closed_contract.py +0 -0
  504. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_schema_spec_presence.py +0 -0
  505. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_schemas_binding.py +0 -0
  506. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_security_contract_auth_policy_parity.py +0 -0
  507. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_security_dependency_surface_contracts.py +0 -0
  508. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_security_per_route.py +0 -0
  509. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_should_wire_canonical.py +0 -0
  510. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_spec_api.py +0 -0
  511. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_spec_app.py +0 -0
  512. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_spec_column.py +0 -0
  513. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_spec_contracts_request_schema_storage.py +0 -0
  514. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_spec_contracts_session_bindings.py +0 -0
  515. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_spec_contracts_table_registry_template.py +0 -0
  516. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_spec_engine.py +0 -0
  517. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_spec_field.py +0 -0
  518. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_spec_hook.py +0 -0
  519. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_spec_io.py +0 -0
  520. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_spec_op.py +0 -0
  521. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_spec_snapshots.py +0 -0
  522. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_spec_storage.py +0 -0
  523. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_spec_table.py +0 -0
  524. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_sqlite_attachments.py +0 -0
  525. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_sqlite_uuid_type.py +0 -0
  526. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_stdapi_request_injection.py +0 -0
  527. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_stdapi_transport_asgi_wsgi.py +0 -0
  528. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_storage_spec_attributes.py +0 -0
  529. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_sys_handler_crud.py +0 -0
  530. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_sys_run_rollback.py +0 -0
  531. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_sys_tx_async_begin.py +0 -0
  532. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_sys_tx_begin.py +0 -0
  533. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_sys_tx_commit.py +0 -0
  534. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_system_diagnostics_fixture_contracts.py +0 -0
  535. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_system_docs_builders.py +0 -0
  536. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_system_docs_diagnostics_contracts.py +0 -0
  537. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_table_base_exports.py +0 -0
  538. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_table_collect_spec.py +0 -0
  539. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_table_columns_namespace.py +0 -0
  540. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_table_model_attribute_contract.py +0 -0
  541. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_table_namespace_init.py +0 -0
  542. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_table_namespace_isolation.py +0 -0
  543. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_tigrbl_api_app_configuration.py +0 -0
  544. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_tigrbl_api_app_instantiation.py +0 -0
  545. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_tigrbl_api_app_subclass_definition.py +0 -0
  546. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_tigrbl_api_configuration.py +0 -0
  547. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_tigrbl_api_instantiation.py +0 -0
  548. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_tigrbl_api_subclass_definition.py +0 -0
  549. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_tigrbl_app_configuration.py +0 -0
  550. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_tigrbl_app_event_handlers.py +0 -0
  551. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_tigrbl_app_instantiation.py +0 -0
  552. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_tigrbl_app_state.py +0 -0
  553. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_tigrbl_app_subclass_definition.py +0 -0
  554. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_transport_dispatch_parity_contract.py +0 -0
  555. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_transport_gw_contract.py +0 -0
  556. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_transport_response_concrete_class.py +0 -0
  557. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_transport_security_runtime_only.py +0 -0
  558. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_v3_default_root_endpoint.py +0 -0
  559. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_v3_favicon_endpoint.py +0 -0
  560. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_v3_healthz_endpoint.py +0 -0
  561. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_v3_op_alias.py +0 -0
  562. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_v3_op_ctx_attributes.py +0 -0
  563. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_v3_schemas_and_decorators.py +0 -0
  564. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_v3_storage_spec_attributes.py +0 -0
  565. {tigrbl_tests-0.4.1.dev3 → tigrbl_tests-0.4.2}/tests/unit/test_verbosity.py +0 -0
@@ -0,0 +1,7 @@
1
+ Tigrbl
2
+ Copyright 2026 Swarmauri
3
+
4
+ This product includes software developed by Swarmauri.
5
+
6
+ Tigrbl is licensed under the Apache License, Version 2.0.
7
+ See the LICENSE file distributed with this work for the full license text.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tigrbl_tests
3
- Version: 0.4.1.dev3
3
+ Version: 0.4.2
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
@@ -204,6 +204,7 @@ License: Apache License
204
204
  See the License for the specific language governing permissions and
205
205
  limitations under the License.
206
206
  License-File: LICENSE
207
+ License-File: NOTICE
207
208
  Keywords: tigrbl,asgi,api,json-rpc,rest,sqlalchemy,pydantic,pytest,testing,fixtures,tests,testkit,integration-testing,openapi,openrpc,schema-first
208
209
  Author: Jacob Stewart
209
210
  Author-email: jacob@swarmauri.com
@@ -248,143 +249,154 @@ Project-URL: Organization, https://github.com/tigrbl
248
249
  Project-URL: Repository, https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_tests
249
250
  Description-Content-Type: text/markdown
250
251
 
251
- ![Tigrbl Logo](https://raw.githubusercontent.com/swarmauri/swarmauri-sdk/master/assets/tigrbl_full_logo.png)
252
+ <div align="center">
253
+ <h1>tigrbl_tests</h1>
254
+ <img src="https://raw.githubusercontent.com/swarmauri/swarmauri-sdk/master/assets/tigrbl_full_logo.png" alt="Tigrbl logo" width="140"/>
255
+ <p><strong>Reusable Tigrbl pytest fixtures, conformance assertions, integration helpers, and package test utilities.</strong></p>
256
+ <a href="https://pypi.org/project/tigrbl_tests/"><img src="https://img.shields.io/pypi/v/tigrbl_tests?label=PyPI" alt="PyPI version for tigrbl_tests"/></a>
257
+ <a href="https://pypi.org/project/tigrbl_tests/"><img src="https://static.pepy.tech/badge/tigrbl_tests" alt="Downloads for tigrbl_tests"/></a>
258
+ <a href="https://discord.gg/K4YTAPapjR"><img src="https://img.shields.io/badge/Discord-Join%20chat-5865F2?logo=discord&logoColor=white" alt="Discord community for tigrbl_tests"/></a>
259
+ <a href="https://github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_tests/README.md"><img src="https://hits.sh/github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_tests/README.md.svg?label=hits" alt="Repository hits for tigrbl_tests README"/></a>
260
+ <a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-525252" alt="Apache 2.0 license"/></a>
261
+ <a href="pyproject.toml"><img src="https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12%20%7C%203.13%20%7C%203.14-3776ab" alt="Python versions 3.10 | 3.11 | 3.12 | 3.13 | 3.14 for tigrbl_tests"/></a>
262
+ <a href="https://github.com/tigrbl/tigrbl/blob/master/docs/README.md"><img src="https://img.shields.io/badge/workspace-core-1f6feb" alt="Workspace group for tigrbl_tests"/></a>
263
+ </div>
252
264
 
253
- <p align="center">
254
- <a href="https://pypi.org/project/tigrbl_tests/">
255
- <img src="https://img.shields.io/pypi/dm/tigrbl_tests" alt="PyPI downloads for tigrbl_tests"/></a>
256
- <a href="https://hits.sh/github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_tests/">
257
- <img src="https://hits.sh/github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_tests.svg" alt="Repository views for tigrbl_tests"/></a>
258
- <a href="https://pypi.org/project/tigrbl_tests/">
259
- <img src="https://img.shields.io/pypi/pyversions/tigrbl_tests" alt="Supported Python versions for tigrbl_tests"/></a>
260
- <a href="https://pypi.org/project/tigrbl_tests/">
261
- <img src="https://img.shields.io/pypi/l/tigrbl_tests" alt="PyPI license metadata for tigrbl_tests"/></a>
262
- <a href="https://pypi.org/project/tigrbl_tests/">
263
- <img src="https://img.shields.io/pypi/v/tigrbl_tests?label=tigrbl_tests&color=green" alt="PyPI version for tigrbl_tests"/></a>
264
- </p>
265
+ ## What is tigrbl_tests?
265
266
 
266
- ---
267
+ Reusable Tigrbl pytest fixtures, conformance assertions, integration helpers, and package test utilities.
267
268
 
268
- <h1 align="center">Tigrbl tests</h1>
269
+ ## Why use tigrbl_tests?
269
270
 
270
- **Run examples and comparisons: [inspect `tigrbl_tests` examples and benchmark surfaces](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_tests).**
271
+ Use it when downstream packages need the same Tigrbl fixtures, conformance helpers, and regression assertions used by the workspace.
271
272
 
272
- tigrbl_tests is a testkit package for pytest fixtures, shared assertions, and integration test helpers for Tigrbl packages.
273
+ ## When should I install tigrbl_tests?
273
274
 
274
- `tigrbl_tests` is part of the Tigrbl package graph. It documents package-resident classes, concepts, extension points, and execution responsibilities while cross-linking to the facade, core specs, canonical mapping, runtime phases, concrete objects, operation packages, engine plugins, OpenAPI/OpenRPC documentation surfaces, and PyPI distributions that complete the system.
275
+ Install it in CI, package-local validation, transport integration tests, and compatibility checks.
275
276
 
276
- ## Resident concepts
277
+ ## Who is tigrbl_tests for?
277
278
 
278
- - `tigrbl_tests` owns shared fixtures, integration examples, parity checks, benchmark-ready scenarios, and comparison surfaces including places where Tigrbl-vs-FastAPI evidence should live.
279
- - Document reproducible benchmark commands here rather than in the facade package. The facade should link to evidence; this package should hold the examples, fixtures, and test harnesses.
279
+ Maintainers, extension authors, and integration teams validating Tigrbl-compatible packages.
280
280
 
281
- ## Open-loop load evaluation
281
+ ## Where does tigrbl_tests fit?
282
282
 
283
- Use the in-process and HTTPX benchmark suites for repeatable kernel, runtime, and parity acceptance checks. Use the open-loop harness when the question is live-network behavior at a fixed offered request rate.
283
+ `tigrbl_tests` lives at `pkgs/core/tigrbl_tests` and serves reusable test, conformance, and integration support for Tigrbl packages.
284
284
 
285
- ```bash
286
- python pkgs/core/tigrbl_tests/benchmarks/open_loop_load_patterns.py --list-patterns
287
- python pkgs/core/tigrbl_tests/benchmarks/open_loop_load_patterns.py --driver vegeta --pattern steady-rest
288
- python pkgs/core/tigrbl_tests/benchmarks/open_loop_load_patterns.py --driver wrk2 --pattern spike-jsonrpc
289
- ```
285
+ ## How does tigrbl_tests work?
286
+
287
+ It packages reusable pytest assets and helper modules that exercise public Tigrbl behavior instead of relying on private workspace state.
288
+
289
+ ## Certification Status
290
290
 
291
- The harness starts the existing Tigrbl benchmark app through Uvicorn, runs REST `/items` or JSON-RPC `/rpc` create workloads, and writes raw driver output plus normalized JSON and Markdown summaries under `.tmp/load-patterns/`. `vegeta` is the default driver for reusable target files and JSON reports. `wrk2` is supported for fixed-rate latency distribution checks when a local `wrk2` executable is available.
292
-
293
- Use `--publish-artifacts` only when a run is intended to become governed performance evidence. Published summaries are copied into `pkgs/core/tigrbl_tests/tests/perf/`; ordinary local runs stay under `.tmp/load-patterns/` so benchmark exploration does not rewrite tracked evidence.
294
-
295
- ## Package ecosystem cross-links
296
-
297
- Every Tigrbl Python package links to its sibling distributions on PyPI so package indexes, search engines, answer engines, dependency scanners, and human readers can move through the installable package graph without falling back to source-tree paths.
298
-
299
- Core packages:
300
- - [`tigrbl`](https://pypi.org/project/tigrbl/) - Schema-first ASGI API framework for REST, JSON-RPC, OpenAPI, OpenRPC, SQLAlchemy models, typed validation, lifecycle hooks, and engine plugins.
301
- - [`tigrbl-atoms`](https://pypi.org/project/tigrbl-atoms/) - Runtime atom utilities for Tigrbl planning, dispatch, transport ingress, egress, and high-throughput ASGI execution pipelines.
302
- - [`tigrbl-base`](https://pypi.org/project/tigrbl-base/) - Abstract base interfaces for Tigrbl APIs, engines, providers, sessions, transports, and reusable runtime components.
303
- - [`tigrbl-canon`](https://pypi.org/project/tigrbl-canon/) - Canonical mapping, routing, symbol resolution, and naming utilities for Tigrbl framework packages and generated API surfaces.
304
- - [`tigrbl_client`](https://pypi.org/project/tigrbl_client/) - Typed Python client helpers for calling Tigrbl REST, JSON-RPC, OpenAPI, and generated schema-first API surfaces.
305
- - [`tigrbl-concrete`](https://pypi.org/project/tigrbl-concrete/) - Concrete Tigrbl implementations for reusable framework behavior, sessions, routes, responses, and base abstraction adapters.
306
- - [`tigrbl-core`](https://pypi.org/project/tigrbl-core/) - Core Tigrbl framework specifications, decorators, schemas, hooks, operations, and primitives for schema-first APIs.
307
- - [`tigrbl-kernel`](https://pypi.org/project/tigrbl-kernel/) - Kernel orchestration for composing Tigrbl runtime plans, bindings, operation dispatch, and optimized ASGI execution.
308
- - [`tigrbl-ops-olap`](https://pypi.org/project/tigrbl-ops-olap/) - Analytical OLAP operation boundaries for Tigrbl workloads, query-oriented APIs, and engine integrations.
309
- - [`tigrbl-ops-oltp`](https://pypi.org/project/tigrbl-ops-oltp/) - Transactional OLTP operation handlers for Tigrbl CRUD, bulk, REST, JSON-RPC, and database-backed workloads.
310
- - [`tigrbl-ops-realtime`](https://pypi.org/project/tigrbl-ops-realtime/) - Realtime, streaming, datagram, websocket, and event operation handlers for Tigrbl ASGI runtimes.
311
- - [`tigrbl-orm`](https://pypi.org/project/tigrbl-orm/) - SQLAlchemy ORM tables, mixins, columns, model helpers, and persistence primitives for Tigrbl applications.
312
- - [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/) - Runtime pipeline helpers and execution bridge surfaces for Tigrbl ASGI applications, transports, and operation dispatch.
313
- - [`tigrbl_spec`](https://pypi.org/project/tigrbl_spec/) - Shared Tigrbl interfaces, protocol definitions, compatibility targets, and specification artifacts for framework integration.
314
- - [`tigrbl_tests`](https://pypi.org/project/tigrbl_tests/) (this package) - Reusable Tigrbl pytest fixtures, conformance assertions, integration helpers, and package test utilities.
315
- - [`tigrbl-typing`](https://pypi.org/project/tigrbl-typing/) - Typing protocols, aliases, generics, and shared type helpers for Tigrbl framework packages and extensions.
316
-
317
- Engine packages:
318
- - [`tigrbl_engine_bigquery`](https://pypi.org/project/tigrbl_engine_bigquery/) - BigQuery engine plugin for Google BigQuery warehouse sessions, analytics workloads, and Tigrbl engine registration.
319
- - [`tigrbl_engine_clickhouse`](https://pypi.org/project/tigrbl_engine_clickhouse/) - ClickHouse engine plugin for analytical database sessions, warehouse workloads, and Tigrbl engine registration.
320
- - [`tigrbl_engine_csv`](https://pypi.org/project/tigrbl_engine_csv/) - CSV engine plugin for file-backed tables, pandas DataFrames, and lightweight Tigrbl data workflows.
321
- - [`tigrbl_engine_dataframe`](https://pypi.org/project/tigrbl_engine_dataframe/) - DataFrame engine plugin for transactional pandas sessions and in-process Tigrbl analytics workloads.
322
- - [`tigrbl_engine_duckdb`](https://pypi.org/project/tigrbl_engine_duckdb/) - DuckDB engine plugin for embedded analytical database sessions, OLAP workloads, and Tigrbl engine registration.
323
- - [`tigrbl_engine_inmemcache`](https://pypi.org/project/tigrbl_engine_inmemcache/) - In-memory cache engine plugin for process-local TTL, LRU, and fast Tigrbl cache workflows.
324
- - [`tigrbl_engine_inmemory`](https://pypi.org/project/tigrbl_engine_inmemory/) - In-memory database engine plugin for process-local transactional storage, copy-on-write snapshots, and Tigrbl testing.
325
- - [`tigrbl_engine_membloom`](https://pypi.org/project/tigrbl_engine_membloom/) - In-memory Bloom filter engine plugin for membership checks, rotating TTL windows, and Tigrbl API workflows.
326
- - [`tigrbl_engine_memdedupe`](https://pypi.org/project/tigrbl_engine_memdedupe/) - In-memory dedupe engine plugin for idempotency tracking, duplicate suppression, and Tigrbl workflow coordination.
327
- - [`tigrbl_engine_memkv`](https://pypi.org/project/tigrbl_engine_memkv/) - In-memory key-value engine plugin for process-local KV storage, cache workflows, and lightweight Tigrbl services.
328
- - [`tigrbl_engine_memlru`](https://pypi.org/project/tigrbl_engine_memlru/) - In-memory LRU engine plugin for least-recently-used cache behavior and process-local Tigrbl data workflows.
329
- - [`tigrbl_engine_mempubsub`](https://pypi.org/project/tigrbl_engine_mempubsub/) - In-memory pub/sub engine plugin for process-local publish-subscribe channels, events, and Tigrbl realtime workflows.
330
- - [`tigrbl_engine_memqueue`](https://pypi.org/project/tigrbl_engine_memqueue/) - In-memory queue engine plugin for process-local tasks, message workflows, and Tigrbl runtime coordination.
331
- - [`tigrbl_engine_memrate`](https://pypi.org/project/tigrbl_engine_memrate/) - In-memory rate-limit engine plugin for API quotas, counters, windows, and Tigrbl governance workflows.
332
- - [`tigrbl_engine_numpy`](https://pypi.org/project/tigrbl_engine_numpy/) - NumPy engine plugin for array-to-table helpers, analytical workflows, and Tigrbl data integration.
333
- - [`tigrbl_engine_pandas`](https://pypi.org/project/tigrbl_engine_pandas/) - Pandas engine plugin for transactional DataFrame sessions, tabular workflows, and Tigrbl data integration.
334
- - [`tigrbl_engine_pgsqli_wal`](https://pypi.org/project/tigrbl_engine_pgsqli_wal/) - PostgreSQL and SQLite WAL engine plugin for transactional Tigrbl workflows and database-backed engine registration.
335
- - [`tigrbl_engine_postgres`](https://pypi.org/project/tigrbl_engine_postgres/) - PostgreSQL engine plugin for SQLAlchemy sessions, async database workflows, and Tigrbl application persistence.
336
- - [`tigrbl_engine_pyspark`](https://pypi.org/project/tigrbl_engine_pyspark/) - PySpark engine plugin for distributed DataFrame integration, analytics workloads, and Tigrbl data workflows.
337
- - [`tigrbl_engine_redis`](https://pypi.org/project/tigrbl_engine_redis/) - Redis engine plugin for cache, data structures, and Tigrbl engine workflows backed by Redis.
338
- - [`tigrbl_engine_rediscachethrough`](https://pypi.org/project/tigrbl_engine_rediscachethrough/) - Redis cache-through engine plugin for Redis, PostgreSQL, and Tigrbl data-access acceleration workflows.
339
- - [`tigrbl_engine_snowflake`](https://pypi.org/project/tigrbl_engine_snowflake/) - Snowflake engine plugin for warehouse sessions, analytical workloads, and Tigrbl engine registration.
340
- - [`tigrbl_engine_sqlite`](https://pypi.org/project/tigrbl_engine_sqlite/) - SQLite engine plugin for SQLAlchemy sessions, local transactional storage, and Tigrbl application persistence.
341
- - [`tigrbl_engine_xlsx`](https://pypi.org/project/tigrbl_engine_xlsx/) - XLSX engine plugin for Excel workbook-backed tables, worksheet data access, and Tigrbl tabular workflows.
342
-
343
- Application packages:
344
- - [`tigrbl_acme_ca`](https://pypi.org/project/tigrbl_acme_ca/) - ACME v2 certificate authority app for Tigrbl tables, certificate automation, TLS workflows, and API surfaces.
345
- - [`tigrbl_spiffe`](https://pypi.org/project/tigrbl_spiffe/) - SPIFFE and SPIRE identity app for Tigrbl with workload identity tables, UDS transport, and HTTP API surfaces.
346
-
347
- Source-tree links remain available from each package identity section; this ecosystem section is intentionally PyPI-first for package discovery and installation routing.
291
+ - Package status: governed package in the `tigrbl/tigrbl` workspace.
292
+ - Governance source: [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json).
293
+ - Release evidence: [publish workflow](https://github.com/tigrbl/tigrbl/actions/workflows/publish.yml) validates package builds, tests, GitHub release assets, and PyPI publication for managed packages.
294
+ - Local certification guard: `pkgs/core/tigrbl_tests/tests/unit/test_package_badges_and_notices.py` verifies every package README keeps the Discord badge, Apache 2.0 badge, explicit Python-version badge, `LICENSE`, and `NOTICE`.
295
+ - Scope note: this README documents the package boundary. Runtime feature support remains governed by `.ssot/` entities and the conformance docs linked below.
348
296
 
349
297
  ## Install
350
298
 
299
+ ```bash
300
+ uv add tigrbl_tests
301
+ ```
302
+
351
303
  ```bash
352
304
  pip install tigrbl_tests
353
305
  ```
354
306
 
355
- ## Package discovery
307
+ ## Surface Coverage
308
+
309
+ | Surface | Value |
310
+ |---|---|
311
+ | PyPI package | [`tigrbl_tests`](https://pypi.org/project/tigrbl_tests/) |
312
+ | Repository path | [`pkgs/core/tigrbl_tests`](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_tests) |
313
+ | Python import root | `benchmarks`, `tigrbl_tests`, `triage_tests`, `v4` |
314
+ | Console scripts | none declared |
315
+ | Entry points | none declared |
316
+ | Optional extras | none declared |
317
+ | Legal files | `LICENSE`, `NOTICE` |
318
+ | Supported Python | `3.10 | 3.11 | 3.12 | 3.13 | 3.14` |
319
+
320
+ ## What It Owns
321
+
322
+ `tigrbl_tests` owns the `test support package` boundary. It should be installed when you need this package's focused responsibility without assuming every other Tigrbl workspace package is present.
323
+
324
+ Implementation orientation:
325
+ - `benchmarks`: comparative_benchmark_verification, open_loop_load_patterns, run_hot_path_perf_suite, tigrbl_fastapi_surface_matrix_benchmark, tigrbl_kernel_plan_benchmark, tigrbl_request_response_benchmark, tigrbl_sse_perf_suite, tigrbl_streaming_perf_suite, tigrbl_websocket_perf_suite, tigrbl_webtransport_perf_suite
326
+ - `tigrbl_tests`: examples/, tests/
327
+ - `v4`: tests/
328
+
329
+ ## Public API and Import Surface
330
+
331
+ - Import roots: `benchmarks`, `tigrbl_tests`, `triage_tests`, `v4`.
332
+ - Public symbols: public surface is module-oriented; import the package boundary and inspect submodules as needed.
333
+ - Workspace dependencies: [`tigrbl`](https://pypi.org/project/tigrbl/), [`tigrbl_client`](https://pypi.org/project/tigrbl_client/).
334
+ - External runtime dependencies: `psycopg2-binary>=2.9.9`, `asyncpg>=0.30.0`, `pytest>=8.0`, `pytest-asyncio>=0.24.0`, `pytest-xdist>=3.6.1`, `pytest-json-report>=1.5.0`, `python-dotenv`, `requests>=2.32.3`, `flake8>=7.0`, `pytest-timeout>=2.3.1`, `ruff>=0.9.9`, `pytest-benchmark>=4.0.0`, `jinja2>=3.1.0`.
335
+
336
+ ## Usage Examples
337
+
338
+ ### Verify the installed package
339
+
340
+ ```bash
341
+ python -m pip show tigrbl_tests
342
+ python - <<'PY'
343
+ from importlib.metadata import version
344
+ print(version("tigrbl_tests"))
345
+ PY
346
+ ```
347
+
348
+ ### Run packaged Tigrbl tests
349
+
350
+ ```bash
351
+ uv run pytest pkgs/core/tigrbl_tests/tests -q
352
+ python -m pytest --pyargs tigrbl_tests
353
+ ```
354
+
355
+ ### Import reusable test helpers
356
+
357
+ ```python
358
+ import tigrbl_tests
359
+
360
+ print(tigrbl_tests.__name__)
361
+ ```
362
+
363
+ ### Use it in downstream CI
364
+
365
+ ```bash
366
+ pip install tigrbl-tests pytest
367
+ pytest -q
368
+ ```
369
+
370
+ ## How To Choose This Package
371
+
372
+ Choose `tigrbl_tests` when the quick-answer table matches your use case. Choose [`tigrbl`](https://pypi.org/project/tigrbl/) instead when you want the full public facade. Choose a lower-level package such as [`tigrbl-core`](https://pypi.org/project/tigrbl-core/), [`tigrbl-base`](https://pypi.org/project/tigrbl-base/), or [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/) when you are building framework extensions or testing a specific internal boundary.
356
373
 
357
- `tigrbl_tests` is described for package indexes, search engines, answer engines, and AI coding tools as: Reusable Tigrbl pytest fixtures, conformance assertions, integration helpers, and package test utilities.
374
+ ## Related Packages
358
375
 
359
- Use `tigrbl_tests` when you need Tigrbl's schema-first ASGI package graph for REST APIs, JSON-RPC APIs, OpenAPI documentation, OpenRPC documentation, SQLAlchemy-backed models, Pydantic validation, typed operation specs, runtime dispatch, and installable engine or application extensions.
376
+ - [`tigrbl`](https://pypi.org/project/tigrbl/)
377
+ - [`tigrbl_client`](https://pypi.org/project/tigrbl_client/)
360
378
 
361
- Discovery terms: tigrbl, ASGI, schema-first API framework, REST API, JSON-RPC API, OpenAPI documentation, OpenRPC documentation, SQLAlchemy models, Pydantic validation, typed validation, operation dispatch, engine plugins, api, json-rpc, rest, sqlalchemy, pydantic, pytest, testing, fixtures, tests, testkit, integration-testing, openapi, openrpc, schema-first.
379
+ ## Documentation Links
362
380
 
363
- ## Package-local entry point
381
+ - [Workspace docs](https://github.com/tigrbl/tigrbl/blob/master/docs/README.md)
382
+ - [Package catalog](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_CATALOG.md)
383
+ - [Package layout](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_LAYOUT.md)
384
+ - [Current target](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_TARGET.md)
385
+ - [Current state](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_STATE.md)
386
+ - [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json)
387
+ - [Release workflow](https://github.com/tigrbl/tigrbl/actions/workflows/publish.yml)
364
388
 
365
- This file is a package-local distribution entry point.
366
- It is not the authoritative location for repository governance, current target status, current state reporting, certification claims, or release evidence.
389
+ ## Support
367
390
 
368
- ## Canonical repository docs
391
+ - Community: [Discord](https://discord.gg/K4YTAPapjR).
392
+ - Issues: [GitHub Issues](https://github.com/tigrbl/tigrbl/issues).
393
+ - Repository: [pkgs/core/tigrbl_tests](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_tests).
369
394
 
370
- - `README.md`
371
- - `docs/README.md`
372
- - `docs/conformance/CURRENT_TARGET.md`
373
- - `docs/conformance/CURRENT_STATE.md`
374
- - `docs/conformance/NEXT_STEPS.md`
375
- - `docs/governance/DOC_POINTERS.md`
376
- - `docs/developer/PACKAGE_CATALOG.md`
377
- - `docs/developer/PACKAGE_LAYOUT.md`
395
+ ## Package-local Boundary
378
396
 
379
- ## Package identity
397
+ This README is the package-local distribution entry point for `tigrbl_tests`. It answers install, usage, API, ownership, and certification-orientation questions for this package. Broader architectural decisions, release status, and cross-package proof chains remain in the repository-level docs and SSOT registry.
380
398
 
381
- - canonical repository: `https://github.com/tigrbl/tigrbl`
382
- - organization: `https://github.com/tigrbl`
383
- - social: `https://discord.gg/K4YTAPapjR`
384
- - package path: `https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_tests`
385
- - workspace path: `pkgs/core/tigrbl_tests`
386
- - workspace class: core Python package
387
- - implementation layout: `tigrbl_tests/`
399
+ ## License
388
400
 
389
- Long-form repository documentation is governed from `docs/`.
401
+ Licensed under the Apache License, Version 2.0. See `LICENSE`, `NOTICE`, and the official [Apache 2.0 license text](https://www.apache.org/licenses/LICENSE-2.0).
390
402
 
@@ -0,0 +1,150 @@
1
+ <div align="center">
2
+ <h1>tigrbl_tests</h1>
3
+ <img src="https://raw.githubusercontent.com/swarmauri/swarmauri-sdk/master/assets/tigrbl_full_logo.png" alt="Tigrbl logo" width="140"/>
4
+ <p><strong>Reusable Tigrbl pytest fixtures, conformance assertions, integration helpers, and package test utilities.</strong></p>
5
+ <a href="https://pypi.org/project/tigrbl_tests/"><img src="https://img.shields.io/pypi/v/tigrbl_tests?label=PyPI" alt="PyPI version for tigrbl_tests"/></a>
6
+ <a href="https://pypi.org/project/tigrbl_tests/"><img src="https://static.pepy.tech/badge/tigrbl_tests" alt="Downloads for tigrbl_tests"/></a>
7
+ <a href="https://discord.gg/K4YTAPapjR"><img src="https://img.shields.io/badge/Discord-Join%20chat-5865F2?logo=discord&logoColor=white" alt="Discord community for tigrbl_tests"/></a>
8
+ <a href="https://github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_tests/README.md"><img src="https://hits.sh/github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_tests/README.md.svg?label=hits" alt="Repository hits for tigrbl_tests README"/></a>
9
+ <a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-525252" alt="Apache 2.0 license"/></a>
10
+ <a href="pyproject.toml"><img src="https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12%20%7C%203.13%20%7C%203.14-3776ab" alt="Python versions 3.10 | 3.11 | 3.12 | 3.13 | 3.14 for tigrbl_tests"/></a>
11
+ <a href="https://github.com/tigrbl/tigrbl/blob/master/docs/README.md"><img src="https://img.shields.io/badge/workspace-core-1f6feb" alt="Workspace group for tigrbl_tests"/></a>
12
+ </div>
13
+
14
+ ## What is tigrbl_tests?
15
+
16
+ Reusable Tigrbl pytest fixtures, conformance assertions, integration helpers, and package test utilities.
17
+
18
+ ## Why use tigrbl_tests?
19
+
20
+ Use it when downstream packages need the same Tigrbl fixtures, conformance helpers, and regression assertions used by the workspace.
21
+
22
+ ## When should I install tigrbl_tests?
23
+
24
+ Install it in CI, package-local validation, transport integration tests, and compatibility checks.
25
+
26
+ ## Who is tigrbl_tests for?
27
+
28
+ Maintainers, extension authors, and integration teams validating Tigrbl-compatible packages.
29
+
30
+ ## Where does tigrbl_tests fit?
31
+
32
+ `tigrbl_tests` lives at `pkgs/core/tigrbl_tests` and serves reusable test, conformance, and integration support for Tigrbl packages.
33
+
34
+ ## How does tigrbl_tests work?
35
+
36
+ It packages reusable pytest assets and helper modules that exercise public Tigrbl behavior instead of relying on private workspace state.
37
+
38
+ ## Certification Status
39
+
40
+ - Package status: governed package in the `tigrbl/tigrbl` workspace.
41
+ - Governance source: [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json).
42
+ - Release evidence: [publish workflow](https://github.com/tigrbl/tigrbl/actions/workflows/publish.yml) validates package builds, tests, GitHub release assets, and PyPI publication for managed packages.
43
+ - Local certification guard: `pkgs/core/tigrbl_tests/tests/unit/test_package_badges_and_notices.py` verifies every package README keeps the Discord badge, Apache 2.0 badge, explicit Python-version badge, `LICENSE`, and `NOTICE`.
44
+ - Scope note: this README documents the package boundary. Runtime feature support remains governed by `.ssot/` entities and the conformance docs linked below.
45
+
46
+ ## Install
47
+
48
+ ```bash
49
+ uv add tigrbl_tests
50
+ ```
51
+
52
+ ```bash
53
+ pip install tigrbl_tests
54
+ ```
55
+
56
+ ## Surface Coverage
57
+
58
+ | Surface | Value |
59
+ |---|---|
60
+ | PyPI package | [`tigrbl_tests`](https://pypi.org/project/tigrbl_tests/) |
61
+ | Repository path | [`pkgs/core/tigrbl_tests`](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_tests) |
62
+ | Python import root | `benchmarks`, `tigrbl_tests`, `triage_tests`, `v4` |
63
+ | Console scripts | none declared |
64
+ | Entry points | none declared |
65
+ | Optional extras | none declared |
66
+ | Legal files | `LICENSE`, `NOTICE` |
67
+ | Supported Python | `3.10 | 3.11 | 3.12 | 3.13 | 3.14` |
68
+
69
+ ## What It Owns
70
+
71
+ `tigrbl_tests` owns the `test support package` boundary. It should be installed when you need this package's focused responsibility without assuming every other Tigrbl workspace package is present.
72
+
73
+ Implementation orientation:
74
+ - `benchmarks`: comparative_benchmark_verification, open_loop_load_patterns, run_hot_path_perf_suite, tigrbl_fastapi_surface_matrix_benchmark, tigrbl_kernel_plan_benchmark, tigrbl_request_response_benchmark, tigrbl_sse_perf_suite, tigrbl_streaming_perf_suite, tigrbl_websocket_perf_suite, tigrbl_webtransport_perf_suite
75
+ - `tigrbl_tests`: examples/, tests/
76
+ - `v4`: tests/
77
+
78
+ ## Public API and Import Surface
79
+
80
+ - Import roots: `benchmarks`, `tigrbl_tests`, `triage_tests`, `v4`.
81
+ - Public symbols: public surface is module-oriented; import the package boundary and inspect submodules as needed.
82
+ - Workspace dependencies: [`tigrbl`](https://pypi.org/project/tigrbl/), [`tigrbl_client`](https://pypi.org/project/tigrbl_client/).
83
+ - External runtime dependencies: `psycopg2-binary>=2.9.9`, `asyncpg>=0.30.0`, `pytest>=8.0`, `pytest-asyncio>=0.24.0`, `pytest-xdist>=3.6.1`, `pytest-json-report>=1.5.0`, `python-dotenv`, `requests>=2.32.3`, `flake8>=7.0`, `pytest-timeout>=2.3.1`, `ruff>=0.9.9`, `pytest-benchmark>=4.0.0`, `jinja2>=3.1.0`.
84
+
85
+ ## Usage Examples
86
+
87
+ ### Verify the installed package
88
+
89
+ ```bash
90
+ python -m pip show tigrbl_tests
91
+ python - <<'PY'
92
+ from importlib.metadata import version
93
+ print(version("tigrbl_tests"))
94
+ PY
95
+ ```
96
+
97
+ ### Run packaged Tigrbl tests
98
+
99
+ ```bash
100
+ uv run pytest pkgs/core/tigrbl_tests/tests -q
101
+ python -m pytest --pyargs tigrbl_tests
102
+ ```
103
+
104
+ ### Import reusable test helpers
105
+
106
+ ```python
107
+ import tigrbl_tests
108
+
109
+ print(tigrbl_tests.__name__)
110
+ ```
111
+
112
+ ### Use it in downstream CI
113
+
114
+ ```bash
115
+ pip install tigrbl-tests pytest
116
+ pytest -q
117
+ ```
118
+
119
+ ## How To Choose This Package
120
+
121
+ Choose `tigrbl_tests` when the quick-answer table matches your use case. Choose [`tigrbl`](https://pypi.org/project/tigrbl/) instead when you want the full public facade. Choose a lower-level package such as [`tigrbl-core`](https://pypi.org/project/tigrbl-core/), [`tigrbl-base`](https://pypi.org/project/tigrbl-base/), or [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/) when you are building framework extensions or testing a specific internal boundary.
122
+
123
+ ## Related Packages
124
+
125
+ - [`tigrbl`](https://pypi.org/project/tigrbl/)
126
+ - [`tigrbl_client`](https://pypi.org/project/tigrbl_client/)
127
+
128
+ ## Documentation Links
129
+
130
+ - [Workspace docs](https://github.com/tigrbl/tigrbl/blob/master/docs/README.md)
131
+ - [Package catalog](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_CATALOG.md)
132
+ - [Package layout](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_LAYOUT.md)
133
+ - [Current target](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_TARGET.md)
134
+ - [Current state](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_STATE.md)
135
+ - [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json)
136
+ - [Release workflow](https://github.com/tigrbl/tigrbl/actions/workflows/publish.yml)
137
+
138
+ ## Support
139
+
140
+ - Community: [Discord](https://discord.gg/K4YTAPapjR).
141
+ - Issues: [GitHub Issues](https://github.com/tigrbl/tigrbl/issues).
142
+ - Repository: [pkgs/core/tigrbl_tests](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_tests).
143
+
144
+ ## Package-local Boundary
145
+
146
+ This README is the package-local distribution entry point for `tigrbl_tests`. It answers install, usage, API, ownership, and certification-orientation questions for this package. Broader architectural decisions, release status, and cross-package proof chains remain in the repository-level docs and SSOT registry.
147
+
148
+ ## License
149
+
150
+ Licensed under the Apache License, Version 2.0. See `LICENSE`, `NOTICE`, and the official [Apache 2.0 license text](https://www.apache.org/licenses/LICENSE-2.0).
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "tigrbl_tests"
3
- version = "0.4.1.dev3"
3
+ version = "0.4.2"
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" }
@@ -4,9 +4,10 @@ import ast
4
4
  from pathlib import Path
5
5
 
6
6
  _STANDARDS = Path(__file__).resolve().parents[3]
7
+ _PKGS = _STANDARDS.parent
7
8
  ROOT = _STANDARDS / "tigrbl" / "tigrbl"
8
9
  RUNTIME_ROOT = _STANDARDS / "tigrbl_runtime" / "tigrbl_runtime"
9
- CANON_ROOT = _STANDARDS / "tigrbl_canon" / "tigrbl_canon"
10
+ CANON_ROOT = _PKGS / "deprecated" / "tigrbl_canon" / "tigrbl_canon"
10
11
 
11
12
 
12
13
  def _source(pkg_root: Path, rel: str) -> str:
@@ -0,0 +1,61 @@
1
+ from __future__ import annotations
2
+
3
+ import json
4
+ from dataclasses import dataclass
5
+ from types import SimpleNamespace
6
+
7
+ from tigrbl_atoms.atoms.dispatch import binding_match, binding_parse, input_normalize, op_resolve
8
+
9
+
10
+ @dataclass(frozen=True, slots=True)
11
+ class OpKey:
12
+ proto: str
13
+ selector: str
14
+
15
+
16
+ def test_jsonrpc_route_prebinding_resolves_method_to_opmeta() -> None:
17
+ plan = SimpleNamespace(
18
+ proto_indices={
19
+ "http.jsonrpc": {
20
+ "endpoints": {
21
+ "default": {
22
+ "Widget.create": {
23
+ "endpoint": "default",
24
+ "selector": "default:Widget.create",
25
+ }
26
+ }
27
+ }
28
+ }
29
+ },
30
+ opkey_to_meta={OpKey("http.jsonrpc", "default:Widget.create"): 0},
31
+ opmeta=(SimpleNamespace(model="Widget", alias="create", target="create"),),
32
+ )
33
+ ctx = SimpleNamespace(
34
+ method="POST",
35
+ path="/rpc",
36
+ body=json.dumps(
37
+ {
38
+ "jsonrpc": "2.0",
39
+ "method": "Widget.create",
40
+ "params": {"name": "Ada"},
41
+ "id": 7,
42
+ }
43
+ ).encode(),
44
+ temp={"dispatch": {}, "route": {}},
45
+ kernel_plan=plan,
46
+ )
47
+
48
+ binding_match._run(None, ctx)
49
+ binding_parse._run(None, ctx)
50
+ input_normalize._run(None, ctx)
51
+ op_resolve._run(None, ctx)
52
+
53
+ assert ctx.protocol == "http.jsonrpc"
54
+ assert ctx.selector == "default:Widget.create"
55
+ assert ctx.endpoint == "default"
56
+ assert ctx.payload == {"name": "Ada"}
57
+ assert ctx.opmeta_index == 0
58
+ assert ctx.op == "create"
59
+ assert ctx.status_code == 201
60
+ assert ctx.temp["jsonrpc_request_id"] == 7
61
+ assert ctx.temp["route"]["rpc_envelope"]["method"] == "Widget.create"
@@ -0,0 +1,40 @@
1
+ from __future__ import annotations
2
+
3
+ from types import SimpleNamespace
4
+
5
+ from tigrbl_atoms.atoms.dispatch import binding_match, binding_parse, input_normalize, op_resolve
6
+
7
+
8
+ def test_rest_route_runtime_fallback_atoms_resolve_payload_and_status() -> None:
9
+ plan = SimpleNamespace(
10
+ proto_indices={
11
+ "http.rest": {
12
+ "exact": {
13
+ "PATCH /widgets/7": {"selector": "PATCH /widgets/7"},
14
+ }
15
+ }
16
+ },
17
+ opkey_to_meta={("http.rest", "PATCH /widgets/7"): 0},
18
+ opmeta=(SimpleNamespace(model="Widget", alias="replace", target="replace"),),
19
+ )
20
+ ctx = SimpleNamespace(
21
+ method="PATCH",
22
+ path="/widgets/7",
23
+ body={"name": "Ada"},
24
+ temp={"dispatch": {}, "route": {}},
25
+ kernel_plan=plan,
26
+ )
27
+
28
+ binding_match._run(None, ctx)
29
+ binding_parse._run(None, ctx)
30
+ input_normalize._run(None, ctx)
31
+ op_resolve._run(None, ctx)
32
+
33
+ assert ctx.protocol == "http.rest"
34
+ assert ctx.selector == "PATCH /widgets/7"
35
+ assert ctx.payload == {"name": "Ada"}
36
+ assert ctx.model == "Widget"
37
+ assert ctx.op == "replace"
38
+ assert ctx.status_code == 200
39
+ assert ctx.temp["dispatch"]["binding"] == 0
40
+ assert ctx.temp["route"]["payload"] == {"name": "Ada"}
@@ -29,6 +29,8 @@ async def test_lens_mountable_on_tigrbl_app_uvicorn():
29
29
  in response.text
30
30
  )
31
31
  assert 'import { createRoot } from "react-dom/client";' in response.text
32
+ assert '"id":"rest"' in response.text
33
+ assert '"id":"jsonrpc"' in response.text
32
34
  finally:
33
35
  await stop_uvicorn_server(server, task)
34
36
 
@@ -47,6 +49,7 @@ async def test_lens_mountable_on_tigrbl_router_uvicorn():
47
49
  assert "text/html" in response.headers.get("content-type", "")
48
50
  assert 'id="root"' in response.text
49
51
  assert 'url: "/openrpc.json"' in response.text
52
+ assert '"id":"jsonrpc"' in response.text
50
53
  finally:
51
54
  await stop_uvicorn_server(server, task)
52
55
 
@@ -68,6 +71,7 @@ async def test_lens_mountable_with_openrpc_spec_path_uvicorn():
68
71
  response = await client.get(f"{base_url}/custom/lens")
69
72
  assert response.status_code == 200
70
73
  assert 'url: "/custom/openrpc.json"' in response.text
74
+ assert '"id":"rest"' in response.text
71
75
  finally:
72
76
  await stop_uvicorn_server(server, task)
73
77