Merged
Conversation
…/OutboundResponse Phase 2+3: ASGI objects, transport converters, and dual dispatch bridge. - HandlerDispatch takes InboundRequest, returns OutboundResponse (no axum types) - python_handler is the sole transport boundary (axum→InboundRequest→OutboundResponse→axum) - AsgiBridgeDispatch collects ASGI events from scope/receive/send channel - Header + Cookie param extraction with alias support and validation errors - ConnectInfo<SocketAddr> wired through tcp.rs → build_router → HandlerState - BoundRoute extended with dependant/fastapi_app fields for phase-5 - 207 tests pass, zero clippy warnings Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…very - Add : extract routes directly from live FastAPI app (dependant, params, response_model, dispatch strategy classification) - Remove Python-side package, , and PyO3 intermediaries (, , ) - Extract to shared module - Cache with , register ASGI classes in pyapi - Add strings to lint attributes across test modules - Update Rust skill docs with expanded conventions Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Implements Phase 5: loads pre-built manifest, imports only handler functions (no FastAPI), and executes compiled dependency plans via Rust-side PlanExecutorDispatch. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…oilerplate Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…rce::RawRequest In v1 (FastAPI-only DSL), these types are unreachable: - pyapi::Request was only produced by ParamSource::RawRequest, which no discovery path ever generates (FastAPI routes with Request param use ASGI bridge + Starlette Request instead). - pyapi::Response was only consumed by serialize_raw_response, which duck-typed .status/.body — silently broken for the common case of handlers returning dicts/Pydantic models without response_model=. Replaces serialize_raw_response with serialize_untyped_response that tries model_dump_json first, falls back to json.dumps. Also fixes serialize_model_response to respect route.manifest.status_code instead of hardcoding 200 (POST 201 now works correctly). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…tion, and pre-resolved callables
…and error edge cases
…tted path validation, add CorsConfig, replace polling loops, and convert #[allow] to #[expect]
…in manifest-based binding
… scope keys, single-chunk fast path, empty-body fast path, direct PyBytes extraction
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…te, latency guard - Add scripts/bench/results/ to .gitignore - Create root .dockerignore (excludes target/, .git/, node_modules/ from APX build context) - Make delete_item idempotent (204 regardless of existence) - Fix latency ratio guard to check both sides Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This reverts commit 599d57c.
… for metric defs, split system/process metrics, remove FastAPI dead code
- Add target: "apx::http" to HTTP span so EnvFilter matches apx=info - Enable experimental_use_tracing_span_context on appender-tracing - Preserve instrument name/description/unit in histogram_bucket_view
- Unit tests for Unit, span, log, Counter, Histogram, Gauge, StatusCode - Integration tests for metric correctness (names, types, units, descriptions) - Integration tests for span attributes and structure - Regression guard for empty metric name bug
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.