Record Class BenchmarkRunResult

java.lang.Object
java.lang.Record
uno.anahata.asi.yam.tools.benchmarks.BenchmarkRunResult
Record Components:
participant - The candidate model participant configuration.
testCode - The unique code of the benchmark test (e.g., "JAVA-JNA-1").
asiContainer - The identifier of the ASI container where the test was executed (e.g. "NetBeansAsiContainer", "AsiDesktopAsiContainer").
timestamp - The exact time the benchmark run was executed.
durationSeconds - The wall-clock execution duration in seconds.
turns - The total number of conversational turns taken by the model.
promptTokens - The total input (prompt) tokens consumed across all turns.
candidatesTokens - The total output (candidate) tokens generated across all turns.
thoughtsTokens - The total internal reasoning (thinking) tokens generated across all turns.
totalTokens - The total interaction tokens reported by the provider.
passed - Whether the benchmark test completed successfully with zero defects.
judgeScores - A map of judge names to their given ratings (e.g. "Pablo" -> 9.0, "Vijay" -> 8.5).
videoUrl - The URL to the run demonstration video (e.g. YouTube video).
screenshotPath - The relative or absolute path to the captured execution screenshot.
sessionId - The unique UUID of the child AGI session that executed the test.
observations - Optional notes, tool outputs, or qualitative developer feedback.

public record BenchmarkRunResult(BenchmarkParticipant participant, String testCode, String asiContainer, Instant timestamp, double durationSeconds, int turns, int promptTokens, int candidatesTokens, int thoughtsTokens, int totalTokens, boolean passed, Map<String,Double> judgeScores, String videoUrl, String screenshotPath, String sessionId, String observations) extends Record
Immutable telemetry record capturing the complete execution metrics and outcome of a benchmark test run.

Binds the candidate BenchmarkParticipant, test code, duration, turn count, fine-grained token economics (prompt, candidate, thoughts, and total), execution pass/fail status, media assets (video URL, screenshot), container identifier, and multi-judge subjective scores.

Author:
anahata
  • Field Details

    • participant

      private final BenchmarkParticipant participant
      The field for the participant record component.
    • testCode

      private final String testCode
      The field for the testCode record component.
    • asiContainer

      private final String asiContainer
      The field for the asiContainer record component.
    • timestamp

      private final Instant timestamp
      The field for the timestamp record component.
    • durationSeconds

      private final double durationSeconds
      The field for the durationSeconds record component.
    • turns

      private final int turns
      The field for the turns record component.
    • promptTokens

      private final int promptTokens
      The field for the promptTokens record component.
    • candidatesTokens

      private final int candidatesTokens
      The field for the candidatesTokens record component.
    • thoughtsTokens

      private final int thoughtsTokens
      The field for the thoughtsTokens record component.
    • totalTokens

      private final int totalTokens
      The field for the totalTokens record component.
    • passed

      private final boolean passed
      The field for the passed record component.
    • judgeScores

      private final Map<String,Double> judgeScores
      The field for the judgeScores record component.
    • videoUrl

      private final String videoUrl
      The field for the videoUrl record component.
    • screenshotPath

      private final String screenshotPath
      The field for the screenshotPath record component.
    • sessionId

      private final String sessionId
      The field for the sessionId record component.
    • observations

      private final String observations
      The field for the observations record component.
  • Constructor Details

    • BenchmarkRunResult

      public BenchmarkRunResult(BenchmarkParticipant participant, String testCode, String asiContainer, Instant timestamp, double durationSeconds, int turns, int promptTokens, int candidatesTokens, int thoughtsTokens, int totalTokens, boolean passed, Map<String,Double> judgeScores, String videoUrl, String screenshotPath, String sessionId, String observations)
      Canonical constructor ensuring judge scores map is unmodifiable and never null.
      Parameters:
      participant - The participant.
      testCode - The test code.
      asiContainer - The container ID.
      timestamp - The timestamp.
      durationSeconds - The duration in seconds.
      turns - The turns count.
      promptTokens - Prompt tokens.
      candidatesTokens - Candidate tokens.
      thoughtsTokens - Thoughts tokens.
      totalTokens - Total tokens.
      passed - Passed flag.
      judgeScores - Judge scores map.
      videoUrl - Video URL.
      screenshotPath - Screenshot path.
      sessionId - Session UUID.
      observations - Observations.
  • Method Details

    • getAverageScore

      public Double getAverageScore()
      Calculates the arithmetic average of all submitted judge scores.
      Returns:
      The average judge score, or null if no judge scores have been recorded yet.
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with the compare method from their corresponding wrapper classes.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • participant

      public BenchmarkParticipant participant()
      Returns the value of the participant record component.
      Returns:
      the value of the participant record component
    • testCode

      public String testCode()
      Returns the value of the testCode record component.
      Returns:
      the value of the testCode record component
    • asiContainer

      public String asiContainer()
      Returns the value of the asiContainer record component.
      Returns:
      the value of the asiContainer record component
    • timestamp

      public Instant timestamp()
      Returns the value of the timestamp record component.
      Returns:
      the value of the timestamp record component
    • durationSeconds

      public double durationSeconds()
      Returns the value of the durationSeconds record component.
      Returns:
      the value of the durationSeconds record component
    • turns

      public int turns()
      Returns the value of the turns record component.
      Returns:
      the value of the turns record component
    • promptTokens

      public int promptTokens()
      Returns the value of the promptTokens record component.
      Returns:
      the value of the promptTokens record component
    • candidatesTokens

      public int candidatesTokens()
      Returns the value of the candidatesTokens record component.
      Returns:
      the value of the candidatesTokens record component
    • thoughtsTokens

      public int thoughtsTokens()
      Returns the value of the thoughtsTokens record component.
      Returns:
      the value of the thoughtsTokens record component
    • totalTokens

      public int totalTokens()
      Returns the value of the totalTokens record component.
      Returns:
      the value of the totalTokens record component
    • passed

      public boolean passed()
      Returns the value of the passed record component.
      Returns:
      the value of the passed record component
    • judgeScores

      public Map<String,Double> judgeScores()
      Returns the value of the judgeScores record component.
      Returns:
      the value of the judgeScores record component
    • videoUrl

      public String videoUrl()
      Returns the value of the videoUrl record component.
      Returns:
      the value of the videoUrl record component
    • screenshotPath

      public String screenshotPath()
      Returns the value of the screenshotPath record component.
      Returns:
      the value of the screenshotPath record component
    • sessionId

      public String sessionId()
      Returns the value of the sessionId record component.
      Returns:
      the value of the sessionId record component
    • observations

      public String observations()
      Returns the value of the observations record component.
      Returns:
      the value of the observations record component