Skip to content

refactor(exgentic_a2a_runner): vendor benchmark and agent env templates - #50

Merged
kellyaa merged 2 commits into
rossoctl:mainfrom
kellyaa:refactor/vendor-env-templates
Jul 30, 2026
Merged

refactor(exgentic_a2a_runner): vendor benchmark and agent env templates#50
kellyaa merged 2 commits into
rossoctl:mainfrom
kellyaa:refactor/vendor-env-templates

Conversation

@kellyaa

@kellyaa kellyaa commented Jul 30, 2026

Copy link
Copy Markdown
Member

Summary

  • deploy-benchmark.sh and deploy-agent.sh were fetching .env templates at deploy time from yoavkatz/agent-examples on the transient feature/exgentic-mcp-server branch. If that branch is renamed, force-pushed, or the fork disappears, every deploy breaks — and any upstream edit silently changes deployed workloads with no diff in this repo.
  • Vendors the five upstream files into exgentic_a2a_runner/env/ (mirroring the upstream path layout) and replaces the curl fetch with a local file read. The parse-env API call is preserved unchanged; only the source of the raw text moves from HTTP to filesystem.
  • Files copied byte-identical from upstream at vendoring time: .env.gsm8k, .env.tau2, .env.appworld (benchmarks) and .env.example, .env.advanced (agents). .env.advanced and .env.appworld are not referenced by current scripts but are vendored for parity.
  • docs/workflow-diagrams.md sequence and component diagrams updated to show a vendored env/ filesystem node instead of a GitHub-raw node.
  • .gitignore — removed redundant env/ and ENV/ virtualenv-convention ignores that were blocking the vendored directory. venv/ and .venv still cover Python virtualenvs.

Test plan

  • bash -n on both scripts — parse cleanly.
  • grep -rn "raw.githubusercontent.com/yoavkatz|feature/exgentic-mcp-server" exgentic_a2a_runner/ — no matches.
  • grep -nE "GH as GitHub|GitHub raw" exgentic_a2a_runner/docs/workflow-diagrams.md — no matches.
  • diff each vendored file against upstream at vendoring time — all identical.
  • git check-ignore on the vendored files — none ignored after .gitignore cleanup.
  • End-to-end kind deploy of a benchmark (e.g. ./deploy-and-evaluate.sh --benchmark gsm8k --agent tool_calling) to confirm the parse-env pipeline still receives the expected content and the deployed pod comes up ready.
  • Reviewer sanity: confirm no tests / CI / Makefile targets exercise these deploy scripts (search returned nothing at plan time).

Notes

  • No remote-override escape hatch was added. If someone needs different env values, they edit env/**/*.env* in-tree and commit — which is the whole point of vendoring.
  • authbridge/intent_prompt.txt still allows raw.githubusercontent.com for the deployed agents own runtime traffic (e.g. litellms model-pricing JSON). That is unrelated to the deploy-time fetch removed here.

kellyaa added 2 commits July 28, 2026 15:19
The Getting Started and Benchmarks sections still implied users needed
to build the agent + MCP images locally, but deploy-agent.sh and
deploy-benchmark.sh default to pulling from ghcr.io/exgentic. Reword to
match the current script defaults so new users don't chase build.sh.

Signed-off-by: Kelly Abuelsaad <kaymar@gmail.com>
deploy-benchmark.sh and deploy-agent.sh fetched .env templates at deploy
time from a personal-fork feature branch
(yoavkatz/agent-examples @ feature/exgentic-mcp-server). If that branch
were renamed, force-pushed, or the fork deleted, every deploy would
break; and any upstream edit silently changed deployed workloads with
no diff visible in this repo.

Vendor the five upstream files into env/ (mirroring the upstream layout)
and read from disk. The parse-env API call is unchanged; only the
source of the raw text moves from HTTP to filesystem.

- env/mcp/exgentic_benchmarks/.env.{gsm8k,tau2,appworld}
- env/a2a/exgentic_agent/.env.{example,advanced}
- env/README.md documents provenance and edit-in-tree workflow
- .gitignore: drop redundant env/ and ENV/ ignores; venv/ and .venv
  still cover Python virtualenvs
- docs/workflow-diagrams.md: replace GitHub raw node with vendored env/
  node in both scripts sequence and component diagrams

Contents diffed byte-identical against upstream at vendoring time.

Signed-off-by: Kelly Abuelsaad <kaymar@gmail.com>
@kellyaa
kellyaa merged commit e0f17ad into rossoctl:main Jul 30, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant