fix: comprehensive stress test bugfix sweep#5
Merged
msilverblatt merged 6 commits intomasterfrom Mar 15, 2026
Merged
Conversation
- Add missing `import os` in transport.py (NameError on send_raw) - Initialize start_time and action_name before try block in runner.py (NameError in exception handler if early failure) - Export clear_middleware_registry from __init__.py (consistency) - Remove unused imports in resource.py and prompt.py - Add 3 regression tests covering each critical fix
- Allow dotted tool names in validator (SDK generates group.action) - Add --help/-h and --version/-v flag support - Check file existence before launching subprocess - Return error from Batch() instead of panicking - Close request body in playground HTTP handlers - Propagate json.Marshal error from FormatJSON() - Add regression tests for each fix
…flow race - Export clearMiddlewareRegistry from index.ts - Clear all registries on hot reload, not just groups - Match URI against template pattern instead of blindly using first template - Await getActiveTools() to prevent race condition in workflow init - Add 2 regression tests
Replace .lock().unwrap() with .lock().unwrap_or_else(|e| e.into_inner()) on all global static Mutex registries. Add test-only serialization locks to prevent parallel tests from racing on shared global state. All 73 tests now pass consistently under parallel execution.
- Fix brew install command in SDK and examples READMEs (protomcp/tap -> msilverblatt/tap) - Fix file path in Go resources_and_prompts example comment
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.
Summary
Critical fixes
transport.py: Missingimport oscausedNameErroron any compressed data sendrunner.py: Exception handler referenced uninitialized variables, causing secondary crashgroup.action) that the SDKs themselves generate —pmcp validatefailed on its own examples--helpand--versionreturned "unknown command" errorsAll changes
fix(python)fix(go)fix(typescript)fix(rust)docsTest plan
go test ./cmd/... ./internal/...— all passgo test ./test/e2e/...— all passpython -m pytest sdk/python/tests/ -v— 149 pass (3 new regression tests)npx vitest run(sdk/typescript) — 102 pass (2 new regression tests)cargo test(sdk/rust) — 73 pass, 0 fail (previously 18 failures)pmcp validate examples/python/tool_groups.py— pass (previously failed)pmcp validate examples/python/workflow_deploy.py— pass (previously failed)pmcp --help— works (previously errored)pmcp --version— works (previously errored)pmcp dev nonexistent.py— clean error (previously confusing python3 error)