* feat(testkit): install and configure Claude Code, Codex and opencode against a gateway
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
* refactor(testkit): derive targets from target-lexicon and split agents behind a trait
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
* refactor(testkit): group sources into agent and install folders
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
* feat(testkit): split agents into install, configure and drive with semver-aware launch
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
* style(testkit): drop a needless borrow
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
---------
Co-authored-by: Yujong Lee <yujong@berri.ai>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>