Skip to content

test(aeh): add pairwise mode hello-world submission#108

Draft
GuyZivRH wants to merge 2 commits into
mainfrom
eval/aeh-hello-world-pairwise
Draft

test(aeh): add pairwise mode hello-world submission#108
GuyZivRH wants to merge 2 commits into
mainfrom
eval/aeh-hello-world-pairwise

Conversation

@GuyZivRH

@GuyZivRH GuyZivRH commented Jul 14, 2026

Copy link
Copy Markdown
Collaborator

Purpose

Test Agent-Eval-Harness (AEH) integration in pairwise mode with A/B comparison between control (no skill) and treatment (with skill).

Changes

Added aeh-hello-world-pairwise submission with:

  • metadata.yamleval_engine: aeh, n_trials=3, security_scan: warn
  • eval-control.yaml — baseline with empty skill (raw prompt, no slash-command)
  • eval-treatment.yamlskill: aeh-hello-world-pairwise + plugin_dirs: [skills]
  • skills/aeh-hello-world-pairwise/SKILL.md — treatment skill package
  • cases/case-001/ — shared prompt + annotations

Models

Both configs use LiteLLM proxy IDs: claude-sonnet (not claude-sonnet-4-5).

Variants

  • Control: no slash-skill (skill: ""), no plugin_dirs — agent gets the raw prompt
  • Treatment: /{skill} {prompt} with skills mounted via plugin_dirs

Judges

  1. exit_success — Claude Code exit code (threshold min_pass_rate: 1.0)
  2. file_created — diagnostic only (no threshold gate)
  3. pairwise — LLM judge for score.py pairwise comparison (min_win_rate: 0.5)

Testing

Pipeline params:

  • eval-engine=aeh, aeh-mode=pairwise
  • revision=eval/aeh-hello-world-pairwise
  • submission-dir=aeh-hello-world-pairwise
  • llm-api-base=http://litellm.ab-eval-flow.svc.cluster.local:4000
  • aeh-model-override=claude-sonnet (optional if eval yaml already uses it)

Related

GuyZivRH added 2 commits July 14, 2026 15:13
Add aeh-hello-world-pairwise submission to test Agent-Eval-Harness
integration in pairwise/A/B mode with control and treatment variants.

Structure:
- metadata.yaml: Pipeline configuration (n_trials=3)
- eval-control.yaml: Control variant config (baseline)
- eval-treatment.yaml: Treatment variant config (with plugin_dirs)
- cases/case-001/input.yaml: Shared task prompt
- cases/case-001/annotations.yaml: Shared expected results

Variants:
- Control: Basic configuration (no plugin_dirs)
- Treatment: Enhanced with plugin_dirs for skills

Judges (both variants):
- exit_success: Verifies Claude Code completed successfully
- file_created: Validates output file content

Test task: Create greeting.txt with "Hello, World!" content

Pairwise comparison via score.py will determine if treatment
wins over control based on judge results across trials.
Use claude-sonnet, add treatment skill package, clear control slash-skill,
drop file_created gate, and add pairwise LLM judge for score.py.
@GuyZivRH
GuyZivRH force-pushed the eval/aeh-hello-world-pairwise branch from 012b9dc to 6ad7fff Compare July 19, 2026 12:04
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