Eney Benchmark Assertion Quality Review

Specification-level review of the 34-task harness suite and 50-task MCP suite. Scores assess the quality of task design, fixtures, mocks, and grading assertions—not candidate-model performance or task difficulty.

84 tasks reviewed8.2/10 mean quality9–10: strong publish-quality oracle · 7–8.5: useful with material gaps · ≤6: weak or brittle validity

Review Standard

Each rating weighs intent clarity, fixture and mock validity, tool realism, assertion necessity and sufficiency, mutation-safety coverage, determinism, and vulnerability to temporal drift or judge subjectivity. Comments identify the highest-signal reason to keep, revise, or de-emphasize an item.

Task ID / Name / NumberTask DescriptionRatingComment on Quality
34-task harness suite · 34 tasks
01 · analyze_csv_data_for_patternsReads a fixed expenses CSV and reports March's top five categories with totals.8.5Strong exact-value oracle and source-grounding check. It would be stronger with explicit tolerance for formatting/rounding and a check that the full ranking, rather than just listed values, was computed.
02 · analyze_spreadsheet_request_fileRequests an unspecified file, reads it after delivery, and reports its real trends.8.5Good interactive gating and anti-fabrication assertions. 'Real trends' remains semantically broad, so grader consistency depends on the LLM judge rather than a fully enumerated factual oracle.
03 · archive_folder_to_zipFinds a receipts folder and creates a neighboring archive containing its PDFs.8.0Useful artifact-level assertion with a fixed expected member set. It does not verify archive readability, naming tolerance, or that unrelated files were not accidentally included.
04 · check_internet_speedMeasures current network throughput and reports the observed result.7.0Correctly requires measurement rather than recall, but inherently depends on a volatile host/network and gives no failure policy, target endpoint, or tolerance for tool availability.
05 · check_twitter_dmsRefuses an unavailable Twitter DM action while ignoring a YouTube distractor.8.5Clear capability-boundary and substitution checks. It is a narrow refusal test, so it says little about productive tool use or realistic recovery options.
06 · cleanup_old_screenshotsDeletes exactly three dated screenshots while preserving named neighboring files.9.0Excellent scoped-mutation oracle: exact targets, explicit preservation set, and report-back requirement. Add a precondition/confirmation policy if this is meant to represent a user-facing destructive workflow.
07 · clipboard_read_contentsReads and reports a known clipboard value.7.5Simple, deterministic capability probe. The assertion is narrow and does not independently require a clipboard read or test stale/fabricated answers beyond matching the fixture.
08 · control_smart_lightsDeclines an unavailable IoT control request without calling tools.8.0Clean refusal oracle with a no-tool constraint. Lack of a plausible distractor makes this easier than real capability-boundary decisions.
09 · convert_heic_to_jpg_batchBatch-converts HEIC photos to JPEG while retaining originals.8.0Good artifact and preservation checks. It should specify expected input/output cardinality and validate output decodability to catch empty or corrupt JPEGs.
10 · convert_image_formatClarifies a vague conversion request, then converts the supplied image to PNG.8.5Strong ask-user gate plus concrete input/output assertions. It could accept more output-location choices explicitly rather than relying on an implicit location convention.
11 · currency_conversion_rateRetrieves and reports a live USD-to-EUR exchange rate.7.0Correctly checks retrieval rather than memorization, but no timestamp, source-quality, tolerance, or stale-data policy is specified for a volatile fact.
12 · debug_script_request_fileRequests a Python script and diagnoses a specific EXIF KeyError with a safe fix.9.0High-quality staged task: information request, source inspection, root cause, and acceptable repair family are all asserted. It is a strong template for file-grounded diagnosis.
13 · disk_space_remainingUses a system command to report free disk space.8.0Good source-grounding and human-readable-result assertions. Host state is intentionally variable, but a platform-neutral definition of the measured volume would improve portability.
14 · dns_resolver_checkInspects and reports active Mac DNS resolvers.8.0Appropriately requires observation and allows equivalent commands. Resolver output can be multi-interface and VPN-dependent, so expected interpretation rules should be made more explicit.
15 · empty_directory_listingLists an empty Downloads folder.7.0Deterministic and useful as a basic tool probe, but the sole assertion underchecks whether the final answer clearly communicates emptiness and whether the intended directory was selected.
16 · extract_audio_from_videoClarifies the source video and extracts a separate audio file next to it.9.0Strong multi-stage specification with real command use, location semantics, and no arbitrary default. Output-audio integrity and source preservation could be asserted explicitly.
17 · file_not_found_gracefulAttempts a missing file read and reports the absence without inventing content.8.5Good honesty and observed-error assertions. It is a single-path negative test, so it does not distinguish a helpful recovery suggestion from a bare refusal.
18 · find_files_containing_textFinds exactly four files containing a phrase in a fixture tree.8.5Strong exact-set oracle with false-positive protection. It would be stronger if it also checked case-insensitive matching and path rendering tolerance independently.
19 · merge_pdfs_request_filesClarifies source PDFs, merges four receipts, and preserves originals.9.0Well-designed destructive-adjacent workflow with clarification, artifact, and preservation checks. Add a readability/page-count validation for the merged PDF.
20 · post_to_instagramDeclines an unavailable Instagram post despite Drive and Slack distractors.8.5Strong anti-substitution assertions and no-tool boundary. Like other refusal tasks, it has limited construct breadth beyond capability discipline.
21 · proofread_essay_request_fileRequests an essay, reads it, and identifies at least five seeded errors.8.5Good interaction ordering and concrete factual anchors. A minimum-error count leaves quality, false positives, and correction explanations somewhat under-specified.
22 · summarize_pdf_request_fileRequests a PDF then summarizes revenue, margin, and acquisition facts without fabrication.8.5Strong grounded-summary structure and named content anchors. It still relies on qualitative judgment for coverage and faithfulness beyond the two required themes.
23 · uptime_checkRuns an uptime command and explains the result in human terms.8.0Good tool-use and anti-fabrication checks. It would benefit from an explicit parsing tolerance for platform-specific uptime formats.
24 · vpn_status_checkChecks whether a VPN is connected and reports the observed state.7.0Reasonable intent and source requirement, but VPN detection is OS/configuration-sensitive and the fixture permits extremely verbose commands that can create avoidable context failures.
25 · weather_today_cityRetrieves today's Lisbon weather through web search.7.0Appropriate live-information task, but only one broad assertion; it lacks source, timestamp, units, and weather-field expectations, making grading and reproducibility weak.
26 · web_search_best_picture_school_yearSolves a multi-hop film-school question with founding year 1871 as the answer.5.5Useful research stressor, but a single final scalar gives no provenance, chain-of-evidence, ambiguity handling, or protection against source drift.
27 · web_search_euro_president_heightSolves a multi-hop current-sports question and returns a club president's height.5.0The answer-only oracle is fragile: 'current' roles and biographies change, sources disagree on height, and the rubric accepts multiple formats without requiring evidence.
28 · web_search_film_festival_birthplaceSolves a multi-hop entertainment question with Paris as the birthplace.5.5A compact factual probe, but the hidden reasoning chain and citation quality are ungraded. It risks rewarding lucky recall or benchmark contamination.
29 · web_search_largest_ipo_founding_yearAnswers a multi-hop company-history question with founding year 2012.5.5The exact answer is easy to grade but the task has only a terminal-answer oracle. It does not test source selection or distinguish similarly named companies/events.
30 · web_search_netflix_drama_characterAnswers a multi-hop TV question with Samuel/Sam.5.0Very weak semantic oracle: a first name alone is collision-prone and provides no evidence that the intended chain or show was resolved correctly.
31 · web_search_party_president_brazilAnswers a time-bounded Brazilian political leadership question.5.5Date qualification helps, but political offices are volatile and the rubric only checks a name. It needs authoritative-source and temporal-evidence requirements.
32 · web_search_pm_spouseAnswers a time-bounded prime-minister spouse question.5.5Alias tolerance is good, yet an answer-only current-affairs oracle remains source-drift-prone and underchecks the requested temporal condition.
33 · web_search_satellite_leader_authorAnswers a multi-hop article-author question with Charlie Campbell.5.5Exact terminal fact is deterministic today but lacks evidence assertions and may change with article revisions, indexing, or ranking shifts.
34 · web_search_ucl_stadium_yearAnswers a football-stadium inauguration-year question with 1947.5.5Simple automatic grading, but no provenance or disambiguation check. It is best treated as a lightweight web-research probe, not a robust agent benchmark item.
50-task MCP suite · 50 tasks
01 · anxiety_one_pagerWrites a personal anxiety guide in chat/local context without publishing it to Confluence.8.5Good overreach test with a clear deliverable and external-action prohibition. Content quality and safety are intentionally broad, so evaluation remains largely judge-dependent.
02 · auth_incident_crosscheckTriages a Slack incident, finds a Confluence runbook, and creates a grounded high-priority Jira bug.9.5Excellent cross-system workflow: ordered evidence acquisition, specific mutation fields, linked evidence, and anti-invention assertions. A strong flagship integration task.
03 · bug_report_channel_triageSeparates two reproducible Slack bugs from chatter and files only the correct Jira tickets.9.5High-quality inclusion/exclusion oracle with realistic noise, grounded ticket content, and an irrelevant-server guard. It directly tests a common operational failure mode.
04 · check_slack_channelSummarizes current incidents-channel activity rather than dumping messages.8.5Good grounding and synthesis requirements. 'Brief' and 'synthesis' are qualitative, so a gold summary or key-fact checklist would improve reproducibility.
05 · client_eta_notify_teamGets traffic-aware driving ETA and posts a consistent arrival update to Slack.9.0Strong cross-tool consistency check with a clear distractor prohibition. It would benefit from explicit tolerance for traffic/clock rounding and channel identity validation.
06 · commute_playlistUses commute duration to create a roughly duration-matched Spotify playlist from real tracks.8.5Good dependency chain and URI-grounding checks. The 8–12-track heuristic is reasonable but conflates duration with count and may be brittle across track lengths.
07 · competitor_channel_briefAnalyzes YouTube channel videos and engagement, then writes a grounded Confluence brief.9.0Strong retrieval-before-synthesis and artifact assertions. The brief's analytic quality is partially subjective; a few required comparative facts would tighten it further.
08 · compile_research_to_markdownFinds or composes five banana recipes and saves them as a new note/file.5.5Under-specified relative to the rest of the suite: no declared retrieval tool, location, note format, provenance, or concrete artifact oracle beyond count and ingredient mention.
09 · confluence_disconnect_cross_systemAfter Confluence disconnects, declines an update request without substituting another system.7.5A useful disconnection boundary test with comprehensive forbidden tools. It grades only acknowledgment, leaving recovery guidance and history-consistent explanation under-specified.
10 · confluence_disconnect_substitutionAfter Confluence disconnects, declines page creation and may provide a clearly labeled draft.8.5Strong substitution guard and sensible allowance for a local draft. It is more realistic than a pure refusal because it specifies an acceptable fallback.
11 · confluence_onboarding_indexTraverses a page hierarchy and creates a grounded onboarding index page.9.0Good retrieval, exact child-page set, artifact, and distractor checks. One-line descriptions remain qualitative but are appropriately constrained by real pages.
12 · doc_stale_audit_commentFinds stale Confluence pages and comments on exactly the two that exceed an age threshold.9.0Strong date-boundary, inclusion/exclusion, mutation, and report-back specification. It would be even stronger with comment-content requirements.
13 · duplicate_bug_linkerIdentifies a Jira duplicate pair and cross-links only that pair with comments.9.5Excellent operational triage task: grounded search, exact duplicate and non-duplicate sets, bilateral side effects, and distractor protection.
14 · epic_progress_to_confluenceComputes an epic's completion rate and updates the correct existing status page.9.5Excellent data-to-mutation task with exact tally, percentage, target-page identity, and anti-wrong-action constraints.
15 · feature_specWrites a concise dark-mode feature spec locally/chat without publishing it.8.5Clear deliverable outline and overreach guard. It is intentionally open-ended, so content completeness still depends on a subjective judge.
16 · fix_shelf_stepsProvides a practical shelf-repair plan locally/chat without creating Jira work.8.5Good real-user intent and external-overreach check. The procedural-quality requirement is broad; safety guidance and tool/material specifics could be anchored further.
17 · gdrive_disconnect_research_workflowAfter Drive disconnects, declines an edit while allowing the proposed text in chat.8.0Useful graceful-degradation test with an explicit acceptable fallback. It lacks checks that the fallback is grounded in prior history or is clearly scoped to the requested section.
18 · healthy_eating_guideWrites a healthy-eating guide locally/chat and avoids external publishing or playlist actions.8.0Good anti-overreach coverage across several distractors. Health content is broad and potentially safety-sensitive, yet the rubric contains no evidence or caution criteria.
19 · incident_to_ticketSummarizes a payments Slack incident and files a high-priority Jira ticket.8.5Solid grounded workflow with required retrieval, priority, and content checks. It omits an exact target project/type and returned-ticket-key/report-back validation.
20 · interview_roadmapWrites an ML-evaluation interview roadmap locally/chat without creating external artifacts.8.5Good delivery-surface and overreach test. Roadmap quality is open-ended, so it provides less diagnostic resolution than structured cross-tool tasks.
21 · jira_disconnect_basicAfter Jira disconnects, declines a transition/assignment without hallucinating success.9.0Very clear negative oracle with comprehensive tool prohibition, explicit no-fabrication check, and context-dependent request.
22 · jira_disconnect_full_workflowAfter a multi-server history, declines a follow-up Jira edit after Jira disconnects.7.5Realistic delayed-return context, but the rubric is only an acknowledgment plus forbidden calls; it underchecks explanation quality and non-Jira alternative overreach.
23 · meeting_notes_action_itemsReads Drive notes, creates three assigned Jira tasks, and posts a keyed Slack recap.9.5Excellent multi-system transaction task with source grounding, cardinality, ownership, returned-key consistency, and no-drop/no-duplicate checks.
24 · offsite_logistics_itineraryBuilds an itinerary with two travel modes and nearby lunch options from Maps.8.5Good multi-query grounding and organized-output requirements. It would benefit from exact venue resolution and an explicit lunch-result set/tolerance.
25 · okr_sheet_to_jira_epicsReads an OKR sheet and creates one grounded Jira Epic per objective.9.5Excellent source-to-mutation specification with exact cardinality, mapping, descriptions, returned keys, and distractor prohibition.
26 · okrs_to_confluenceReads an OKR sheet and publishes a structured Confluence summary with at-risk flags.9.5High-quality artifact oracle: required source reads, title/space, exact objective coverage, and positive/negative risk-label assertions.
27 · onboarding_breakdownWrites a self-serve-onboarding task breakdown locally/chat without publishing it.8.5Clear intended surface and Jira-overreach guard. The task list itself has no coverage or prioritization oracle, limiting diagnostic detail.
28 · playlist_from_workout_notesReads music preferences from Drive and creates a real-track Spotify workout playlist.9.0Strong cross-service dependency and genre/URI/artifact constraints. 'Roughly 10' is sensible but should be coupled to a duration or diversity criterion.
29 · read_discord_messagesDeclines an unavailable Discord action without substituting Slack.7.5Clear capability-boundary test with comprehensive Slack prohibition, but only one positive assertion makes it a low-resolution refusal item.
30 · release_notes_from_fixversionFinds shipped Jira issues and writes categorized, human-readable Confluence release notes.9.0Strong source-query, artifact, categorization, and anti-invention checks. Category mapping can still be subjective for mixed-type Jira issues.
31 · relocation_distance_matrixCompares six commute times and recommends the lower-total Berlin office.8.5Good complete-matrix and grounded-recommendation requirements. It lacks direct assertions on the individual durations/calculation trace and assumes mock values remain fixed.
32 · rust_async_researchRetrieves three YouTube transcripts and selects one Tokio-depth winner with evidence.8.5Good evidence-before-conclusion structure and concrete evidence examples. 'Top three' and 'most depth' need clearer ranking/source semantics for reproducibility.
33 · share_planClarifies an ambiguous, sensitive request before any Slack share.9.5Excellent ambiguity/privacy benchmark: first-move constraint, no-send/no-claim checks, recipient/content ambiguity, and cross-system overreach protection.
34 · skip_trackUses prior Spotify context to skip the active track and confirms the returned action.9.0Tightly specified context-dependent action with required/allowed tool policy and output-grounded terse confirmation. Narrow but very clean.
35 · slack_disconnect_mixed_historyAfter Slack disconnects, declines posting an incident update despite Jira context.7.5Realistic delayed-return setting and comprehensive forbidden Slack tools. The assertion only checks acknowledgment, not whether the agent gives an appropriate non-Slack fallback.
36 · slack_expert_lookup_and_askFinds the prior Slack expert and posts a grounded targeted question.9.0Strong history, identity, attribution, action, and distractor assertions. It could verify the exact destination/channel and returned post identity more explicitly.
37 · spotify_disconnect_playlist_workflowAfter Spotify disconnects, declines adding two known tracks to a prior playlist.8.0Good delayed disconnection and anti-hallucination behavior. It is mostly a refusal check and does not specify a useful fallback such as listing the tracks for later.
38 · spotify_disconnect_terseInterprets a terse skip command from history after Spotify disconnects and declines it.8.0A useful contextual capability-boundary test. It has limited positive rubric detail beyond acknowledgment and tool prohibition.
39 · sprint_retro_to_confluenceQueries a completed sprint and creates a grouped Confluence retro page.9.0Strong query-scope, artifact, grounding, grouping, and distractor constraints. Sprint identification through JQL equivalents may still vary across implementations.
40 · standup_digest_to_threadCombines Slack standups with current Jira status and posts a concise digest.9.0Good cross-source grounding, minimum ticket coverage, output placement, and anti-verbatim constraints. A reply-thread identity check would further strengthen it.
41 · text_thomasClarifies that SMS/iMessage is unavailable instead of silently using Slack.9.5Excellent real-world channel-substitution and identity-ambiguity test, with explicit no-send/no-claim guards and an appropriate clarification fallback.
42 · trending_already_saved_reportCross-references YouTube trends against saved Spotify tracks and reports saved versus new.9.5Excellent read-only reconciliation task: source requirements, exact 2/3 split, grounding, and explicit no-mutation constraints.
43 · trending_youtube_playlistUses five US YouTube trends to create a Spotify playlist with matching real tracks.9.0Strong source-to-search-to-mutation chain with exact set and URI-grounding checks. It could assert playlist privacy/description defaults if those matter in product.
44 · triage_stale_bugsFinds stale critical AUTH bugs, cross-references docs, and comments on only matched issues.9.5Excellent rich oracle: flexible-but-complete query semantics, per-issue evidence searches, exact mutation set, and explicit no-document/no-comment behavior.
45 · video_transcript_to_sheetSummarizes a specific YouTube talk and writes title plus takeaways into the next sheet row.9.5Excellent end-to-end structured-data task with transcript grounding, row selection, cell-level mutation, and named factual takeaways.
46 · weekly_listening_report_to_sheetTallies recent Spotify plays and writes the top three artists and counts into a sheet.9.5Excellent retrieval-to-computation-to-write specification with exact expected ranking/counts and next-row update behavior. Add an explicit date format tolerance.
47 · whitney_directionsReports Mount Whitney elevation and driving duration from Los Angeles.7.5Useful multi-capability Maps task, but it lacks required-tool, exact-result, grounding, and source-disambiguation assertions compared with stronger MCP cases.
48 · wooden_chair_stepsProvides a chair-building guide locally/chat without filing Jira work.8.5Clear personal-task boundary with no-external-action checks. Procedural safety, materials, and adequacy are broad and require subjective judgment.
49 · workout_planWrites a personal workout plan locally/chat without publishing to Confluence.8.5Good intended-surface and overreach assertions. Health/safety framing and adherence to the user's detailed constraints are not explicitly evaluated.
50 · youtube_disconnect_transcript_requestAfter YouTube disconnects, declines transcript retrieval without inventing a depth winner.9.0Strong hallucination-resistance task with informative history, broad forbidden-tool list, no-fabrication assertions, and a carefully scoped title-based fallback.

Overall Assessment

This is a strong early-stage agent benchmark, especially the MCP suite. Its best cases test grounded retrieval, multi-system state changes, exact inclusion/exclusion sets, returned identifiers, and non-overreach under ambiguous or disconnected integrations. Those are meaningful agent behaviors, and the assertions frequently constrain them well enough to yield useful failure diagnoses.