fastapi/examples/native-api-evidence.json
Version 0.142.2.bb1 · MIT. This preview displays packaged text and does not execute code. Treat the contents as untrusted instructions.
← Return to resource and package checksum
{
"executed_at": "2026-10-07T09:40:48.566623+00:00",
"python": "3.12.4",
"platform": "Windows",
"versions": {
"fastapi": "0.142.2",
"pydantic": "2.13.5",
"starlette": "1.7.0",
"anyio": "4.15.1",
"httpx": "0.28.1",
"httpx2": "2.13.1"
},
"test_transport_module": "httpx2",
"observations": 29,
"cases": [
{
"name": "native_annotated_valid_path",
"status": "passed",
"observation": "Pinned Annotated Path/Query example returns its declared response."
},
{
"name": "native_path_lower_bound",
"status": "passed",
"observation": "Path zero rejected with 422 and matching lower-bound error."
},
{
"name": "native_path_type",
"status": "passed",
"observation": "Invalid integer path rejected at the path field."
},
{
"name": "native_query_max_length",
"status": "passed",
"observation": "Query longer than the native limit is rejected."
},
{
"name": "native_dependency_original",
"status": "passed",
"observation": "The upstream endpoint returns a constant message; its synthetic identity is not authentication."
},
{
"name": "dependency_override_applied",
"status": "passed",
"observation": "The function-keyed test override runs; the native endpoint still returns its constant message."
},
{
"name": "dependency_override_restored",
"status": "passed",
"observation": "After cleanup, the overriding provider is not called on the later request."
},
{
"name": "native_required_query_and_body_valid",
"status": "passed",
"observation": "Native typed body and required query work together."
},
{
"name": "native_required_query_missing",
"status": "passed",
"observation": "Required query omitted: matching 422 query error."
},
{
"name": "native_required_body_missing",
"status": "passed",
"observation": "Required body value omitted: matching 422 body error."
},
{
"name": "native_positive_price_constraint",
"status": "passed",
"observation": "Zero price fails the upstream positive-price constraint."
},
{
"name": "native_annotated_list",
"status": "passed",
"observation": "Native Annotated list validation works without RootModel."
},
{
"name": "native_empty_list_rejected",
"status": "passed",
"observation": "The native minimum list length is enforced."
},
{
"name": "native_list_item_type_rejected",
"status": "passed",
"observation": "Invalid list item reports its exact index."
},
{
"name": "native_return_annotation",
"status": "passed",
"observation": "Upstream return annotation serializes its public Item."
},
{
"name": "native_response_model_dictionary",
"status": "passed",
"observation": "Upstream response_model validates a dictionary return."
},
{
"name": "native_internal_field_filtered",
"status": "passed",
"observation": "The original InternalItem field is absent from the public response."
},
{
"name": "native_public_response_schema",
"status": "passed",
"observation": "Public OpenAPI Item schema excludes the internal field."
},
{
"name": "native_yield_request_result",
"status": "passed",
"observation": "Original yield dependency uses a synthetic session/query, not a database."
},
{
"name": "native_request_scope_cleanup",
"status": "passed",
"observation": "Default request-scope release follows the ASGI response body."
},
{
"name": "native_yield_function_result",
"status": "passed",
"observation": "Native function-scoped yield dependency supplies its value."
},
{
"name": "native_function_scope_cleanup",
"status": "passed",
"observation": "Function-scope release precedes the ASGI response start."
},
{
"name": "native_function_returns_class_instance",
"status": "passed",
"observation": "Native function dependency constructs the local paginator."
},
{
"name": "independent_public_projection",
"status": "passed",
"observation": "Separate strict example returns only public fields."
},
{
"name": "independent_unknown_field_rejected",
"status": "passed",
"observation": "Independent extra=forbid input contract rejects an unknown field."
},
{
"name": "independent_empty_name_rejected",
"status": "passed",
"observation": "Independent minimum name length is enforced."
},
{
"name": "invalid_server_response_raises",
"status": "passed",
"observation": "Default TestClient reports a response contract exception, not a client 422."
},
{
"name": "direct_response_bypasses_projection",
"status": "passed",
"observation": "Explicit synthetic counterexample: JSONResponse bypasses declared response_model filtering."
},
{
"name": "invalid_server_response_is_500",
"status": "passed",
"observation": "With server exceptions disabled, invalid returned data is a server error."
}
],
"native_snippets_executed": 10,
"executed_snippets": [
{
"source": "upstream-original/SKILL.md",
"block_index": 0,
"block_sha256": "df4ab94990bae926c4f4d85ecd870b0898fd1e8bc870d894e4796ac57963fd48",
"provided_synthetic_symbols": []
},
{
"source": "upstream-original/SKILL.md",
"block_index": 1,
"block_sha256": "b4b5f7aff65318c92dec580a4820014a3fd796cef8d343197ffed5ceb7a707d7",
"provided_synthetic_symbols": []
},
{
"source": "references/pydantic.md",
"block_index": 0,
"block_sha256": "b1ea75b348630f8d30d1d943ffcc0b1e5e7d0f0ef4625e2b5a2a4dbdb8ae4abb",
"provided_synthetic_symbols": []
},
{
"source": "references/pydantic.md",
"block_index": 2,
"block_sha256": "538d3ad39f89d6cfbe77513961c2e8be836d795c55dab744993d43d606818453",
"provided_synthetic_symbols": []
},
{
"source": "references/responses.md",
"block_index": 0,
"block_sha256": "a52d3f947f912762fb8cc0c7ce7781b70b4ddb596eed4a5f48df8a014182ee9f",
"provided_synthetic_symbols": []
},
{
"source": "references/responses.md",
"block_index": 1,
"block_sha256": "77a14027c8aa91c28e39d93c1b0a5a5bc551ac135353e6854b41a7c40bd93942",
"provided_synthetic_symbols": []
},
{
"source": "references/responses.md",
"block_index": 2,
"block_sha256": "b97a60340a1ffc4caedc781fd7b2cb646d85418bdb07340678040423a07caf33",
"provided_synthetic_symbols": []
},
{
"source": "references/dependencies.md",
"block_index": 0,
"block_sha256": "8cdbdc573e18ef8b93ae2a43a4f143f045ded12b7f2b1680a6db26bfaeb53f0a",
"provided_synthetic_symbols": [
"DBSession",
"Item"
]
},
{
"source": "references/dependencies.md",
"block_index": 1,
"block_sha256": "647c4d20d092b03e161ae75edcd2e43ce3cc1c1090f6339a0d1e30fcfd9ca414",
"provided_synthetic_symbols": []
},
{
"source": "references/dependencies.md",
"block_index": 2,
"block_sha256": "6158a5ebf18f72a98f4f844cfd2efe1e1cd512558d7dba945b65fb004b681841",
"provided_synthetic_symbols": []
}
],
"source_hashes": {
"upstream-original/SKILL.md": "0fc817d25584b48981bfb3e9a4ad96dde0e4ce7396f15e91a0ba30cbece243f7",
"references/pydantic.md": "840ab962739861aed2ea77805dc46979c9a96abd8fc0043f197b3bd5d638e84b",
"references/responses.md": "7c921508bbd093697301ca9612038976cfb5b65bdc2dc42a0c02e2809d3652a7",
"references/dependencies.md": "8b6b71a03fa14680905a81f53f1883b90c2ab7ac65eefa77c2664c2d038de469",
"examples/public_contract.py": "9512a49de958b020a62b479e9e6b592d095a0a0c03a0817b310d4943314f2050",
"examples/run_contract_fixture.py": "3ea88de2f56718f4b2ac49246a7dfbbd54539645a0096063c209295e0fdafdbb"
},
"in_process_http_requests": 27,
"loopback_socket_connections": 12,
"external_network_requests": false,
"external_connections_prohibited": true,
"runtime_tested": false,
"ai_client_executed": false,
"production_tested": false,
"database_connected": false,
"credentials_required": false,
"paid_api_used": false
}