Skip to content

Add Medvedev-De Minaur break-point ledger task - #116

Draft
inFaaa wants to merge 2 commits into
PhiloLabs:mainfrom
inFaaa:agent/add-medvedev-de-minaur-break-point-ledger-wip
Draft

Add Medvedev-De Minaur break-point ledger task#116
inFaaa wants to merge 2 commits into
PhiloLabs:mainfrom
inFaaa:agent/add-medvedev-de-minaur-break-point-ledger-wip

Conversation

@inFaaa

@inFaaa inFaaa commented Aug 28, 2026

Copy link
Copy Markdown

Closes #93

WIP status

This PR is intentionally submitted as a draft calibration candidate, not as a
conditions-satisfied task. The current official hierarchical score for GPT-5.6 Sol
is 0.3305, above the preferred <0.10 gate. The oracle-assisted fixed-prior
diagnostic is 0.1833, above the usual 0.15 ablation ceiling. Both are disclosed
so the task can be reviewed before another hardening/calibration cycle.

Summary

Adds one new agentic_vbench_understanding task:

tasks/agentic_vbench_understanding/medvedev-de-minaur-2023-us-open-break-point-ledger/

It does not modify shared benchmark infrastructure or existing tasks.

Given the complete silent 2023 US Open fourth-round match between Daniil Medvedev
and Alex De Minaur, the agent reconstructs every break-point opportunity in
chronological order. Each event includes:

  • set, player-specific game/point scores, server, and opportunity number;
  • first-serve status, saved/converted outcome, and live-serve direction;
  • rally length and point-ending player/stroke/position/result/error; and
  • the complete ordered stroke/direction shot sequence.

The provisional reference contains 16 break-point opportunities and 112 shot
tokens. Repeated break points in one service game remain separate events.

Media

The Dockerfile follows the direct pinned-release pattern used by the existing
GSW–Cleveland understanding task.

  • source: official US Open full-match video reconstructed at 1280x720;
  • hosting: pinned GitHub release asset;
  • source SHA-256:
    d78c9246d5dd36b812c71b5f39bfa43ab86d1a7adf711fb7bbc6ff1d66d618b2;
  • canonical task media SHA-256:
    d61bee17596a28dbc8f8b607e4fc0dd6542885dbe9cdad18e1953e89363b0860;
  • canonical bytes: 685013111;
  • probe: H.264, 1280x720, 30000/1001 fps, 7152.578767 seconds,
    214363 decoded frames, zero audio streams.

The hosted source contains commentary. The Docker build verifies its checksum and
copies only video stream 0:v:0, so the agent receives a silent artifact. The video
binary is not committed.

Ground truth and provenance

The official aggregate statistics fix 16 opportunities:

  • Medvedev converted 5/10;
  • De Minaur converted 2/6.

The current provisional identity, serve, rally, terminal, and shot labels are
reproducibly decoded from the pinned Match Charting Project record
20230904-M-US_Open-R16-Daniil_Medvedev-Alex_De_Minaur at commit
2c59eef194967e688b69e73df344184a06322cd8.

The instruction now defines observable criteria for forced_error,
unforced_error, error_unknown, ace/unreturnable, terminal position/error, serve
direction, rally counting, and shot direction. MCP is treated as attributed
third-party annotation, not machine truth.

The target human-verified tier is still pending. The PR includes a complete blind
two-annotator packet/freeze/union/adjudication protocol and does not claim that the
two independent full-video ledgers already exist.

Official hierarchical scoring

The verifier is deterministic Python with no VLM/LLM judge. It implements
hierarchical-bottleneck-v1:

  1. Match events one to one and chronologically on all seven exact identity fields.
  2. For each matched event, compute nine-field summary accuracy.
  3. Align shot stroke/direction atoms in order and divide by the larger predicted
    or reference shot-atom count.
  4. Give the event the smaller of summary accuracy and ordered-shot accuracy.
  5. Compute F1 from summed fractional event credit:
reward = 2 * sum(event_credit) / (n_predicted + n_reference)

The bottleneck requires both detail layers and prevents summary-only or shot-only
submissions from receiving event credit. It intentionally has plateaus: improving
the stronger layer does not change reward until it crosses the weaker layer. False,
duplicate, malformed, and extra events stay in the prediction denominator.

Chronological exact-event F1 remains a strict diagnostic only. Oracle reward is
1.0; empty reward is 0.0.

Reviewer feedback addressed

  • Replaced the single exact-event reward gate with identity-first hierarchical
    field-level scoring.
  • Added complete ordered shot sequences and deterministic order-preserving scoring.
  • Defined observable pressure criteria and disagreement adjudication for
    forced/unforced errors.
  • Removed commentary from the canonical agent media.
  • Reran Codex calibration and ablations against one fixed image and exact pinned
    silent artifact without host-only media-analysis dependencies.
  • Retained full current-schema native Codex streams, submitted solutions,
    generation-time validation, current verifier details, and SHA manifests.
  • Separated scored rollouts, ablations, deterministic baselines, frozen validators,
    and NO_SCORE harness failures following PR Add Dota 2 pre-death minimap trajectory task #84's artifact layout.

Measured calibration

harness version model reasoning input reward predicted tool-call turns runtime
Codex CLI 0.149.1 GPT-5.6 Sol high full silent match 0.3305 17 247 61m31s
Codex CLI 0.149.1 GPT-5.6 Sol high no media 0.0000 0 3 4m18s
Codex CLI 0.149.1 GPT-5.6 Sol high one frame 0.0000 0 7 4m57s
Codex CLI 0.149.1 GPT-5.6 Sol high scoreboard only 0.1175 16 65 41m54s
Codex CLI 0.149.1 GPT-5.6 Sol high all-frame contact sheets; zero calls observed 0.0222 14 n/a 12m47s

The full run aligned all 16 identities from 17 predictions, recovered 79/144
summary atoms and 136 ordered shot-field atoms, and had zero exact events. Its
hierarchical true-positive credit is 5.4539, precision 0.3208, recall 0.3409,
and F1 0.3305.

The original .reward.json/.validation.json files remain unaltered
generation-time exact-judge records. The new
*.hierarchical-verifier-details.json files are deterministic regrades of the
frozen submitted solutions. This distinction preserves provenance instead of
rewriting old validations as if they had used the new metric.

Anti-shortcut results and limits

  • No media: 0.0000.
  • One representative frame: 0.0000.
  • Scoreboard-only video: 0.1175.
  • All decoded frames in contact sheets, zero tool calls observed: 0.0222.
  • Oracle identity/outcome plus fixed global priors: 0.1833 (non-agent diagnostic,
    not passing).

The contact-sheet record proves zero calls observed in the retained session, not an
auditable backend tools=[]/tool_choice=none setting. CLI image preprocessing and
downsampling also remain explicit limitations.

Cross-harness status

No numeric score is assigned to an invalid or unstarted trajectory:

  • Claude Code 2.1.209 was unauthenticated; Fable 5 and Opus 4.8 did not begin
    inference.
  • Native Antigravity CLI 1.1.22 Flash and Pro attempts began inference but failed
    terminal trajectory classification and are NO_SCORE.

Compact privacy-safe failure records contain only versions, failure stage/reason,
and sanitized-package hashes. Raw failure packages, machine-local paths, credentials,
and terminal reports are excluded.

Validation

  • Task structure: pass.
  • Oracle: 1.0.
  • Empty: 0.0.
  • Rollout length: 247 tool-call turns, pass.
  • Verifier tests: 32/32 pass.
  • Calibration regrade tests: 2/2 pass.
  • Frozen generation-validator tests: 44 pass, one optional external-overlay test
    skipped.
  • Python compile, shell syntax, JSON parsing, checksum manifests, and
    git diff --check: pass.
  • Fixed calibration image remains present with ID
    sha256:390fb56051fafb49b5b4b797cb15704469294f816255994e9ee0fd21fe2da06b.
  • The repository pre-submission checker has one expected WIP failure only:
    strong-agent reward 0.3305 is not <0.10.

Open acceptance items

  • Harden and rerun until maintainers accept the difficulty level or the strong-model
    reward is below the required gate.
  • Resolve the 0.1833 oracle-assisted fixed-prior shortcut diagnostic.
  • Complete two blind independent full-video annotations and adjudication before
    claiming human-verified ground truth.
  • Complete authenticated, terminal-valid Claude Code and native Antigravity runs.
  • Obtain maintainer acceptance for the observed-zero-call contact-sheet protocol or
    replace it with auditable backend-disabled tools.
  • Record an immutable submitted task commit in future end-to-end validation.

return previous[-1]


def layer_atoms(event, reference):

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The first token’s stroke is contractually always serve, but layer_atoms currently awards it ordinary field credit. This is material: the scoreboard-only run’s 16 correct shot fields are exactly these 16
schema-guaranteed atoms, which open the bottleneck despite zero correct serve-direction or terminal-detail fields. The fixed-prior’s 23 shot hits are the same 16 constants plus seven guessed directions.

Excluding only this constant atom regrades oracle/full/scoreboard/fixed-prior to approximately 1.0 / 0.2989 / 0.0 / 0.0449. Please score the first token on direction only, or otherwise exclude its constant
stroke field, and add the scoreboard-only and fixed-prior artifacts as regressions.

@techgenmini

Copy link
Copy Markdown
Collaborator

Hi @inFaaa — thanks for sharing this as a transparent WIP. I reviewed only the scorer/design checkpoint, not merge readiness.

I left one inline scorer issue: the schema-guaranteed first serve stroke currently earns credit. After excluding that constant atom, the retained full Codex answer still regrades to about 0.299, so the next
step should be substantive task hardening followed by one Codex pilot. I would defer final annotation, cross-harness calibration, and packaging review until that design clears the difficulty gate.

The 0.1833 fixed prior is useful diagnostic evidence, not a formal ablation failure or an exception request.

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.

[Task Proposal] Reconstruct every break point in Medvedev vs De Minaur, 2023 US Open R4

2 participants