Repository navigation
Feat/pre release - #67
Merged
Merged
Conversation
…endpoints - Run trace: move trace reconstruction to utils/run_trace.py and build a span tree (run > node visits > llm and tool calls) with inputs, outputs, status, tokens and timings; observability returns enabled/reason and notes. Still dev only: the store is not created with MODE=production. - Streams: rebuild a missing pause chunk from the checkpoint for every pause kind; continue interrupt_before/after pauses with an empty resume. - Threads and messages: has_more with limit/offset. - Media: GET /v1/files lists the caller's files. - Graph details: realtime_options for /v1/graph/live clients. - Remove /v1/evals/runs endpoints; `10xgraph eval` writes a JSON report only (no HTML, --open removed) for the playground to open.
- Updated `10xgraph init --template production` to scaffold a production-ready setup with JWT auth and Redis rate limiting. - Introduced production-readiness warnings in `10xgraph config` and `10xgraph build` to alert users about potential misconfigurations. - Redesigned `10xgraph config` editor for improved user experience and added validation for production readiness. - Modified `10xgraph build` command to include warnings for non-production-ready configurations. - Updated templates and example configurations to reflect new production requirements, including PostgreSQL and Redis integration. - Added comprehensive tests for production readiness checks and configuration validation.
…adiness - Implement tests for resume functionality requiring user_id in `test_resume_needs_user_id.py`. - Add tests for run entry guards and WebSocket lifecycle in `test_run_entry_guards.py`. - Create tests to ensure proper closure of run traces in `test_run_trace_close.py`. - Introduce tests for shutdown grace periods and readiness checks in `test_shutdown_readiness.py`. - Add tests for stream protocol behavior including keep-alive and terminal chunk handling in `test_stream_protocol.py`. - Implement tests for thread naming on the stream path in `test_stream_thread_naming.py`.
…esource ID rules, and shutdown wiring - Implement tests to ensure that user B cannot access user A's media files through various routes and methods. - Create a validator test to confirm that ordinary text passes through the production template validator without issues. - Add tests for client-named IDs to validate proper formatting and error handling for thread, message, and memory IDs. - Introduce tests to verify that the shutdown process correctly calls the graph's close method and handles errors gracefully.
…d browser opening - Updated `10xgraph eval` command to generate both JSON and HTML reports. - Added `--open` option to open the HTML report in the browser by default. - Introduced configuration option `open_report` in `10xgraph.json` to control HTML report opening. - Enhanced progress reporting during evaluations to include detailed step messages. - Updated evaluation templates to ensure compatibility with new reporting features. - Added tests to verify the new functionality and ensure expected behavior during evaluations.
…ring cancellation
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
Mothilal-M
approved these changes
Oct 30, 2026
Mothilal-M
left a comment
Member
There was a problem hiding this comment.
LGTM! Everything looks solid. Approving.
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.
10xgraph-api 1.0.0rc2
Second 1.0 release candidate. It is the
1.0.0rc1code plus a round of fixes found in the pre-1.0 review and in live runs on a production stack built with10xgraph build --docker-compose(gunicorn, JWT with scopes, ownership authorization, Postgres + RedisPgCheckpointer, Redis rate limit and token revocation, Qdrant memory). Requires10xgraph>=1.0.0rc2,<2.0; aligned with10xgraph-client1.0.0-rc.2.Full list:
CHANGELOG.mdsection[1.0.0rc2]. Human-facing summary:RELEASE_NOTES.md.Breaking (read before merging)
Request validation
^[A-Za-z0-9._:@-]{1,128}$(422 otherwise). Snowflake ids and UUIDs fit.initial_state,configandresumenested deeper than 64 levels get 422.Status codes and responses
response_schema). On/v1/graph/streamthe 409 now comes before the stream starts./v1/graph/fix.DELETE /v1/threads/{id}can returnsuccess=falsewithdata.cleanup_failedwhen file, trace or cache cleanup failed. The thread rows are still deleted.GRAPH_RECURSION_LIMIT, not 500.VALIDATION_ERROR.POST /v1/graph/streamis labelledapplication/x-ndjsonand sends a keep-alive line every 15 s.Auth and authorization
JWT_ALGORITHMmust be on an allowlist, and startup fails without PyJWT when"auth": "jwt".authmust be exactly"jwt".graph:setupscope is gone./v1/graph/livefollowruns.thread_idslike REST: under"server", an id the server never issued is refused. Frontends that make their own ids (CopilotKit) must set"runs": {"thread_ids": "client"}.CLI
10xgraph buildrefuses--docker-composetogether with--k8s.Deploy notes
/health/readyfails while the schema is behind.TenxGraphUvicornWorker. Regenerate Docker and Kubernetes files with10xgraph build. Keep--graceful-timeoutabove the sum of theSHUTDOWN_*_SECONDSsettings.python-multipart>=0.0.31,starlette>=1.3.1,PyJWT>=2.15.0, OpenTelemetry>=1.45.1.Highlights
Graceful shutdown
graph.aclose()withSHUTDOWN_GRACE_SECONDS,SHUTDOWN_STOP_SECONDSandSHUTDOWN_TIMEOUT_SECONDS.Retry-After.Production setup
10xgraph init --template productiondefaults to JWT, ownership authorization and Redis rate limiting.10xgraph buildand10xgraph configwarn about a missing auth or authorization setup.10xgraph configeditor is redesigned.New opt-ins
JWT_SECRET_KEYS) andJWT_MAX_TOKEN_AGE_SECONDS.10xgraph revoke.REDIS_KEY_PREFIX.Other additions
Retry-Afteron 429 and 409.session_startedevent on/v1/graph/live.Evals
10xgraph evalwrites an HTML report and opens it, shows live progress lines, and records the pass-rate gate in the report.initeval templates can pass, and the template weather tool answers per city.Reliability
gemini-3.8-live.Security
file_idmedia ownership like invoke.IS_DEBUGis removed.Testing
docker compose stopanddocker killmid-run each leave a usable thread;