Documentation
¶
Overview ¶
Package report turns content-addressed agentic benchmark artifacts into a deterministic, self-contained HTML report. Formal and pilot measurements are loaded from harness artifacts; diagnostic canaries are deliberately kept in a separate, visibly watermarked input channel.
Index ¶
- Constants
- func Generate(inputPath string, writer io.Writer) error
- func GenerateFile(inputPath, outputPath string) error
- func LoadInput(path string) (Input, OptimizationLedger, error)
- func Render(writer io.Writer, data Data) error
- func ValidateInput(input Input) error
- func ValidateOptimizationLedger(ledger OptimizationLedger) error
- type Ablation
- type AblationStatus
- type AgentData
- type ArtifactSource
- type AttributionScope
- type ComparisonMetric
- type ConfidenceInterval
- type Data
- type DiagnosticExperiment
- type DiagnosticRun
- type EvidenceGrade
- type ExperimentClass
- type ExperimentData
- type ExperimentEndpoint
- type FailureAnnotation
- type FailureCategory
- type FailureData
- type FileReference
- type GateData
- type GateStatus
- type HashData
- type ImplementationRef
- type Input
- type ManifestAgentData
- type ManifestData
- type MeasurementLayer
- type MetricComparison
- type MetricData
- type OptimizationData
- type OptimizationEntry
- type OptimizationLedger
- type OptionalMetrics
- type OptionalToolStat
- type OrderStratumData
- type PairedComparison
- type PublicReference
- type ReferenceComponent
- type RenderedCommand
- type ReportMeta
- type ReproductionCommand
- type RequestCacheCoverage
- type RoundData
- type RunData
- type StatisticsSpec
- type ToolData
- type VerdictCriterion
- type VerdictData
Constants ¶
const ( InputSchemaVersion = "agentic-bench/report-input-v1" OptimizationSchemaVersion = "agentic-bench/optimization-ledger-v1" ReportStatisticsMethod = "paired-task-cluster-bootstrap-v1" ReportStatisticsResamples = 10_000 ReportStatisticsSeed = int64(20_260_726) ReportConfidenceLevel = 0.95 BenchmarkContractDeepSWEV11Pilot5 = "deepswe-v1.1-pilot5-development" BenchmarkContractDeepSWEV11Full113 = "deepswe-v1.1-full113" // ComparableCostBasisDevelopmentNonBilling identifies the development-only // same-gateway token estimate. It is deliberately distinct from the formal // all-transport basis so a pilot report cannot be mistaken for an invoice. ComparableCostBasisDevelopmentNonBilling = "development_non_billing_same_gateway_frozen_token_estimate" )
Variables ¶
This section is empty.
Functions ¶
func GenerateFile ¶
func ValidateInput ¶
func ValidateOptimizationLedger ¶
func ValidateOptimizationLedger(ledger OptimizationLedger) error
Types ¶
type Ablation ¶
type Ablation struct {
Status AblationStatus `json:"status"`
Endpoint *ExperimentEndpoint `json:"endpoint,omitempty"`
Note string `json:"note"`
}
type AblationStatus ¶
type AblationStatus string
const ( AblationMeasured AblationStatus = "measured" AblationNotRun AblationStatus = "not_run" AblationNA AblationStatus = "not_applicable" )
type AgentData ¶
type AgentData struct {
ExperimentID string
AgentID string
Variant string
Runs int
Tasks int
Passed *int
PassRate *float64
PassCI *ConfidenceInterval
Metrics MetricData
Tools []ToolData
}
type ArtifactSource ¶
type ArtifactSource struct {
ID string `json:"id"`
Label string `json:"label"`
Class ExperimentClass `json:"class"`
Root string `json:"root"`
LedgerFileSHA256 string `json:"ledger_file_sha256"`
Description string `json:"description"`
}
ArtifactSource points at an artifact root produced by harness.Runner. The file names inside the root are intentionally not configurable: manifest.json, plan.json, scorecard.json, plus the state/ledger paths frozen by the manifest.
type AttributionScope ¶
type AttributionScope string
const ( AttributionDiagnosticAssociation AttributionScope = "diagnostic_association" AttributionCausalFeatureAblation AttributionScope = "causal_feature_ablation" AttributionDesignRationale AttributionScope = "design_rationale" )
type ComparisonMetric ¶
type ComparisonMetric string
const ( MetricPassRate ComparisonMetric = "pass_rate" MetricWallTime ComparisonMetric = "wall_time_seconds" MetricTrialDuration ComparisonMetric = "trial_duration_seconds" MetricLLMCallsStarted ComparisonMetric = "llm_calls_started" MetricProviderRounds ComparisonMetric = "provider_rounds" MetricProviderErrors ComparisonMetric = "provider_errors" MetricToolBearingRounds ComparisonMetric = "tool_bearing_rounds" MetricToolInvocations ComparisonMetric = "tool_invocations" MetricPhysicalToolOperations ComparisonMetric = "physical_tool_operations" MetricNativeEvents ComparisonMetric = "native_events" MetricToolErrors ComparisonMetric = "tool_errors" MetricInputTokens ComparisonMetric = "input_tokens" MetricCachedInputTokens ComparisonMetric = "cached_input_tokens" MetricCacheWriteInputTokens ComparisonMetric = "cache_write_input_tokens" MetricUncachedInputTokens ComparisonMetric = "uncached_input_tokens" MetricOutputTokens ComparisonMetric = "output_tokens" MetricReasoningTokens ComparisonMetric = "reasoning_output_tokens" MetricTokenCacheHit ComparisonMetric = "token_weighted_cache_hit" MetricRequestCacheHit ComparisonMetric = "request_cache_hit" MetricComparableCost ComparisonMetric = "comparable_cost" MetricProviderCost ComparisonMetric = "provider_reported_cost" )
type ConfidenceInterval ¶
type Data ¶
type Data struct {
Meta ReportMeta
Statistics StatisticsSpec
Experiments []ExperimentData
PublicReferences []PublicReference
Optimizations []OptimizationData
FailureSummary []FailureData
Reproduction []RenderedCommand
Limitations []string
HasFormal bool
HasPilot bool
HasDiagnosticOnly bool
// DevelopmentContract is true only for the preregistered five-task
// optimization set. It is a hard presentation and verdict boundary: the
// selected tasks are contaminated by iterative development and can never be
// presented as a formal public score.
DevelopmentContract bool
Verdict VerdictData
}
type DiagnosticExperiment ¶
type DiagnosticExperiment struct {
ID string `json:"id"`
Label string `json:"label"`
Class ExperimentClass `json:"class"`
Description string `json:"description"`
SourceNote string `json:"source_note"`
Runs []DiagnosticRun `json:"runs"`
}
DiagnosticExperiment is the only accepted source for pre-formal canary numbers. Every optional scalar is a pointer so absent telemetry remains unknown instead of becoming a misleading zero after JSON decoding.
type DiagnosticRun ¶
type DiagnosticRun struct {
TaskID string `json:"task_id"`
AgentID string `json:"agent_id"`
Variant string `json:"variant"`
Provider string `json:"provider"`
Model string `json:"model"`
ReasoningEffort string `json:"reasoning_effort"`
Repetition int `json:"repetition"`
Passed *bool `json:"passed,omitempty"`
Metrics OptionalMetrics `json:"metrics"`
Tools []OptionalToolStat `json:"tools"`
}
type EvidenceGrade ¶
type EvidenceGrade string
const ( EvidenceMeasuredAblation EvidenceGrade = "measured_ablation" EvidenceDiagnosticBundle EvidenceGrade = "diagnostic_bundle" EvidenceNotRun EvidenceGrade = "not_run" )
type ExperimentClass ¶
type ExperimentClass string
const ( ClassDiagnosticCanary ExperimentClass = "diagnostic_canary" ClassPilot ExperimentClass = "pilot" ClassFormal ExperimentClass = "formal" )
type ExperimentData ¶
type ExperimentData struct {
ID string
Label string
Class ExperimentClass
Description string
SourceNote string
Manifest *ManifestData
Runs []RunData
Agents []AgentData
Comparisons []PairedComparison
Gates []GateData
Hashes []HashData
ToolStats []ToolData
ProviderRounds []RoundData
OrderStrata []OrderStratumData
PublicScorecard *harness.DeepSWEPublicScorecard
}
type ExperimentEndpoint ¶
type FailureAnnotation ¶
type FailureCategory ¶
type FailureCategory string
const ( FailureImplementation FailureCategory = "implementation" FailureIncomplete FailureCategory = "incomplete" FailureRegression FailureCategory = "regression" FailureValidation FailureCategory = "validation" FailureTimeout FailureCategory = "timeout" FailureInfrastructure FailureCategory = "infrastructure" FailureProtocol FailureCategory = "protocol" FailureUnknown FailureCategory = "unknown" )
type FailureData ¶
type FileReference ¶
type GateData ¶
type GateData struct {
Name string
Status GateStatus
Detail string
}
type GateStatus ¶
type GateStatus string
const ( GatePass GateStatus = "pass" GateFail GateStatus = "fail" GateUnknown GateStatus = "unknown" )
type ImplementationRef ¶
type Input ¶
type Input struct {
SchemaVersion string `json:"schema_version"`
Report ReportMeta `json:"report"`
Statistics StatisticsSpec `json:"statistics"`
ArtifactSources []ArtifactSource `json:"artifact_sources"`
DiagnosticExperiments []DiagnosticExperiment `json:"diagnostic_experiments"`
OptimizationLedger FileReference `json:"optimization_ledger"`
PublicReferences []PublicReference `json:"public_references"`
FailureAnnotations []FailureAnnotation `json:"failure_annotations"`
Reproduction []ReproductionCommand `json:"reproduction"`
Limitations []string `json:"limitations"`
}
Input is the small report assembly manifest. It contains no copied formal scores: formal and pilot results are reloaded and cross-checked from their manifest, plan, state, scorecard, evidence, and artifact ledger.
type ManifestAgentData ¶
type ManifestAgentData struct {
ID string
Provider string
Model string
ReasoningEffort string
ServiceTier string
ServiceTierRequestEncoding string
BinarySHA256 string
SourceBaseCommit string
SourceTreeOID string
SourcePatchSHA string
SourceArchiveSHA string
BuildReceiptSHA string
BuildArgv []string
BuildToolchain string
Argv []string
// ArchivedSourceFiles maps canonical source.tar paths to file SHA-256.
// It is intentionally not rendered wholesale; optimization references use
// it to prove that a cited implementation file belongs to the executed
// source archive.
ArchivedSourceFiles map[string]string
}
type ManifestData ¶
type ManifestData struct {
ExperimentID string
DatasetName string
DatasetRepository string
DatasetCommit string
DatasetTreeSHA string
EvaluatorName string
EvaluatorCommit string
EvaluatorVersion string
EvaluatorProtocol string
ScoringProfile string
SelectionMode string
ExpectedTasks int
Repetitions int
PairingSeed uint64
MaxParallelPairs int
TaskNetwork string
VerifierNetwork string
NetworkAttestation string
EgressProxyImage string
EgressProxyImageID string
HostEnvAllowlist []string
AgentEgressHosts []string
CPUs int
MemoryMB int
StorageMB int
HostStorageGuard harness.HostStorageGuardSpec
GuestStorageGuard harness.GuestStorageGuardSpec
StoragePreflight harness.StorageAdmissionReceipt
AgentTimeout int
VerifierTimeout int
PricingCurrency string
PricingUnit int64
PricingAt time.Time
PricingObservedAt time.Time
PricingSource string
ProviderOrigin string
ProviderSemanticsSHA string
ProviderObservationAuthority string
ProviderTLSRequired bool
ProviderWebSocketAllowed bool
PricingRates []harness.PricingRate
Agents []ManifestAgentData
}
type MeasurementLayer ¶
type MeasurementLayer string
const ( MeasurementControllerEndToEnd MeasurementLayer = "controller_end_to_end" MeasurementTrial MeasurementLayer = "trial" MeasurementAgent MeasurementLayer = "agent" MeasurementProvider MeasurementLayer = "provider" MeasurementTool MeasurementLayer = "tool" MeasurementMixed MeasurementLayer = "mixed" )
type MetricComparison ¶
type MetricComparison struct {
Metric ComparisonMetric
Baseline *float64
Contender *float64
Difference *float64
RelativeChange *float64
CI *ConfidenceInterval
Pairs int
Tasks int
Note string
}
type MetricData ¶
type MetricData struct {
WallTimeSeconds *float64
TrialDurationSeconds *float64
TransportAttempts *int
PrewarmAttempts *int
PrewarmErrors *int
LLMCallsStarted *int
CompletedLLMResponses *int
RetryAmplification *float64
HTTPInferenceRequests *int
WebSocketInferenceRequests *int
WebSocketConnections *int
PrewarmUsageObservations *int
PrewarmInputTokens *int64
PrewarmCachedInputTokens *int64
PrewarmOutputTokens *int64
PrewarmUnknownCostAttempts *int
CostReceiptObserved int
CostReceiptTotal int
UnknownCostAttempts *int
CostIdentityUnknownAttempts *int
KnownCatalogCostLowerBound *float64
AllExecutedInputTokens *int64
AllExecutedCachedTokens *int64
AllExecutedUncachedTokens *int64
AllExecutedNonCachedBaseTokens *int64
AllExecutedOutputTokens *int64
AllExecutedCacheWriteInputTokens *int64
AllExecutedCacheHit *float64
AllExecutedUsageObserved int
AllExecutedUsageTotal int
AllExecutedCacheWriteObserved int
AllExecutedCacheWriteTotal int
AllExecutedUnreportedCacheWrite int
ProviderRequests *int
ProviderRounds *int
ProviderErrors *int
ToolBearingRounds *int
ToolInvocations *int
ToolTraceMatched *int
ToolTraceUnmatched *int
PhysicalToolOperations *int
PhysicalToolObserved int
PhysicalToolTotal int
NativeEvents *int
ToolErrors *int
ToolCriticalPathMS *int64
ToolCriticalObserved int
ToolCriticalTotal int
ToolTotalLatencyMS *int64
ToolTotalObserved int
ToolTotalTotal int
ToolQueueMS *int64
ToolQueueObserved int
ToolQueueTotal int
InputTokens *int64
CachedInputTokens *int64
CacheWriteInputTokens *int64
CacheMissTokens *int64
OutputTokens *int64
ReasoningOutputTokens *int64
ReasoningTokenObserved int
ReasoningTokenTotal int
CacheWriteTokenObserved int
CacheWriteTokenTotal int
UnreportedCacheWriteRounds int
KnownCacheWriteSurcharge *float64
TokenWeightedCacheHit *float64
RequestCacheHit *float64
RequestCacheHits *int
RequestCacheObserved *int
CachePolicyObservedRequests *int
CacheKeyPresentRequests *int
CacheUniqueKeyCount *int
CacheKeyTransitions *int
CacheLineageStable *bool
CatalogCost *float64
CatalogCostPartial *float64
ComparableCost *float64
ComparableCostBasis string
ProviderReportedCost *float64
ProviderCostPartial *float64
ProviderCostObserved int
ProviderCostTotal int
TokenUsageObserved int
TokenUsageTotal int
ToolErrorObserved int
ToolErrorTotal int
ToolTimingObserved int
ToolTimingTotal int
}
type OptimizationData ¶
type OptimizationData struct {
Entry OptimizationEntry
Before *AgentData
After *AgentData
Ablation *AgentData
Metrics []MetricComparison
AblationMetrics []MetricComparison
ClassValid bool
}
type OptimizationEntry ¶
type OptimizationEntry struct {
ID string `json:"id"`
Title string `json:"title"`
Summary string `json:"summary"`
DesignDefect string `json:"design_defect"`
Mechanism string `json:"mechanism"`
Value string `json:"value"`
AttributionScope AttributionScope `json:"attribution_scope"`
MeasurementLayer MeasurementLayer `json:"measurement_layer"`
EvidenceGrade EvidenceGrade `json:"evidence_grade"`
ExpectedEffect string `json:"expected_effect"`
ObservedEffect string `json:"observed_effect"`
Confounders []string `json:"confounders"`
Risks []string `json:"risks"`
Implementation []ImplementationRef `json:"implementation"`
Before ExperimentEndpoint `json:"before"`
After ExperimentEndpoint `json:"after"`
Ablation Ablation `json:"ablation"`
Metrics []ComparisonMetric `json:"metrics"`
EvidenceClass ExperimentClass `json:"evidence_class"`
}
type OptimizationLedger ¶
type OptimizationLedger struct {
SchemaVersion string `json:"schema_version"`
Entries []OptimizationEntry `json:"entries"`
}
type OptionalMetrics ¶
type OptionalMetrics struct {
WallTimeSeconds *float64 `json:"wall_time_seconds,omitempty"`
TrialDurationSeconds *float64 `json:"trial_duration_seconds,omitempty"`
LLMCallsStarted *int `json:"llm_calls_started,omitempty"`
ProviderRounds *int `json:"provider_rounds,omitempty"`
ProviderErrors *int `json:"provider_errors,omitempty"`
ToolBearingRounds *int `json:"tool_bearing_rounds,omitempty"`
ToolInvocations *int `json:"tool_invocations,omitempty"`
PhysicalToolOperations *int `json:"physical_tool_operations,omitempty"`
NativeEvents *int `json:"native_events,omitempty"`
ToolErrors *int `json:"tool_errors,omitempty"`
ToolCriticalPathMS *int64 `json:"tool_critical_path_ms,omitempty"`
ToolTotalLatencyMS *int64 `json:"tool_total_latency_ms,omitempty"`
ToolQueueMS *int64 `json:"tool_queue_ms,omitempty"`
InputTokens *int64 `json:"input_tokens,omitempty"`
CachedInputTokens *int64 `json:"cached_input_tokens,omitempty"`
CacheWriteInputTokens *int64 `json:"cache_write_input_tokens,omitempty"`
OutputTokens *int64 `json:"output_tokens,omitempty"`
ReasoningOutputTokens *int64 `json:"reasoning_output_tokens,omitempty"`
RequestCache *RequestCacheCoverage `json:"request_cache,omitempty"`
ComparableCost *float64 `json:"comparable_cost,omitempty"`
ComparableCostBasis string `json:"comparable_cost_basis,omitempty"`
ProviderReportedCost *float64 `json:"provider_reported_cost,omitempty"`
}
type OptionalToolStat ¶
type OrderStratumData ¶
type OrderStratumData struct {
ExperimentID string
AgentID string
Position string
Raw int
Scored int
Excluded int
Passed int
PassRate *float64
MeanTrialSeconds *float64
TrialObserved int
MeanComparableCost *float64
ComparableCostObserved int
}
OrderStratumData exposes the crossover-position sensitivity separately from the pooled score. Time and cost are means over observed raw attempts; their coverage counts remain explicit so missing telemetry is never coerced to zero.
type PairedComparison ¶
type PublicReference ¶
type PublicReference struct {
ID string `json:"id"`
Benchmark string `json:"benchmark"`
Version string `json:"version"`
Agent string `json:"agent"`
Model string `json:"model"`
ReasoningEffort string `json:"reasoning_effort"`
ComputedArtifact string `json:"computed_artifact,omitempty"`
Score *float64 `json:"score,omitempty"`
Passed *int `json:"passed,omitempty"`
Total *int `json:"total,omitempty"`
CostPerTask *float64 `json:"cost_per_task,omitempty"`
MinutesPerTask *float64 `json:"minutes_per_task,omitempty"`
TurnsPerTask *float64 `json:"turns_per_task,omitempty"`
TokensPerTask *float64 `json:"tokens_per_task,omitempty"`
TokenWeightedCacheHit *float64 `json:"token_weighted_cache_hit,omitempty"`
Components []ReferenceComponent `json:"components"`
SourceURL string `json:"source_url"`
AccessedAt time.Time `json:"accessed_at"`
Notes string `json:"notes"`
Computed *harness.DeepSWEPublicReferenceArtifact `json:"-"`
}
type ReferenceComponent ¶
type RenderedCommand ¶
type ReportMeta ¶
type ReportMeta struct {
Title string `json:"title"`
Subtitle string `json:"subtitle"`
Benchmark string `json:"benchmark"`
BenchmarkVersion string `json:"benchmark_version"`
BenchmarkContractID string `json:"benchmark_contract_id"`
Language string `json:"language"`
BaselineAgentID string `json:"baseline_agent_id"`
ContenderAgentID string `json:"contender_agent_id"`
AsOf time.Time `json:"as_of"`
}
type ReproductionCommand ¶
ReproductionCommand stores argv, not a shell program. Rendering applies POSIX quoting, preventing presentation-time interpolation or hidden commands.
type RequestCacheCoverage ¶
type RoundData ¶
type RoundData struct {
ExperimentID string
AgentID string
TaskID string
Repetition int
Round int
Outcome string
ErrorCode string
Transport string
ProviderAttemptKind string
TransportDisposition string
RequestIDHash string
ResponseIDHash string
RequestedReasoningMode string
ReasoningModeCanonical string
RequestedTextVerbosity string
MaxOutputTokensSpecified bool
MaxOutputTokens *int64
RequestedServiceTier string
RequestedServiceTierPresent bool
RequestedServiceTierCanonical string
RequestedServiceTierRepresentation string
ClientCanonicalizationProofSHA256 string
ClientAgentID string
OriginalRequestBodySHA256 string
ForwardedRequestBodySHA256 string
OriginalRequestCanonicalSHA256 string
ForwardedRequestCanonicalSHA256 string
OriginalWithoutTierSHA256 string
ForwardedWithoutTierSHA256 string
OriginalServiceTierPresent bool
OriginalServiceTier string
ForwardedServiceTierPresent bool
ForwardedServiceTier string
ForwardedRequestBytes int64
ServiceTierTransformation string
ServiceTierTransformationExactDiff bool
ServiceTierTransformationProofSHA256 string
ResponseServiceTier string
ResponseServiceTierCanonical string
ServiceTierComparable bool
ResponseCreatedModel string
ResponseModel string
StartedAt time.Time
FinishedAt time.Time
HeadersMS *float64
FirstByteMS *float64
StreamMS *float64
ProviderMS float64
PostRoundGapMS *float64
ToolCalls int
PhysicalTools *int
ToolCriticalMS *int64
ToolTotalMS *int64
ToolQueueMS *int64
InputTokens *int64
CachedInputTokens *int64
CacheWriteTokens *int64
OutputTokens *int64
CacheHit *bool
PromptCacheKeyPresent bool
PromptCacheKeyHash string
CachePolicyObserved bool
PromptCacheOptionsPresent bool
PromptCacheOptionsMode string
PromptCacheTTLSeconds *int64
PromptCacheRetentionPresent bool
PromptCacheRetention string
CacheBreakpointCount int
CacheBreakpointPositionHashes []string
}
type RunData ¶
type RunData struct {
AttemptID string
ExperimentID string
Class ExperimentClass
PairID string
TaskID string
AgentID string
Variant string
Provider string
Model string
ReasoningEffort string
Repetition int
Attempt int
ExecutionPosition string
Disposition string
FailureCategory string
Passed *bool
ExitClass string
ExitCode *int
AttemptStartedAt time.Time
ControllerStartedAt time.Time
ControllerFinishedAt time.Time
ControllerRecovered bool
ProviderAttemptState string
ProviderAttemptCount uint64
StartedAt time.Time
FinishedAt time.Time
TrialStartedAt time.Time
TrialFinishedAt time.Time
TrialDurationSeconds *float64
Metrics MetricData
Tools []ToolData
Rounds []RoundData
ToolCatalogObserved int
NestedToolDefinitions int
ServiceTierEvidence harness.ServiceTierCanonicalizationEvidence
StorageAdmission harness.StorageAdmissionReceipt
HostStorageEvidence harness.StorageResourceEvidence
GuestStorageEvidence []harness.GuestStorageResourceEvidence
CacheInitialState string
CacheEvidenceClass string
Failure *FailureData
}
type StatisticsSpec ¶
type VerdictCriterion ¶
type VerdictCriterion struct {
Metric ComparisonMetric
Passed *bool
Detail string
}
type VerdictData ¶
type VerdictData struct {
Status string
Criteria []VerdictCriterion
}