You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Summary
Per-service runtime.json context propagation — replaces individual EXGENTIC_* env vars with a single runtime.json per service. Each agent/benchmark session bootstraps context, settings, and OTEL trace IDs from disk. Eliminates env var leakage and race conditions in parallel workers.
Session/Evaluator separation — Sessions self-load their own task data given just task_id. Evaluator exists only for run-level aggregation (list_tasks + aggregate_sessions). Removes N redundant evaluator spawns per run.
Per-session otel_spans.jsonl — when OTEL is enabled, each session automatically gets a local JSONL file with all spans (session lifecycle, tool executions, LLM calls). No Jaeger or collector required.
Env var allowlist — subprocess runners now forward only model-provider credentials and OTEL config (~3 vars) instead of the entire host environment (~45 vars).
Shared retriever for BrowseCompPlus — auto-enabled for venv/process/docker runners so sessions don't each load the 612MB search model.
Health check cache bypass — model accessibility check now skips LiteLLM cache to verify real connectivity.
Notes
EXGENTIC_OTEL_ENABLED=true now works standalone for local file export without a running collector. Set OTEL_EXPORTER_OTLP_ENDPOINT to also send to Jaeger/Tempo.
settings.cache_dir default changed from .exgentic (CWD-relative) to ~/.exgentic (home-relative), matching EnvironmentManager.
Removed APIs: context_env, init_context_from_env, agent_scope, benchmark_scope, Context.to_env, Evaluator.get_session_kwargs. These were internal and replaced by runtime.json propagation.
New Role.AGGREGATOR for run-level evaluator services (path isolation from session-level Role.BENCHMARK).