Skip to content

fix(results): slim canonical artifact contract - #1642

Merged
christso merged 1 commit into
mainfrom
results-artifact-contract-cleanup
Jul 4, 2026
Merged

fix(results): slim canonical artifact contract#1642
christso merged 1 commit into
mainfrom
results-artifact-contract-cleanup

Conversation

@christso

@christso christso commented Jul 4, 2026

Copy link
Copy Markdown
Collaborator

Summary

AgentV result bundles now keep run-level setup and provenance out of per-case rows. New artifacts still expose the fields needed by Dashboard, compare, rerun/resume, export, and remote sync, but wrapper experiment config is stored once in .internal/run-config.json, summary.json points to that sidecar, summary.json no longer repeats root instances, and .internal/index.jsonl no longer repeats runtime_source on every row.

The reader surface stays compatible with older noisy artifacts: results/report/serve paths still accept historical row-level runtime_source, and summary rewrites preserve an existing run_config_path when recomputing aggregate files.

Contract Decisions

Field Decision Consumer rationale
runtime_source Keep in summary.json; stop emitting in new rows Dashboard/report need run provenance once; old row fallback remains for compatibility
experiment_config Move to .internal/run-config.json; expose metadata.run_config_path Reproducibility/config audit without bloating run summaries or rows
root instances Remove from summary.json Duplicated cases[].samples, counts.total_instances, and .internal/index.jsonl
tags, identity fields, sidecar paths, artifact_pointers Keep Required for compare/trend/filter/export, Dashboard routing, rerun/resume, and offloaded payload lookup

Reference research used local source for Promptfoo, Vercel agent-eval, and Margin-Lab/evals. Margin in particular keeps run config/bundle state separate from compact results and per-instance sidecars, which matches this cleanup.

Validation

  • bun --filter @agentv/core build
  • bun --filter @agentv/sdk build
  • bun --filter agentv build (Dashboard dist absent warning only)
  • bun run typecheck
  • bun run lint
  • bun test apps/cli/test/commands/eval/artifact-writer.test.ts
  • bun test apps/cli/test/eval.integration.test.ts
  • bun test apps/cli/test/commands/results/report.test.ts
  • bun test apps/cli/test/commands/results/serve.test.ts
  • bun test apps/cli/test/commands/compare/compare.test.ts
  • bun test apps/cli/test/commands/runs/rerun.test.ts
  • bun test apps/cli/test/commands/results/summary.test.ts apps/cli/test/commands/results/export.test.ts apps/cli/test/commands/results/validate.test.ts

Live dogfood used the local OpenAI-compatible proxy with gpt-5.3-codex-spark and the README quickstart llm-rubric grader. Result: PASS, 1/1. The generated bundle and local agentv/results/v1 projection both show summary.metadata.run_config_path, no root instances, row-level runtime_source omitted, and .internal/run-config.json present.

Evidence

Private evidence branch: EntityProcess/agentv-private:evidence/av-eofo-artifact-contract-2026-07-04 at commit 3529ebf.

Key files:

  • evidence/av-eofo/artifact-diff/artifact-contract-focused.diff
  • evidence/av-eofo/artifact-diff/artifact-contract.diff
  • evidence/av-eofo/dogfood/av-eofo-live-dogfood/

Post-Deploy Monitoring & Validation

No additional production monitoring required; this changes local/CI artifact generation and readers, not a deployed service. After merge, validate the next CI or dogfood eval by checking:

  • Healthy signals: new summary.json includes metadata.run_config_path when experiment metadata exists; .internal/run-config.json exists; .internal/index.jsonl rows do not include runtime_source; Dashboard run list/detail still show runtime source labels.
  • Failure signals: Dashboard loses experiment/runtime-source grouping, agentv results report omits runtime-source labels for old runs, agentv compare rejects new rows, or runs rerun cannot locate test bundles.
  • Mitigation: revert this PR or restore the removed row/root fields temporarily while keeping old-reader compatibility.
  • Validation window and owner: next artifact-generating PR or scheduled dogfood run, owned by the AgentV maintainer reviewing av-eofo.

Related

Related: av-eofo


Compound Engineering
GPT--5_Codex

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying agentv with  Cloudflare Pages  Cloudflare Pages

Latest commit: de23c6e
Status: ✅  Deploy successful!
Preview URL: https://d75314f3.agentv.pages.dev
Branch Preview URL: https://results-artifact-contract-cl.agentv.pages.dev

View logs

@christso
christso marked this pull request as ready for review July 4, 2026 07:06
@christso
christso merged commit 810a7d8 into main Jul 4, 2026
8 checks passed
@christso
christso deleted the results-artifact-contract-cleanup branch July 4, 2026 07:06
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