fix(autoagent): recover stable 1.1.0 release#39
Merged
Conversation
| mesh_config["seed_nodes"] = seed_nodes | ||
|
|
||
| # Find an available port for this agent's P2P listener | ||
| # SWIM doesn't support bind_port=0, so we find a free port |
| """Promise: ValueError if system_prompt is absent.""" | ||
| print("\n--- Test 1: Class Validation (system_prompt required) ---") | ||
| try: | ||
| agent = AgentMissingPrompt(agent_id="test-bad") |
| import os | ||
|
|
||
| if TYPE_CHECKING: | ||
| from jarviscore.p2p import PeerClient |
|
|
||
| if TYPE_CHECKING: | ||
| from jarviscore.p2p import PeerClient | ||
| from jarviscore.p2p.coordinator import P2PCoordinator |
| import logging | ||
| import os | ||
| import signal | ||
| import sys |
| @@ -0,0 +1,26 @@ | |||
| import pytest | |||
| from unittest.mock import AsyncMock, patch | |||
| @@ -0,0 +1,86 @@ | |||
| import pytest | |||
| import asyncio | |||
|
|
||
| # 5. Wait for SWIM cluster to converge | ||
| # This allows SWIM gossip to sync membership | ||
| import asyncio |
Restore AutoAgent usability by enforcing coder proof-of-work, wiring the file-capable CoderSandbox, and documenting the SemVer recovery from the broken 1.0.3/1.0.4 releases.
87b3ca1 to
ff4cb42
Compare
Harden AutoAgent, Kernel routing, planner/evaluator contracts, workflow status propagation, search/provider behavior, resource cleanup, and package hygiene so v1.1.0 restores a usable stable framework release. Fixes #32. Fixes #33. Fixes #34. Fixes #35. Fixes #36. Fixes #37. Fixes #38. Co-authored-by: Cursor <cursoragent@cursor.com>
| finally: | ||
| await mesh.stop() | ||
|
|
||
| statuses = {r["step_id"] if "step_id" in r else f"s{i}": r["status"] |
| if hasattr(v, "model_json_schema"): | ||
| # Render Pydantic BaseModels as JSON schemas for the LLM | ||
| try: | ||
| import json |
| import re | ||
| import time | ||
| from typing import Any, Dict, List, Optional | ||
| from typing import Any, Dict, List, Optional, TYPE_CHECKING, cast |
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
This PR recovers
AutoAgentstability for thev1.1.0release and addresses the 7 open regressions tracked in #32 through #38.The core theme is making AutoAgent reliable as a production developer-facing orchestration primitive: schema contracts are enforced, coder agents are grounded in the real sandbox environment, trivial tasks avoid unnecessary planning loops, semantic tool lookup is normalized, AutoAgent/CustomAgent runtime boundaries are explicit, execution success is separated from task success, and sandbox cleanup is made safe around async/ZMQ edge cases.
Closes #32
Closes #33
Closes #34
Closes #35
Closes #36
Closes #37
Closes #38
What Changed
Agent.output_schemais carried through the Kernel intoCoderSubAgentand validated with Pydantic instead of silently returning invalid payloads.CoderSubAgentprompts so the model sees the actual preloaded globals/modules available at runtime.p2p_responder, so only true mesh responders get background run loops.__builtins__infinallyblocks for sync and async execution paths.CoderSandbox.DONEwithout successful execution evidence.1.1.0, mark1.0.3and1.0.4as broken/yanked, and document strict SemVer policy going forward.Issue Coverage
Test Plan
pytest tests/test_issue_32.py tests/test_issue_33.py tests/test_issue_34.py tests/test_issue_35.py tests/test_issue_36.py tests/test_issue_37.py tests/test_issue_38.pypython test_usability.pypython -m compileall jarviscoregit diff --check HEAD^ HEADRelease Notes
This should ship as
1.1.0, not another patch release, because it introduces new backward-compatible framework behavior and public primitives while recovering from the broken1.0.3/1.0.4PyPI releases.