Documentation
¶
Overview ¶
Package agenticbench folds the #868 agentic benchmark artifacts into one parent gate. It is intentionally read-only: the live benchmark lanes remain owned by their native harnesses.
Index ¶
- Constants
- func ALEManifestIdentity(identity ALEExperimentIdentity) (string, error)
- func CompareArmLineage(armA, armB AttemptLineagePacket) error
- func ComputeAggregate(packet *AttemptLineagePacket)
- func DiscoverAttemptDirectories(unitDir string) ([]string, error)
- func FormatAccountingMarkdown(report AccountingReport) string
- func FormatDenominatorMarkdown(report DenominatorReport) string
- func IsALEAliasReason(err error, reason string) bool
- func IsLineageReason(err error, reason string) bool
- func ReconcileDiscoveredAttempts(packet AttemptLineagePacket, discoveredRoots []string) error
- func RenderEvaluatorEvidence(report EvaluatorEvidenceReport) string
- func RenderExternalHarnessQueueMarkdown(q *ExternalHarnessQueue) string
- func RenderFailureAnalysisJSON(runRoot string, card *FailureAnalysisCard) ([]byte, error)
- func RenderFailureAnalysisMarkdown(runRoot string, card *FailureAnalysisCard) (string, error)
- func RenderMarkdown(r *Report) string
- func ResolveFailureAnalysisEvidence(runRoot string, evidence FailureAnalysisEvidence) (json.RawMessage, error)
- func ValidateAttemptLineage(packet AttemptLineagePacket) error
- func ValidateFailureAnalysisCard(runRoot string, card *FailureAnalysisCard) error
- type ALEAliasError
- type ALEExperimentIdentity
- type ALEIdentityRecord
- type ALELaunchSpec
- type ALEOutputRoot
- type ALEResumeDisposition
- type ALEResumeReceipt
- type AccountingArm
- type AccountingClaimState
- type AccountingComparison
- type AccountingComparisonRequest
- type AccountingReport
- type AggregateAccounting
- type AnalysisRule
- type ArmComparison
- type ArmLatencyStatus
- type ArmRun
- type AttemptLineagePacket
- type AttemptReceipt
- type ChildStatus
- type ClaimState
- type CohortUnit
- type ComparisonRequest
- type ComparisonScope
- type DenominatorReceipt
- type DenominatorReport
- type EvaluatorEvidenceArtifact
- type EvaluatorEvidenceError
- type EvaluatorEvidenceLevel
- type EvaluatorEvidenceLevelStatus
- type EvaluatorEvidenceManifest
- type EvaluatorEvidenceReport
- type EvaluatorHashedArtifact
- type EvaluatorReceipt
- type EvaluatorScorerProvenance
- type ExternalHarnessQueue
- type ExternalHarnessQueueItem
- type ExternalHarnessSummary
- type FailureAnalysisArtifact
- type FailureAnalysisCard
- type FailureAnalysisClaim
- type FailureAnalysisClaimKind
- type FailureAnalysisClassification
- type FailureAnalysisEvidence
- type FailureAnalysisFailures
- type FailureAnalysisGenerator
- type FailureAnalysisScoring
- type FailureAnalysisTask
- type FailureAnalysisVerdict
- type FrozenCohort
- type FunnelCounts
- type FunnelStage
- type Gate
- type GatewayLatencyObservation
- type HarnessArm
- type HarnessCommand
- type LatencyMeasurement
- type LineageError
- type MissingReason
- type NativeRetryRegime
- type Report
- type ResultPacketStatus
- type ScoreSummary
- type SelectionRule
- type Summary
- type UnitResult
Constants ¶
const ( ALEExperimentIdentitySchema = "fak.ale-experiment-identity.v1" ALEResumeReceiptSchema = "fak.ale-resume-preflight.v1" ALEIdentitySidecar = "fak-experiment-identity.json" ALEOutputIdentityFile = "fak-output-identity.json" )
const ( ReasonALEIdentityInvalid = "ALE_IDENTITY_INVALID" ReasonALEOutputIdentityMissing = "ALE_OUTPUT_IDENTITY_MISSING" ReasonALEOutputIdentityMismatch = "ALE_OUTPUT_IDENTITY_MISMATCH" ReasonALEResumeIdentityMissing = "ALE_RESUME_IDENTITY_MISSING" ReasonALEResumeIdentityMismatch = "ALE_RESUME_IDENTITY_MISMATCH" ReasonALEResumeSourceAmbiguous = "ALE_RESUME_SOURCE_AMBIGUOUS" ReasonALEResumeReadFailed = "ALE_RESUME_READ_FAILED" ReasonALECrossoverResumeUnscoped = "ALE_CROSSOVER_RESUME_UNSCOPED" )
const ( ReasonTimeoutRetryForbidden = "TIMEOUT_RETRY_FORBIDDEN" ReasonRetryRegimeMismatch = "RETRY_REGIME_MISMATCH" ReasonHiddenAttempt = "HIDDEN_ATTEMPT" ReasonDuplicateOrdinal = "DUPLICATE_ORDINAL" ReasonNonContiguousOrdinals = "NON_CONTIGUOUS_ORDINALS" ReasonDuplicateAttemptID = "DUPLICATE_ATTEMPT_ID" ReasonDuplicateArtifactRoot = "DUPLICATE_ARTIFACT_ROOT" ReasonInvalidTerminalStatus = "INVALID_TERMINAL_STATUS" ReasonMaxAttemptsExceeded = "MAX_ATTEMPTS_EXCEEDED" ReasonRetryForbidden = "RETRY_FORBIDDEN" ReasonInvalidSelectionRule = "INVALID_SELECTION_RULE" ReasonInvalidRetryRegime = "INVALID_RETRY_REGIME" ReasonUnitIDMismatch = "UNIT_ID_MISMATCH" ReasonEmptyAttempts = "EMPTY_ATTEMPTS" ReasonInvalidScore = "INVALID_SCORE" ReasonInvalidRetryReason = "INVALID_RETRY_REASON" ReasonAggregateMismatch = "AGGREGATE_MISMATCH" )
Reason constants for attempt lineage validation and refusal.
const ( TerminalStatusSuccess = "success" TerminalStatusFailed = "failed" TerminalStatusTimeout = "timeout" TerminalStatusError = "error" )
const ( FrozenCohortSchema = "fak.agentic-benchmark-planned-cohort.v1" DenominatorReceiptSchema = "fak.agentic-benchmark-denominator-receipt.v1" DenominatorReportSchema = "fak.agentic-benchmark-denominator-report.v1" )
const ( EvaluatorArtifactALEEvalResult = "ale_eval_result" EvaluatorArtifactStructuredBreakdown = "structured_breakdown" EvaluatorArtifactRawGraderPayload = "raw_grader_payload" EvaluatorScorerDeterministic = "deterministic" EvaluatorScorerLLMJudge = "llm_judge" EvaluatorEvidenceGatePass = "PASS" EvaluatorEvidenceReasonSchema = "EVALUATOR_EVIDENCE_SCHEMA" EvaluatorEvidenceReasonLevelMismatch = "EVALUATOR_EVIDENCE_LEVEL_MISMATCH" EvaluatorEvidenceReasonArtifactMissing = "EVALUATOR_EVIDENCE_ARTIFACT_MISSING" EvaluatorEvidenceReasonHashMismatch = "EVALUATOR_EVIDENCE_HASH_MISMATCH" EvaluatorEvidenceReasonRawIsScalar = "EVALUATOR_EVIDENCE_RAW_IS_SCALAR" EvaluatorEvidenceReasonModelMissing = "EVALUATOR_EVIDENCE_MODEL_MISSING" EvaluatorEvidenceReasonScorerProvenance = "EVALUATOR_EVIDENCE_SCORER_PROVENANCE" EvaluatorEvidenceReasonMalformedArtifact = "EVALUATOR_EVIDENCE_MALFORMED_ARTIFACT" EvaluatorEvidenceReasonOverclaim = "EVALUATOR_EVIDENCE_OVERCLAIM" )
const ( EvaluatorSuccess = "success" EvaluatorFailure = "failure" EvaluatorTimeout = "timeout" )
const ( FailureAnalysisCardSchema = "fak.agenticbench.failure-analysis-card.v1" FailureAnalysisAdvisory = "ADVISORY" )
const ( ResultPacketSchema = "fak.agentic-benchmark-result-packet.v1" DefaultResultPacketDir = "experiments/agent-live/agentic-benchmark-result-packets" )
const AccountingReportSchema = "fak.agentic-benchmark-accounting-report.v1"
const AttemptLineageSchema = "fak.agentic-benchmark-attempt-lineage.v1"
const EvaluatorEvidenceSchema = "fak.agenticbench-evaluator-evidence.v1"
const (
ExternalHarnessQueueSchema = "fak.agentic-benchmark-external-harness-queue.v1"
)
const Schema = "fak.agentic-benchmark-epic-rollup.v1"
Variables ¶
This section is empty.
Functions ¶
func ALEManifestIdentity ¶ added in v0.45.0
func ALEManifestIdentity(identity ALEExperimentIdentity) (string, error)
ALEManifestIdentity projects ALE's wider launch contract into a valid ArmBench manifest. The source content hash binds the complete ALE projection, while ArmBench supplies the canonical immutable manifest identity.
func CompareArmLineage ¶ added in v0.46.0
func CompareArmLineage(armA, armB AttemptLineagePacket) error
CompareArmLineage verifies that two arms are comparable by ensuring equal retry policies and maximum attempt limits, refusing comparison with RETRY_REGIME_MISMATCH if they diverge.
func ComputeAggregate ¶ added in v0.46.0
func ComputeAggregate(packet *AttemptLineagePacket)
ComputeAggregate computes total cost, tokens, and duration across all attempts, ensuring failed attempts are never hidden from spend totals, and sets the final score based on the declared selection rule.
func DiscoverAttemptDirectories ¶ added in v0.46.0
DiscoverAttemptDirectories returns sorted directory paths under a unit directory.
func FormatAccountingMarkdown ¶ added in v0.45.0
func FormatAccountingMarkdown(report AccountingReport) string
func FormatDenominatorMarkdown ¶ added in v0.45.0
func FormatDenominatorMarkdown(report DenominatorReport) string
func IsALEAliasReason ¶ added in v0.45.0
func IsLineageReason ¶ added in v0.46.0
IsLineageReason tests if an error carries a given refusal reason.
func ReconcileDiscoveredAttempts ¶ added in v0.46.0
func ReconcileDiscoveredAttempts(packet AttemptLineagePacket, discoveredRoots []string) error
ReconcileDiscoveredAttempts checks that every discovered attempt directory matches a declared attempt in the packet without hidden or missing directories.
func RenderEvaluatorEvidence ¶ added in v0.45.0
func RenderEvaluatorEvidence(report EvaluatorEvidenceReport) string
func RenderExternalHarnessQueueMarkdown ¶
func RenderExternalHarnessQueueMarkdown(q *ExternalHarnessQueue) string
func RenderFailureAnalysisJSON ¶ added in v0.45.0
func RenderFailureAnalysisJSON(runRoot string, card *FailureAnalysisCard) ([]byte, error)
RenderFailureAnalysisJSON validates the card before emitting stable JSON.
func RenderFailureAnalysisMarkdown ¶ added in v0.45.0
func RenderFailureAnalysisMarkdown(runRoot string, card *FailureAnalysisCard) (string, error)
RenderFailureAnalysisMarkdown validates the card before emitting the five mandatory advisory sections.
func RenderMarkdown ¶
func ResolveFailureAnalysisEvidence ¶ added in v0.45.0
func ResolveFailureAnalysisEvidence(runRoot string, evidence FailureAnalysisEvidence) (json.RawMessage, error)
ResolveFailureAnalysisEvidence returns the cited JSON value or JSONL event after path, size, and digest checks succeed.
func ValidateAttemptLineage ¶ added in v0.46.0
func ValidateAttemptLineage(packet AttemptLineagePacket) error
ValidateAttemptLineage enforces attempt lineage invariants: contiguous ordinals, unique IDs and roots, valid terminal statuses, retry policy bounds, and exact match with discovered attempt directories.
func ValidateFailureAnalysisCard ¶ added in v0.45.0
func ValidateFailureAnalysisCard(runRoot string, card *FailureAnalysisCard) error
ValidateFailureAnalysisCard resolves every cited field or event inside the declared run root before the advisory card can be promoted.
Types ¶
type ALEAliasError ¶ added in v0.45.0
func (*ALEAliasError) Error ¶ added in v0.45.0
func (e *ALEAliasError) Error() string
type ALEExperimentIdentity ¶ added in v0.45.0
type ALEExperimentIdentity struct {
TaskPath string `json:"task_path"`
SourceRepo string `json:"source_repo"`
SourceSHA string `json:"source_sha"`
Harness string `json:"harness"`
AgentID string `json:"agent_id"`
Model string `json:"model"`
Effort string `json:"effort"`
Endpoint string `json:"endpoint"`
Arm string `json:"arm"`
Snapshot string `json:"snapshot"`
BudgetSeconds int `json:"budget_seconds"`
MaxTokens int `json:"max_tokens"`
RetryPolicy string `json:"retry_policy"`
PromptSuffixSHA256 string `json:"prompt_suffix_sha256"`
Repetition int `json:"repetition"`
Variant int `json:"variant"`
}
ALEExperimentIdentity pins every experiment term that can make two native ALE run units look equal while making their measurements incomparable.
type ALEIdentityRecord ¶ added in v0.45.0
type ALEIdentityRecord struct {
Schema string `json:"schema"`
Identity ALEExperimentIdentity `json:"identity"`
}
ALEIdentityRecord is written beside an ALE run before launch. Keeping the full projection, not only its digest, makes a refusal independently auditable.
type ALELaunchSpec ¶ added in v0.45.0
type ALELaunchSpec struct {
Identity ALEExperimentIdentity `json:"identity"`
Output ALEOutputRoot `json:"output_root"`
Crossover bool `json:"crossover"`
DisableResume bool `json:"disable_resume"`
}
type ALEOutputRoot ¶ added in v0.45.0
type ALEOutputRoot struct {
Path string `json:"path"`
ManifestIdentity string `json:"manifest_identity,omitempty"`
}
ALEOutputRoot binds an arm/repetition-specific root to the same immutable identity as the launch. A blank ManifestIdentity denotes a shared ALE root.
type ALEResumeDisposition ¶ added in v0.45.0
type ALEResumeDisposition string
const ( ALEResumeFresh ALEResumeDisposition = "fresh" ALEResumed ALEResumeDisposition = "resumed" ALEResumeRefused ALEResumeDisposition = "refused" )
type ALEResumeReceipt ¶ added in v0.45.0
type ALEResumeReceipt struct {
Schema string `json:"schema"`
Decision ALEResumeDisposition `json:"decision"`
ManifestIdentity string `json:"manifest_identity,omitempty"`
OutputRoot string `json:"output_root"`
SourceRunID string `json:"source_run_id,omitempty"`
SourceRunPath string `json:"source_run_path,omitempty"`
Detail string `json:"detail"`
}
ALEResumeReceipt is embedded unchanged in the comparison manifest. Refusals are receipts too, so a skipped launch cannot disappear from the experiment.
func CheckALEResumeAlias ¶ added in v0.45.0
func CheckALEResumeAlias(spec ALELaunchSpec) (ALEResumeReceipt, error)
CheckALEResumeAlias runs before ALE's native resume filter. It mirrors the native on-disk lookup, then requires every terminal collision to carry the exact full identity before allowing ALE to skip the unit.
type AccountingArm ¶ added in v0.45.0
type AccountingArm struct {
Arm string `json:"arm"`
Receipt armbench.AccountingReceipt `json:"receipt"`
}
AccountingArm is the narrow ArmBench-to-AgenticBench adapter. It carries the shared receipt unchanged so the benchmark layer cannot reinterpret missing usage or silently choose a different authority.
func AccountingArmFromSummary ¶ added in v0.45.0
func AccountingArmFromSummary(summary armbench.ArmSummary) AccountingArm
type AccountingClaimState ¶ added in v0.45.0
type AccountingClaimState string
const ( AccountingClaimAllowed AccountingClaimState = "ALLOWED" AccountingClaimRefused AccountingClaimState = "REFUSED" )
type AccountingComparison ¶ added in v0.45.0
type AccountingComparison struct {
LeftArm string `json:"left_arm"`
RightArm string `json:"right_arm"`
Metric armbench.AccountingMetric `json:"metric"`
State AccountingClaimState `json:"state"`
Left armbench.AccountingField `json:"left"`
Right armbench.AccountingField `json:"right"`
Delta *float64 `json:"delta"`
Detail string `json:"detail"`
}
type AccountingComparisonRequest ¶ added in v0.45.0
type AccountingComparisonRequest struct {
LeftArm string `json:"left_arm"`
RightArm string `json:"right_arm"`
Metric armbench.AccountingMetric `json:"metric"`
}
type AccountingReport ¶ added in v0.45.0
type AccountingReport struct {
Schema string `json:"schema"`
Arms []AccountingArm `json:"arms"`
Comparisons []AccountingComparison `json:"comparisons"`
}
func BuildAccountingReport ¶ added in v0.45.0
func BuildAccountingReport(arms []AccountingArm, requests []AccountingComparisonRequest) (AccountingReport, error)
BuildAccountingReport applies the shared comparison gate to every requested token, cache, or cost claim. A refusal remains a report row rather than an error because it is evidence about the benchmark, not a malformed request.
type AggregateAccounting ¶ added in v0.46.0
type AggregateAccounting struct {
TotalCostUSD float64 `json:"total_cost_usd"`
TotalTokens int64 `json:"total_tokens"`
TotalDurationMS int64 `json:"total_duration_ms"`
TotalAttempts int `json:"total_attempts"`
FinalScore *float64 `json:"final_score"`
SelectedAttemptID string `json:"selected_attempt_id,omitempty"`
}
AggregateAccounting represents total resource spend and selected outcome across all attempts.
type AnalysisRule ¶ added in v0.45.0
type AnalysisRule struct {
Scope ComparisonScope `json:"scope"`
MaxMissingRateDelta float64 `json:"max_missing_rate_delta"`
}
type ArmComparison ¶ added in v0.45.0
type ArmComparison struct {
LeftArm string `json:"left_arm"`
RightArm string `json:"right_arm"`
State ClaimState `json:"state"`
Scope ComparisonScope `json:"scope"`
LeftScore ScoreSummary `json:"left_score"`
RightScore ScoreSummary `json:"right_score"`
Detail string `json:"detail"`
}
func CompareArms ¶ added in v0.45.0
func CompareArms(left, right DenominatorReceipt, rule AnalysisRule) ArmComparison
type ArmLatencyStatus ¶ added in v0.45.0
type ArmLatencyStatus struct {
Role string `json:"role,omitempty"`
Name string `json:"name"`
Total LatencyMeasurement `json:"total"`
QueueWait LatencyMeasurement `json:"queue_wait"`
AgentExecution LatencyMeasurement `json:"agent_execution"`
Evaluation LatencyMeasurement `json:"evaluation"`
GatewayRequests []GatewayLatencyObservation `json:"gateway_requests,omitempty"`
}
type ArmRun ¶ added in v0.45.0
type ArmRun struct {
Arm string `json:"arm"`
Results []UnitResult `json:"results"`
}
type AttemptLineagePacket ¶ added in v0.46.0
type AttemptLineagePacket struct {
Schema string `json:"schema,omitempty"`
UnitID string `json:"unit_id"`
RetryRegime NativeRetryRegime `json:"retry_policy"`
MaxAttempts int `json:"max_attempts"`
SelectionRule SelectionRule `json:"selection_rule"`
Attempts []AttemptReceipt `json:"attempts"`
Aggregate AggregateAccounting `json:"aggregate"`
DiscoveredRoots []string `json:"discovered_roots,omitempty"`
}
AttemptLineagePacket captures full attempt lineage, retry policy, and aggregate spend for an external benchmark unit.
func ReadAttemptLineagePacket ¶ added in v0.46.0
func ReadAttemptLineagePacket(path string) (AttemptLineagePacket, error)
ReadAttemptLineagePacket reads and unmarshals an AttemptLineagePacket from disk.
type AttemptReceipt ¶ added in v0.46.0
type AttemptReceipt struct {
AttemptID string `json:"attempt_id"`
Ordinal int `json:"ordinal"`
RunID string `json:"run_id"`
UnitID string `json:"unit_id"`
IsClean bool `json:"is_clean"`
TerminalStatus string `json:"terminal_status"`
Score *float64 `json:"score"`
CostUSD float64 `json:"cost_usd"`
Tokens int64 `json:"tokens"`
DurationMS int64 `json:"duration_ms"`
ArtifactRoot string `json:"artifact_root"`
ArtifactSHA256 string `json:"artifact_sha256"`
RetryReason string `json:"retry_reason,omitempty"`
}
AttemptReceipt records the complete execution, cost, duration, and artifact identity for one attempt within a benchmark unit run.
type ChildStatus ¶
type ChildStatus struct {
Issue int `json:"issue"`
Packet string `json:"packet"`
Title string `json:"title"`
Artifact string `json:"artifact"`
Gate string `json:"gate"`
Status string `json:"status"`
EvidenceClass string `json:"evidence_class,omitempty"`
ResultClaimAllowed bool `json:"result_claim_allowed"`
Detail string `json:"detail"`
Missing []string `json:"missing,omitempty"`
}
type ClaimState ¶ added in v0.45.0
type ClaimState string
const ( ClaimAllowed ClaimState = "ALLOWED" ClaimLimitedToScoredSubset ClaimState = "LIMITED_TO_SCORED_SUBSET" ClaimRefused ClaimState = "REFUSED" )
type CohortUnit ¶ added in v0.45.0
type ComparisonRequest ¶ added in v0.45.0
type ComparisonRequest struct {
LeftArm string `json:"left_arm"`
RightArm string `json:"right_arm"`
Rule AnalysisRule `json:"rule"`
}
type ComparisonScope ¶ added in v0.45.0
type ComparisonScope string
const ( ScopeFullCohort ComparisonScope = "full_cohort" ScopeScoredSubset ComparisonScope = "scored_subset" )
type DenominatorReceipt ¶ added in v0.45.0
type DenominatorReceipt struct {
Schema string `json:"schema"`
CohortDigest string `json:"cohort_digest"`
Arm string `json:"arm"`
Counts FunnelCounts `json:"counts"`
MissingByReason map[MissingReason]int `json:"missing_by_reason"`
Score ScoreSummary `json:"score"`
Results []UnitResult `json:"results"`
}
func ReconcileArm ¶ added in v0.45.0
func ReconcileArm(cohort FrozenCohort, run ArmRun) (DenominatorReceipt, error)
func (DenominatorReceipt) Validate ¶ added in v0.45.0
func (r DenominatorReceipt) Validate() error
type DenominatorReport ¶ added in v0.45.0
type DenominatorReport struct {
Schema string `json:"schema"`
Cohort FrozenCohort `json:"cohort"`
Arms []DenominatorReceipt `json:"arms"`
Comparisons []ArmComparison `json:"comparisons"`
}
func BuildDenominatorReport ¶ added in v0.45.0
func BuildDenominatorReport(cohort FrozenCohort, runs []ArmRun, requests []ComparisonRequest) (DenominatorReport, error)
type EvaluatorEvidenceArtifact ¶ added in v0.45.0
type EvaluatorEvidenceArtifact struct {
Kind string `json:"kind"`
Level EvaluatorEvidenceLevel `json:"level"`
Authority string `json:"authority"`
Path string `json:"path"`
SHA256 string `json:"sha256"`
}
type EvaluatorEvidenceError ¶ added in v0.45.0
func (*EvaluatorEvidenceError) Error ¶ added in v0.45.0
func (e *EvaluatorEvidenceError) Error() string
type EvaluatorEvidenceLevel ¶ added in v0.45.0
type EvaluatorEvidenceLevel string
const ( EvaluatorEvidenceOfficialScalar EvaluatorEvidenceLevel = "official_scalar" EvaluatorEvidenceStructuredBreakdown EvaluatorEvidenceLevel = "structured_breakdown" EvaluatorEvidenceRawGraderPayload EvaluatorEvidenceLevel = "raw_grader_payload" )
type EvaluatorEvidenceLevelStatus ¶ added in v0.45.0
type EvaluatorEvidenceLevelStatus struct {
Level EvaluatorEvidenceLevel `json:"level"`
Available bool `json:"available"`
Authority string `json:"authority,omitempty"`
ArtifactPath string `json:"artifact_path,omitempty"`
ArtifactSHA256 string `json:"artifact_sha256,omitempty"`
}
type EvaluatorEvidenceManifest ¶ added in v0.45.0
type EvaluatorEvidenceManifest struct {
Schema string `json:"schema"`
DeclaredLevel EvaluatorEvidenceLevel `json:"declared_level"`
Artifacts []EvaluatorEvidenceArtifact `json:"artifacts"`
Scorer EvaluatorScorerProvenance `json:"scorer,omitempty"`
}
type EvaluatorEvidenceReport ¶ added in v0.45.0
type EvaluatorEvidenceReport struct {
Schema string `json:"schema"`
ManifestPath string `json:"manifest_path"`
Gate string `json:"gate"`
DeclaredLevel EvaluatorEvidenceLevel `json:"declared_level"`
ResolvedLevel EvaluatorEvidenceLevel `json:"resolved_level"`
EvalStatus string `json:"eval_status"`
Score *float64 `json:"score"`
Scorer EvaluatorScorerProvenance `json:"scorer,omitempty"`
Levels []EvaluatorEvidenceLevelStatus `json:"levels"`
}
func LoadEvaluatorEvidence ¶ added in v0.45.0
func LoadEvaluatorEvidence(root, manifestPath string) (EvaluatorEvidenceReport, error)
LoadEvaluatorEvidence resolves every declared artifact from disk before it grants the manifest's evidence rung. Stock ALE eval_result.json is always typed as an official scalar projection, regardless of what the caller claims.
type EvaluatorHashedArtifact ¶ added in v0.45.0
type EvaluatorReceipt ¶ added in v0.45.0
type EvaluatorReceipt struct {
Status string
Score *float64
MinScore float64
MaxScore float64
DurationMS int64
ErrorRef string
}
func (EvaluatorReceipt) Validate ¶ added in v0.45.0
func (r EvaluatorReceipt) Validate() error
type EvaluatorScorerProvenance ¶ added in v0.45.0
type EvaluatorScorerProvenance struct {
Kind string `json:"kind,omitempty"`
Version string `json:"version,omitempty"`
Code EvaluatorHashedArtifact `json:"code,omitempty"`
Reference *EvaluatorHashedArtifact `json:"reference,omitempty"`
Model string `json:"model,omitempty"`
Prompt *EvaluatorHashedArtifact `json:"prompt,omitempty"`
Rubric *EvaluatorHashedArtifact `json:"rubric,omitempty"`
}
type ExternalHarnessQueue ¶
type ExternalHarnessQueue struct {
Schema string `json:"schema"`
GeneratedAt string `json:"generated_at"`
Epic int `json:"epic"`
Status string `json:"status"`
ResultClaimAllowed bool `json:"result_claim_allowed"`
Summary ExternalHarnessSummary `json:"summary"`
Items []ExternalHarnessQueueItem `json:"items"`
ClaimBoundary string `json:"claim_boundary"`
}
func BuildExternalHarnessQueue ¶
func BuildExternalHarnessQueue(root string, now time.Time) (*ExternalHarnessQueue, error)
func WriteExternalHarnessQueue ¶
func WriteExternalHarnessQueue(root, jsonPath, markdownPath string, now time.Time) (*ExternalHarnessQueue, error)
type ExternalHarnessQueueItem ¶
type ExternalHarnessQueueItem struct {
Issue int `json:"issue"`
Packet string `json:"packet"`
Title string `json:"title"`
SourceArtifact string `json:"source_artifact"`
Gate string `json:"gate"`
Status string `json:"status"`
ExternalState string `json:"external_state"`
ClaimBoundary string `json:"claim_boundary,omitempty"`
Commands []HarnessCommand `json:"commands,omitempty"`
Arms []HarnessArm `json:"arms,omitempty"`
RequiredBeforeClaim []string `json:"required_before_claim"`
CompareMetrics []string `json:"compare_metrics,omitempty"`
ResultClaimAllowed bool `json:"result_claim_allowed"`
}
type ExternalHarnessSummary ¶
type FailureAnalysisArtifact ¶ added in v0.45.0
type FailureAnalysisCard ¶ added in v0.45.0
type FailureAnalysisCard struct {
Schema string `json:"schema"`
Label string `json:"label"`
RunID string `json:"run_id"`
Generator FailureAnalysisGenerator `json:"generator"`
Artifacts []FailureAnalysisArtifact `json:"artifacts"`
Verdict FailureAnalysisVerdict `json:"verdict"`
Task FailureAnalysisTask `json:"task"`
Strengths []FailureAnalysisClaim `json:"strengths"`
Failures FailureAnalysisFailures `json:"failures"`
Scoring FailureAnalysisScoring `json:"scoring"`
Classification FailureAnalysisClassification `json:"classification"`
}
FailureAnalysisCard is an advisory sidecar. It deliberately has no hook into official scoring, retry, routing, or policy decisions.
func DecodeFailureAnalysisCard ¶ added in v0.45.0
func DecodeFailureAnalysisCard(data []byte) (FailureAnalysisCard, error)
DecodeFailureAnalysisCard rejects schema drift instead of silently ignoring fields emitted by a newer or malformed generator.
type FailureAnalysisClaim ¶ added in v0.45.0
type FailureAnalysisClaim struct {
Text string `json:"text"`
Kind FailureAnalysisClaimKind `json:"kind"`
Uncertainty string `json:"uncertainty,omitempty"`
Evidence []FailureAnalysisEvidence `json:"evidence"`
}
type FailureAnalysisClaimKind ¶ added in v0.45.0
type FailureAnalysisClaimKind string
const ( FailureAnalysisObservation FailureAnalysisClaimKind = "observation" FailureAnalysisInference FailureAnalysisClaimKind = "inference" )
type FailureAnalysisClassification ¶ added in v0.45.0
type FailureAnalysisClassification struct {
Class string `json:"class"`
Subcategory string `json:"subcategory"`
Confidence float64 `json:"confidence"`
Uncertainty string `json:"uncertainty"`
Rationale FailureAnalysisClaim `json:"rationale"`
}
type FailureAnalysisEvidence ¶ added in v0.45.0
type FailureAnalysisFailures ¶ added in v0.45.0
type FailureAnalysisFailures struct {
Observations []FailureAnalysisClaim `json:"observations"`
Inferences []FailureAnalysisClaim `json:"inferences"`
}
type FailureAnalysisGenerator ¶ added in v0.45.0
type FailureAnalysisScoring ¶ added in v0.45.0
type FailureAnalysisScoring struct {
FinalScore FailureAnalysisClaim `json:"final_score"`
Breakdown []FailureAnalysisClaim `json:"breakdown"`
Confidence float64 `json:"confidence"`
Uncertainty string `json:"uncertainty"`
}
type FailureAnalysisTask ¶ added in v0.45.0
type FailureAnalysisTask struct {
Summary FailureAnalysisClaim `json:"summary"`
Constraints []FailureAnalysisClaim `json:"constraints"`
}
type FailureAnalysisVerdict ¶ added in v0.45.0
type FailureAnalysisVerdict struct {
Outcome string `json:"outcome"`
Summary FailureAnalysisClaim `json:"summary"`
MostImportantProblem FailureAnalysisClaim `json:"most_important_problem"`
}
type FrozenCohort ¶ added in v0.45.0
type FrozenCohort struct {
Schema string `json:"schema"`
Digest string `json:"digest"`
Units []CohortUnit `json:"units"`
}
func FreezeCohort ¶ added in v0.45.0
func FreezeCohort(units []CohortUnit) (FrozenCohort, error)
FreezeCohort sorts the declared population before hashing so callers cannot create different cohort identities merely by enumerating the same plan in a different order.
func (FrozenCohort) Validate ¶ added in v0.45.0
func (c FrozenCohort) Validate() error
type FunnelCounts ¶ added in v0.45.0
type FunnelStage ¶ added in v0.45.0
type FunnelStage string
const ( StageDeclared FunnelStage = "planned" StageAdmitted FunnelStage = "admitted" StageAttempted FunnelStage = "attempted" StageAgentTerminal FunnelStage = "agent_terminal" StageEvaluatorTerminal FunnelStage = "evaluator_terminal" StageScored FunnelStage = "scored" )
type GatewayLatencyObservation ¶ added in v0.45.0
type GatewayLatencyObservation struct {
Name string `json:"name,omitempty"`
LatencyMeasurement
Additive bool `json:"additive"`
}
type HarnessArm ¶
type HarnessCommand ¶
type HarnessCommand struct {
ID string `json:"id"`
Description string `json:"description,omitempty"`
Command string `json:"command"`
Artifacts []string `json:"artifacts,omitempty"`
Required bool `json:"required"`
ArtifactStatus string `json:"artifact_status,omitempty"`
ArtifactDetail string `json:"artifact_detail,omitempty"`
}
type LatencyMeasurement ¶ added in v0.45.0
type LineageError ¶ added in v0.46.0
LineageError records structured reasons for attempt lineage refusals and validation failures.
func (*LineageError) Error ¶ added in v0.46.0
func (e *LineageError) Error() string
type MissingReason ¶ added in v0.45.0
type MissingReason string
const ( MissingAdmissionRefused MissingReason = "admission_refused" MissingLaunchFailed MissingReason = "launch_failed" MissingAgentTimeout MissingReason = "agent_timeout" MissingEvaluatorFailed MissingReason = "evaluator_failed" MissingArtifactIncomplete MissingReason = "artifact_incomplete" )
type NativeRetryRegime ¶ added in v0.46.0
type NativeRetryRegime string
const ( RetryOnFailureOnly NativeRetryRegime = "failure_only" // ALE native: failures retry, timeouts do NOT NoRetry NativeRetryRegime = "no_retry" RetryAll NativeRetryRegime = "retry_all" )
type Report ¶
type Report struct {
Schema string `json:"schema"`
GeneratedAt string `json:"generated_at"`
Epic int `json:"epic"`
Status string `json:"status"`
ResultClaimAllowed bool `json:"result_claim_allowed"`
Summary Summary `json:"summary"`
Children []ChildStatus `json:"children"`
ResultPackets []ResultPacketStatus `json:"result_packets,omitempty"`
Acceptance []Gate `json:"acceptance"`
ClaimBoundary string `json:"claim_boundary"`
}
type ResultPacketStatus ¶
type ResultPacketStatus struct {
Path string `json:"path"`
Issue int `json:"issue"`
Packet string `json:"packet,omitempty"`
Status string `json:"status"`
ResultClaimAllowed bool `json:"result_claim_allowed"`
Gate string `json:"gate"`
Detail string `json:"detail"`
Missing []string `json:"missing,omitempty"`
Artifacts []string `json:"artifacts,omitempty"`
Latency []ArmLatencyStatus `json:"latency_phases,omitempty"`
}
type ScoreSummary ¶ added in v0.45.0
type SelectionRule ¶ added in v0.46.0
type SelectionRule string
const ( FinalAttempt SelectionRule = "final_attempt" // official score is the final attempt's score BestOfN SelectionRule = "best_of_n" // must be declared explicitly )
type Summary ¶
type Summary struct {
ChildrenTotal int `json:"children_total"`
ChildrenParsed int `json:"children_parsed"`
LocalEvidenceArtifacts int `json:"local_evidence_artifacts"`
ResultClaimArtifacts int `json:"result_claim_artifacts"`
ResultPacketsTotal int `json:"result_packets_total"`
ResultPacketsPassed int `json:"result_packets_passed"`
ResultPacketsFailed int `json:"result_packets_failed,omitempty"`
PendingChildren []int `json:"pending_children,omitempty"`
FailedChildren []int `json:"failed_children,omitempty"`
}
type UnitResult ¶ added in v0.45.0
type UnitResult struct {
UnitID string `json:"unit_id"`
FurthestStage FunnelStage `json:"furthest_stage"`
MissingReason MissingReason `json:"missing_reason,omitempty"`
Score *float64 `json:"score,omitempty"`
}