Portfolio Agent EvalsHarbor task suite · ETF analyze → backtest → rebalance

Eval suite design

Can an agent analyze, backtest and rebalance an ETF portfolio without fooling itself, its verifier, or its client?

A Harbor-style task suite built around one household of ETF accounts and one investment policy. The pipeline looks simple; the suite scores five things separately: convention-exact quantitative work, methodological rigor (look-ahead, survivorship, overfitting, data hygiene), constrained feasibility and optimality, judgment and honesty, and engineering. Every task is offline, seeded, oracle-verified and gate-protected.

46
Tasks
10
Themes
3
Multi-step tasks
16
Tasks with gates
18
Fixtures
27.5 h
Agent budget

The pipeline under test

Difficulty ladder & headroom targets

Reward types & readiness

Reward type

  • partial5
  • multi-metric40
  • llm-judge-hybrid1
Phase split: Analyze 11 · Backtest 9 · Rebalance 10 · Cross-cutting 12 · End-to-end 4

Design principles

Seeded synthetic data, offline

Every trial generates its own ETF universe from a seed at image build; the generator is deleted and re-run by the verifier. Nothing is memorizable, traps land in different places, and there is no network.

Gates before gradients

Feasibility violations cap reward; fabrication, prompt-injection compliance and secret leaks zero it. Partial credit is for quality, never for safety.

Traps must carry signal

Each task ships with three calibration runs: oracle = 1.0, naive baseline < 0.3, trap-blind solution < 0.6. A trap that a trap-blind solution passes is removed.

Verify generality, not answers

Hidden datasets and metamorphic transformations (price scaling, calendar shifts, ticker renames) for tooling tasks; self-consistency verifiers that recompute the oracle under the agent's own declared assumptions.

Judge only what cannot be computed

LLM judges are used for memo quality alone, always multiplied by a deterministic numeric-grounding check with a JSON-schema rubric to bound variance.

Headroom by construction

Four tiers with target pass rates from ≥90% down to <20% so the suite discriminates between today's frontier and the next one.

Workbench

Static export — editing and restore are disabled. Data is from seed at build time.

Static