mirror of
https://github.com/rennf93/roboco.git
synced 2026-08-03 07:23:24 +02:00
chore(release): 0.28.0
This commit is contained in:
@@ -6,6 +6,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [0.28.0] - 2026-07-29
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- **The eval harness real-spawn path is wired (#701).** `python -m roboco.eval run` now works end-to-end for a developer-role cohort: `OrchestratorStageSpawner.__init__` replaces its `NotImplementedError` with a real `AgentOrchestrator()` constructed the same way the production dispatcher builds it, so `run_stage` drives a real `spawn_agent` per turn. The no-production-reach guarantee lives in `_generate_mcp_config`, which now prefers `settings.api_url` when set (both `PROJECT_HOST_PATH` branches) — the harness's `_bench_environment` patches `settings.api_url` to the disposable stack URL, so a spawned container's MCP servers resolve to the throwaway orchestrator instead of the real production hostname or `127.0.0.1:{port}`, even though `_seed_company` seeds agents under their real production UUIDs (correct — orchestrator-internal helpers keyed by the static registry resolve as in a real deployment; the isolation is the URL, not the UUID). A new `tests/unit/runtime/test_eval_mcp_config_isolation.py` pins the guarantee without a Docker daemon. The injectable scripted `StageSpawner` (`tests/e2e_smoke/test_eval_bench.py`) is unaffected — it injects its own `make_spawner` — and remains the unit-test fallback. The real spawn needs a Docker daemon + built agent images.
|
- **The eval harness real-spawn path is wired (#701).** `python -m roboco.eval run` now works end-to-end for a developer-role cohort: `OrchestratorStageSpawner.__init__` replaces its `NotImplementedError` with a real `AgentOrchestrator()` constructed the same way the production dispatcher builds it, so `run_stage` drives a real `spawn_agent` per turn. The no-production-reach guarantee lives in `_generate_mcp_config`, which now prefers `settings.api_url` when set (both `PROJECT_HOST_PATH` branches) — the harness's `_bench_environment` patches `settings.api_url` to the disposable stack URL, so a spawned container's MCP servers resolve to the throwaway orchestrator instead of the real production hostname or `127.0.0.1:{port}`, even though `_seed_company` seeds agents under their real production UUIDs (correct — orchestrator-internal helpers keyed by the static registry resolve as in a real deployment; the isolation is the URL, not the UUID). A new `tests/unit/runtime/test_eval_mcp_config_isolation.py` pins the guarantee without a Docker daemon. The injectable scripted `StageSpawner` (`tests/e2e_smoke/test_eval_bench.py`) is unaffected — it injects its own `make_spawner` — and remains the unit-test fallback. The real spawn needs a Docker daemon + built agent images.
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "roboco-panel",
|
"name": "roboco-panel",
|
||||||
"version": "0.27.0",
|
"version": "0.28.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"packageManager": "pnpm@11.10.0",
|
"packageManager": "pnpm@11.10.0",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "roboco"
|
name = "roboco"
|
||||||
version = "0.27.0"
|
version = "0.28.0"
|
||||||
description = "AI Agents Company - A virtual organization of AI agents functioning as a software development workforce"
|
description = "AI Agents Company - A virtual organization of AI agents functioning as a software development workforce"
|
||||||
authors = [
|
authors = [
|
||||||
{name = "Renzo Franceschini", email = "rennf93@users.noreply.github.com"}
|
{name = "Renzo Franceschini", email = "rennf93@users.noreply.github.com"}
|
||||||
|
|||||||
+1
-1
@@ -5,7 +5,7 @@ A virtual organization of 25 AI agents + 1 human CEO,
|
|||||||
designed to operate as a complete software development workforce.
|
designed to operate as a complete software development workforce.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
__version__ = "0.27.0"
|
__version__ = "0.28.0"
|
||||||
|
|
||||||
# Core exports
|
# Core exports
|
||||||
from roboco.config import settings
|
from roboco.config import settings
|
||||||
|
|||||||
+1
-1
@@ -38,7 +38,7 @@ class Settings(BaseSettings):
|
|||||||
# ==========================================================================
|
# ==========================================================================
|
||||||
# Application
|
# Application
|
||||||
# ==========================================================================
|
# ==========================================================================
|
||||||
app_version: str = "0.27.0"
|
app_version: str = "0.28.0"
|
||||||
debug: bool = False
|
debug: bool = False
|
||||||
environment: str = Field(
|
environment: str = Field(
|
||||||
default="development", pattern="^(development|staging|production)$"
|
default="development", pattern="^(development|staging|production)$"
|
||||||
|
|||||||
Reference in New Issue
Block a user