@remnic/bench 9.6.21 → 9.6.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -2
- package/dist/index.d.ts +144 -2
- package/dist/index.js +738 -23
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -91,12 +91,22 @@ status` to report ChatGPT authentication. A 473-credit safety reserve leaves
|
|
|
91
91
|
then measure a quick task before choosing a workload bound:
|
|
92
92
|
|
|
93
93
|
```bash
|
|
94
|
+
export BUILD_WEEK_RUN_ROOT="$HOME/.remnic/bench/build-week-2026"
|
|
95
|
+
export BUILD_WEEK_RESULTS_DIR="$BUILD_WEEK_RUN_ROOT/results"
|
|
96
|
+
umask 077
|
|
97
|
+
mkdir -p "$BUILD_WEEK_RUN_ROOT" "$BUILD_WEEK_RESULTS_DIR"
|
|
98
|
+
chmod 700 "$BUILD_WEEK_RUN_ROOT" "$BUILD_WEEK_RESULTS_DIR"
|
|
99
|
+
|
|
94
100
|
export REMNIC_BENCH_CODEX_CREDIT_BUDGET=2473
|
|
95
101
|
export REMNIC_BENCH_CODEX_CREDIT_RESERVE=473
|
|
96
|
-
export REMNIC_BENCH_CODEX_CREDIT_LEDGER="$
|
|
102
|
+
export REMNIC_BENCH_CODEX_CREDIT_LEDGER="$BUILD_WEEK_RUN_ROOT/codex-credit-ledger.json"
|
|
97
103
|
|
|
98
|
-
remnic bench run
|
|
104
|
+
remnic bench run longmemeval \
|
|
99
105
|
--runtime-profile real \
|
|
106
|
+
--limit 1 \
|
|
107
|
+
--dataset-dir ./bench-datasets/longmemeval \
|
|
108
|
+
--results-dir "$BUILD_WEEK_RESULTS_DIR" \
|
|
109
|
+
--drain-timeout 600000 \
|
|
100
110
|
--system-provider codex-cli --system-model gpt-5.6-luna \
|
|
101
111
|
--system-codex-reasoning-effort medium \
|
|
102
112
|
--internal-provider codex-cli --internal-model gpt-5.6-luna \
|
|
@@ -106,6 +116,9 @@ remnic bench run --quick longmemeval \
|
|
|
106
116
|
|
|
107
117
|
remnic bench run longmemeval \
|
|
108
118
|
--runtime-profile real --limit <LEDGER_DERIVED_LIMIT> \
|
|
119
|
+
--dataset-dir ./bench-datasets/longmemeval \
|
|
120
|
+
--results-dir "$BUILD_WEEK_RESULTS_DIR" \
|
|
121
|
+
--drain-timeout 600000 \
|
|
109
122
|
--system-provider codex-cli --system-model gpt-5.6-luna \
|
|
110
123
|
--system-codex-reasoning-effort medium \
|
|
111
124
|
--internal-provider codex-cli --internal-model gpt-5.6-luna \
|
|
@@ -120,10 +133,29 @@ actual `turn.completed` JSONL usage. Stop dispatching at 2,000 spent; the
|
|
|
120
133
|
473-credit reserve absorbs only a final in-flight call whose exact cost becomes
|
|
121
134
|
known after completion. Missing exact terminal usage blocks the ledger pending
|
|
122
135
|
manual account reconciliation.
|
|
136
|
+
The measured probe is a full-mode run bounded to one staged LongMemEval item.
|
|
137
|
+
Full mode fails before provider dispatch if that explicit dataset directory is
|
|
138
|
+
missing or unreadable, so it cannot fall back to the bundled quick fixture.
|
|
139
|
+
Both commands pin the same gitignored dataset source and do not fall back to
|
|
140
|
+
the CLI-managed dataset store.
|
|
123
141
|
Rates per one million tokens are Luna: 25 input, 2.5 cached input, 150 output;
|
|
124
142
|
Terra: 62.5 input, 6.25 cached input, 375 output. A bounded result is a trial,
|
|
125
143
|
not a full leaderboard artifact.
|
|
126
144
|
|
|
145
|
+
Codex CLI receives a benchmark-owned 180-second transport timeout when no
|
|
146
|
+
request timeout is supplied. Keep `--request-timeout` out of these commands:
|
|
147
|
+
an explicit value also becomes a whole-phase guard, while the transport-only
|
|
148
|
+
default lets long store/recall/reset phases complete. The 600-second drain cap
|
|
149
|
+
remains explicit for queued internal work.
|
|
150
|
+
|
|
151
|
+
The ledger and results stay outside the repository because stored runs may
|
|
152
|
+
contain questions, answers, and recalled context. The `umask` plus explicit
|
|
153
|
+
directory modes make newly created state private. After the first ledger write,
|
|
154
|
+
run `chmod 600 "$REMNIC_BENCH_CODEX_CREDIT_LEDGER"`. Preserve the exact run ID
|
|
155
|
+
printed by the CLI, or recover it only from this run store with
|
|
156
|
+
`remnic bench runs list --results-dir "$BUILD_WEEK_RESULTS_DIR"`; use that ID
|
|
157
|
+
for export and artifact promotion rather than an ambiguous “latest” run.
|
|
158
|
+
|
|
127
159
|
Codex built and adversarially reviewed the Build Week adapter, Responses
|
|
128
160
|
provider, and report card. The underlying Remnic engine and original benchmark
|
|
129
161
|
harness are prior work. The evidence ledger, credit-backed frontier-run
|
package/dist/index.d.ts
CHANGED
|
@@ -300,6 +300,12 @@ interface ProviderConfig {
|
|
|
300
300
|
retryOnTimeout?: boolean;
|
|
301
301
|
max429WaitMs?: number;
|
|
302
302
|
};
|
|
303
|
+
/**
|
|
304
|
+
* Provider transport timeout that must not be interpreted as a benchmark
|
|
305
|
+
* phase timeout. Runtime profiles use this for safe provider defaults while
|
|
306
|
+
* reserving retryOptions.timeoutMs for an explicit --request-timeout.
|
|
307
|
+
*/
|
|
308
|
+
providerRequestTimeoutMs?: number;
|
|
303
309
|
disableThinking?: boolean;
|
|
304
310
|
reasoningEffort?: BenchReasoningEffort;
|
|
305
311
|
responderContextBudgetChars?: number;
|
|
@@ -1515,12 +1521,29 @@ interface CodexCliNativeUsage {
|
|
|
1515
1521
|
interface CodexCreditReceiptScope extends CodexCliNativeUsage {
|
|
1516
1522
|
calls: number;
|
|
1517
1523
|
credits: number;
|
|
1524
|
+
unattributedReconciliationCount: number;
|
|
1525
|
+
unattributedReconciledCredits: number;
|
|
1518
1526
|
models: Array<CodexCliNativeUsage & {
|
|
1519
1527
|
model: string;
|
|
1520
1528
|
calls: number;
|
|
1521
1529
|
credits: number;
|
|
1522
1530
|
}>;
|
|
1523
1531
|
}
|
|
1532
|
+
interface CodexCreditReconciliationReceipt {
|
|
1533
|
+
schemaVersion: 1;
|
|
1534
|
+
priorLedgerSha256: string;
|
|
1535
|
+
ledgerSha256: string;
|
|
1536
|
+
at: string;
|
|
1537
|
+
attribution: "account-wide-unattributed";
|
|
1538
|
+
affectedRunId: string;
|
|
1539
|
+
originalBudgetCredits: number;
|
|
1540
|
+
priorRecordedSpentCredits: number;
|
|
1541
|
+
observedRemainingCredits: number;
|
|
1542
|
+
unattributedCredits: number;
|
|
1543
|
+
totalSpentCredits: number;
|
|
1544
|
+
totalRemainingCredits: number;
|
|
1545
|
+
affectedBlockedEventSha256: string;
|
|
1546
|
+
}
|
|
1524
1547
|
interface CodexCreditReceipt {
|
|
1525
1548
|
schemaVersion: 1;
|
|
1526
1549
|
ledgerSha256: string;
|
|
@@ -1535,6 +1558,16 @@ interface CodexCreditReceipt {
|
|
|
1535
1558
|
id: string;
|
|
1536
1559
|
};
|
|
1537
1560
|
}
|
|
1561
|
+
declare function reconcileCodexCreditLedger(args: {
|
|
1562
|
+
ledgerPath: string;
|
|
1563
|
+
priorLedgerSha256: string;
|
|
1564
|
+
observedRemainingCredits: number;
|
|
1565
|
+
originalBudgetBalanceConfirmed: true;
|
|
1566
|
+
noCreditsAddedOrRefundedConfirmed: true;
|
|
1567
|
+
accountWideUnattributedChargeAccepted: true;
|
|
1568
|
+
affectedRunId: string;
|
|
1569
|
+
}): Promise<CodexCreditReconciliationReceipt>;
|
|
1570
|
+
declare function buildCodexCreditReceipt(ledgerPath: string, runId?: string): Promise<CodexCreditReceipt>;
|
|
1538
1571
|
|
|
1539
1572
|
declare const BENCHMARK_REPRO_MANIFEST_FILENAME = "MANIFEST.json";
|
|
1540
1573
|
declare const BENCHMARK_REPRO_MANIFEST_SCHEMA_VERSION = 1;
|
|
@@ -3054,6 +3087,115 @@ interface DiagnoseLoComoProfileDeltaOptions {
|
|
|
3054
3087
|
declare function diagnoseLoComoProfileDelta(options: DiagnoseLoComoProfileDeltaOptions): LoComoProfileDeltaReport;
|
|
3055
3088
|
declare function renderLoComoProfileDeltaMarkdown(report: LoComoProfileDeltaReport): string;
|
|
3056
3089
|
|
|
3090
|
+
declare const LOCOMO_FULL_TASK_COUNT = 1986;
|
|
3091
|
+
declare const LOCOMO_RECALL_EXCERPT_CHARS = 240;
|
|
3092
|
+
declare const LOCOMO_RECALL_DIFF_LINE_LIMIT = 20;
|
|
3093
|
+
interface LoComoRawResultEvidence {
|
|
3094
|
+
result: BenchmarkResult;
|
|
3095
|
+
reference: string;
|
|
3096
|
+
/** SHA-256 of the exact result-file bytes, computed before JSON parsing. */
|
|
3097
|
+
sha256: string;
|
|
3098
|
+
}
|
|
3099
|
+
interface LoComoRecallTextDigest {
|
|
3100
|
+
sha256: string;
|
|
3101
|
+
charCount: number;
|
|
3102
|
+
excerpt: string;
|
|
3103
|
+
}
|
|
3104
|
+
interface LoComoRecallLineEvidence extends LoComoRecallTextDigest {
|
|
3105
|
+
ordinal: number;
|
|
3106
|
+
sourceRef?: string;
|
|
3107
|
+
}
|
|
3108
|
+
interface LoComoRecallLineDelta {
|
|
3109
|
+
totalCount: number;
|
|
3110
|
+
shownCount: number;
|
|
3111
|
+
lines: LoComoRecallLineEvidence[];
|
|
3112
|
+
}
|
|
3113
|
+
interface LoComoRecallContextSummary {
|
|
3114
|
+
sha256: string;
|
|
3115
|
+
charCount: number;
|
|
3116
|
+
lineCount: number;
|
|
3117
|
+
headings: string[];
|
|
3118
|
+
sourceRefs: string[];
|
|
3119
|
+
expectedTokenCoverage: number;
|
|
3120
|
+
}
|
|
3121
|
+
interface LoComoRecallMetricDelta {
|
|
3122
|
+
baselineMean: number;
|
|
3123
|
+
realMean: number;
|
|
3124
|
+
delta: number;
|
|
3125
|
+
wins: number;
|
|
3126
|
+
losses: number;
|
|
3127
|
+
ties: number;
|
|
3128
|
+
}
|
|
3129
|
+
interface LoComoRecallCategoryDelta extends LoComoRecallMetricDelta {
|
|
3130
|
+
category: string;
|
|
3131
|
+
taskCount: number;
|
|
3132
|
+
}
|
|
3133
|
+
interface LoComoFinalContextRegression {
|
|
3134
|
+
taskId: string;
|
|
3135
|
+
category: string;
|
|
3136
|
+
baselineScore: number;
|
|
3137
|
+
realScore: number;
|
|
3138
|
+
delta: number;
|
|
3139
|
+
questionSha256: string;
|
|
3140
|
+
expectedAnswerSha256: string;
|
|
3141
|
+
baseline: {
|
|
3142
|
+
answer: LoComoRecallTextDigest;
|
|
3143
|
+
recall: LoComoRecallContextSummary;
|
|
3144
|
+
};
|
|
3145
|
+
real: {
|
|
3146
|
+
answer: LoComoRecallTextDigest;
|
|
3147
|
+
recall: LoComoRecallContextSummary;
|
|
3148
|
+
};
|
|
3149
|
+
displacedLines: LoComoRecallLineDelta;
|
|
3150
|
+
introducedLines: LoComoRecallLineDelta;
|
|
3151
|
+
}
|
|
3152
|
+
interface LoComoRecallResultProvenance {
|
|
3153
|
+
reference: string;
|
|
3154
|
+
sha256: string;
|
|
3155
|
+
resultId: string;
|
|
3156
|
+
gitSha: string;
|
|
3157
|
+
remnicVersion: string;
|
|
3158
|
+
runtimeProfile: "baseline" | "real";
|
|
3159
|
+
systemProvider: string;
|
|
3160
|
+
systemModel: string;
|
|
3161
|
+
judgeProvider: string;
|
|
3162
|
+
judgeModel: string;
|
|
3163
|
+
seeds: number[];
|
|
3164
|
+
taskPayloadSha256: string;
|
|
3165
|
+
}
|
|
3166
|
+
interface LoComoRecallDeltaReport {
|
|
3167
|
+
schemaVersion: 1;
|
|
3168
|
+
benchmarkId: "locomo";
|
|
3169
|
+
comparison: {
|
|
3170
|
+
baseline: LoComoRecallResultProvenance;
|
|
3171
|
+
real: LoComoRecallResultProvenance;
|
|
3172
|
+
};
|
|
3173
|
+
taskCount: number;
|
|
3174
|
+
primaryMetric: string;
|
|
3175
|
+
overall: LoComoRecallMetricDelta;
|
|
3176
|
+
categories: LoComoRecallCategoryDelta[];
|
|
3177
|
+
topRegressions: LoComoFinalContextRegression[];
|
|
3178
|
+
evidenceBoundary: {
|
|
3179
|
+
finalContextComparison: "complete";
|
|
3180
|
+
retrievalTierAttribution: "unavailable-in-cached-results";
|
|
3181
|
+
hiddenEvidenceUsed: false;
|
|
3182
|
+
explanation: string;
|
|
3183
|
+
};
|
|
3184
|
+
}
|
|
3185
|
+
interface DiagnoseLoComoRecallDeltaOptions {
|
|
3186
|
+
baseline: LoComoRawResultEvidence;
|
|
3187
|
+
real: LoComoRawResultEvidence;
|
|
3188
|
+
primaryMetric?: string;
|
|
3189
|
+
maxRegressions?: number;
|
|
3190
|
+
}
|
|
3191
|
+
/**
|
|
3192
|
+
* Return a stable provenance label without exposing the caller's directory
|
|
3193
|
+
* layout. CLI callers should use this instead of persisting an input path.
|
|
3194
|
+
*/
|
|
3195
|
+
declare function sanitizeLoComoResultReference(path: string): string;
|
|
3196
|
+
declare function diagnoseLoComoRecallDelta(options: DiagnoseLoComoRecallDeltaOptions): LoComoRecallDeltaReport;
|
|
3197
|
+
declare function renderLoComoRecallDeltaMarkdown(report: LoComoRecallDeltaReport): string;
|
|
3198
|
+
|
|
3057
3199
|
/**
|
|
3058
3200
|
* Dataset-contamination guard.
|
|
3059
3201
|
*
|
|
@@ -3910,7 +4052,7 @@ interface RunJudgeCalibrationOptions {
|
|
|
3910
4052
|
* binning function so they are compared on the same scale.
|
|
3911
4053
|
*/
|
|
3912
4054
|
binScore?: (score: number) => JudgeCategory;
|
|
3913
|
-
/** Override the slice size (default
|
|
4055
|
+
/** Override the slice size (default 200; mainly for tests). */
|
|
3914
4056
|
sliceSize?: number;
|
|
3915
4057
|
/** Override the warning threshold (default 0.7). */
|
|
3916
4058
|
threshold?: number;
|
|
@@ -5109,4 +5251,4 @@ declare function checkCodingGraphRegression(report: CodingGraphBenchReport, base
|
|
|
5109
5251
|
*/
|
|
5110
5252
|
declare function buildBaselineFromReport(report: CodingGraphBenchReport, note: string): CodingGraphBaseline;
|
|
5111
5253
|
|
|
5112
|
-
export { AMA_BENCH_DIAGNOSTIC_VARIANTS, ASSISTANT_AGENT_CONFIG_KEY, ASSISTANT_JUDGE_CONFIG_KEY, ASSISTANT_MEETING_PREP_SCENARIOS, ASSISTANT_MEETING_PREP_SMOKE_SCENARIOS, ASSISTANT_MORNING_BRIEF_SCENARIOS, ASSISTANT_MORNING_BRIEF_SMOKE_SCENARIOS, ASSISTANT_NEXT_BEST_ACTION_SCENARIOS, ASSISTANT_NEXT_BEST_ACTION_SMOKE_SCENARIOS, ASSISTANT_RUBRIC_DIMENSIONS, ASSISTANT_RUBRIC_ID_KEY, ASSISTANT_SEEDS_CONFIG_KEY, ASSISTANT_SPOT_CHECK_DIR_KEY, ASSISTANT_SYNTHESIS_SCENARIOS, ASSISTANT_SYNTHESIS_SMOKE_SCENARIOS, type AblationConfigOverrides, type AbstentionRetrievalCase, type AggregateMetrics, type AmaBenchDiagnosticAdapterOptions, type AmaBenchDiagnosticAnswererMode, type AmaBenchDiagnosticBreakdown, type AmaBenchDiagnosticMatrixArtifact, type AmaBenchDiagnosticRecallMode, type AmaBenchDiagnosticRunContext, type AmaBenchDiagnosticTaskEvidence, type AmaBenchDiagnosticTaskRow, type AmaBenchDiagnosticVariant, type AmaBenchDiagnosticVariantSummary, type AnthropicProviderConfig, type AssistantAgent, type AssistantMemoryFact, type AssistantMemoryGraph, type AssistantRubricDimension, type AssistantRubricRequest, type AssistantRubricScores, type AssistantRunnerOptions, type AssistantScenario, type AssistantStance, type AttackRecallOptions, type AttackRetrievalHit, type AttackerMode, BENCHMARK_ARTIFACT_SCHEMA_VERSION, BENCHMARK_INTEGRITY_META_SCHEMA, BENCHMARK_REPRO_MANIFEST_FILENAME, BENCHMARK_REPRO_MANIFEST_SCHEMA_VERSION, BENCHMARK_RESULT_SCHEMA, BENCHMARK_SPLIT_TYPES, type BaselineRow, type BaselineScenario, type BeamDatasetPreview, type BenchConfig, type BenchJudge, type BenchJudgeResult, type BenchMemoryAdapter, type BenchModelSource, type BenchReasoningEffort, type BenchRecallOptions, type BenchRecallSupportAssessment, type BenchRecallSupportRequest, type BenchRecallSupportStatus, type BenchResponder, type BenchResponse, type BenchRuntimeProfile, type BenchTier, type BenchmarkArtifact, type BenchmarkArtifactEnvironment, type BenchmarkArtifactHardware, type BenchmarkArtifactJudgeCalibration, type BenchmarkArtifactPerTaskScore, type BenchmarkArtifactSystem, type BenchmarkArtifactTier, type BenchmarkCategory, type BenchmarkDefinition, type BenchmarkIntegrityMeta, type BenchmarkMeta, type BenchmarkMode, type BenchmarkReport, type BenchmarkReproManifest, type BenchmarkReproManifestDataset, type BenchmarkReproManifestFile, type BenchmarkReproManifestResult, type BenchmarkResult, type BenchmarkSplitType, type BenchmarkStatus, type BenchmarkSuiteResult, type BenchmarkTier, type BootstrapKappaOptions, type BootstrapKappaResult, type BuildBenchmarkArtifactInput, type BuildBenchmarkPublishFeedOptions, type BuildBenchmarkReproManifestOptions, type BuiltInProvider, CALIBRATION_SLICE_SIZE, CANARY_FIXED_RECALL, CANARY_SCORE_FLOOR, DEFAULT_10K_FIXTURE as CODING_GRAPH_10K_FIXTURE, CODING_GRAPH_BENCH_SCHEMA_VERSION, DEFAULT_TOLERANCE_PERCENT as CODING_GRAPH_DEFAULT_TOLERANCE, MIN_ITERATIONS as CODING_GRAPH_MIN_ITERATIONS, DEFAULT_SMOKE_FIXTURE as CODING_GRAPH_SMOKE_FIXTURE, type CalibrationAnswer, type CalibrationVerdictPair, type CanaryAdapterOptions, type CanaryFloorCheck, type ClaudeCliProviderConfig, type CodexCliProviderConfig, type CodingGraphBaseline, type CodingGraphBenchConfig, type CodingGraphBenchReport, type MachineFingerprint as CodingGraphMachineFingerprint, type CodingGraphMetricKey, type RegressionMetricDetail as CodingGraphRegressionDetail, type RegressionMetricKey as CodingGraphRegressionKey, type RegressionGateResult as CodingGraphRegressionResult, type CohenKappaResult, type ComparisonMetricDelta, type ComparisonResult, type CompletionOpts, type CompletionResult, type ConfidenceInterval, type ContaminationCheckResult, type ContaminationEntry, type ContaminationManifest, type CustomBenchmarkScoring, type CustomBenchmarkSpec, type CustomBenchmarkTask, DEFAULT_ABLATION_BENCHMARK, DEFAULT_ABLATION_BOOTSTRAP_SEED, DEFAULT_ASSISTANT_RUBRIC_ID, DEFAULT_BASELINE_SCENARIOS, DEFAULT_JUDGE_BINARIZATION_THRESHOLD, DEFAULT_KAPPA_BOOTSTRAP_SAMPLES, DEFAULT_KAPPA_CONFIDENCE_LEVEL, DEFAULT_OPENAI_RESPONSES_JUDGE_MODEL, type DatasetSource, type DiagnoseLoComoProfileDeltaOptions, type DiscoveredModel, EMPTY_CONTAMINATION_MANIFEST, type EffectSizeInterpretation, type EffectSizeSummary, type ExplainResult, type ExtractedEntity, type ExtractedLink, type ExtractedPage, type ExtractionAttackOptions, type ExtractionAttackResult, type ExtractionAttackTarget, type FixtureGenerator, type FixtureOutput, type FixtureVariant, GENERAL_ANSWER_JUDGE_RUBRIC, type GeneratedFile, type GeneratedRepo, type GoldEntity, type GoldEntityType, type GoldGraph, type GoldLink, type GoldPage, type HarnessRng, INTEGRITY_CIPHER_ALGORITHM, INTEGRITY_HASH_ALGORITHM, INTEGRITY_META_FIELDS, type IngestionBenchAdapter, type IngestionLog, JUDGE_CALIBRATION_KAPPA_THRESHOLD, type JudgeCalibrationIdentities, type JudgeCalibrationResult, type JudgeCategory, type KappaConfidenceInterval, LOCAL_LAB_PROVIDER_KINDS, LOCOMO_DATASET_FILENAMES, LONG_MEM_EVAL_DATASET_FILENAMES, type LeaderboardArtifactWrite, type LettaAdapterConfig, LettaMemCorrectAdapter, type LlmJudge, type LlmProvider, type LoComoCategoryDelta, type LoComoMetricDelta, type LoComoProfileArtifactEvidence, type LoComoProfileDeltaReport, type LoComoTaskRegression, type LoadDatasetOptions, type LoadSealedQrelsOptions, type LoadedDataset, type LoadedJudgeCalibrationState, type LocalLabManifest, type LocalLabManifestNotes, type LocalLabPhase, type LocalLabPhaseDescriptor, type LocalLabPhaseExecute, type LocalLabPhaseName, type LocalLabPhaseOutcome, LocalLabPreflightError, type LocalLabPreflightFailure, type LocalLabPreflightInput, type LocalLabPreflightOptions, type LocalLabPreflightResult, type LocalLabPreflightSuccess, type LocalLabProviderKind, type LocalLabRoleConfig, type LocalLlmProviderConfig, MEMCORRECT_CORRECTION_ACCEPTANCE_RUBRIC, MEMCORRECT_CORRECTION_ACCEPTANCE_RUBRIC_VERSION, MEMCORRECT_STALE_HARM_RUBRIC, MEMCORRECT_STALE_HARM_RUBRIC_VERSION, MEMORY_EVAL_DIMENSIONS, MEMORY_EVAL_PUBLIC_LINE, MIN_CALIBRATION_SOURCE_TASKS, MITIGATED_BASELINE_SCENARIOS, type McpArgumentSemantic, type McpBackendErrorCode, type McpBackendResult, type McpBenchMemoryAdapter, type McpConformanceResult, type McpHttpTransportConfig, type McpListedTool, type McpMemCorrectAdapter, type McpMemoryAdapterOptions, McpMemoryBackendError, type McpMemoryToolMapping, type McpMemoryTransportConfig, type McpStdioTransportConfig, type McpToolCallResult, type McpToolClient, type McpToolMappingEntry, type McpToolMappingValue, type McpToolOperation, type Mem0AdapterConfig, Mem0MemCorrectAdapter, type MemCorrectGeneratorOptions, type MemCorrectJudgeRequest, type MemCorrectJudgeResult, type MemCorrectSystemAdapter, type MemoryEvalCategory, type MemoryEvalDimension, type MemoryEvalDimensionId, type MemoryEvalMetric, type MemoryGraph, type MemoryStats, type MemorySystem, type Message, type MetricAggregate, type MicroMetric, MissingCredentialError, type MitigatedBaselineConfig, type MitigatedTargetConfig, type MultipleChoiceQuestion, OPENAI_RESPONSES_JUDGE_RUBRIC_VERSION, OTHER_NAMESPACE_MEMORIES, type OllamaProviderConfig, type OpenAiCompatibleProviderConfig, OpenAiResponsesJudgeError, type OpenAiResponsesJudgeErrorCode, type OpenAiResponsesJudgeTelemetry, OpenAiResponsesProvider, type OpenAiResponsesProviderConfig, type OpenAiResponsesVerdict, type OpenAiResponsesVerdictResult, PROCEDURAL_REAL_SCENARIOS, PROCEDURAL_REAL_SCENARIOS_SMOKE, PUBLISHED_BENCHMARK_ARTIFACT_IDS, type PersonalizationRetrievalCase, type PreflightDiscoveredModel, type ProceduralAblationArtifact, type ProceduralAblationPerCase, type ProceduralAblationScenario, type ProceduralRealScenario, type ProceduralRealScenarioCategory, type ProviderBaseConfig, type ProviderConfig, type ProviderDiscoveryResult, type ProviderFactoryConfig, type PublishSkipReason, type PublishSkipRecord, type PublishedBenchmarkFeed, type PublishedBenchmarkFeedEntry, type PublishedBenchmarkId, REQUIRED_FRONTMATTER_FIELDS, type RecallMetrics, type RecoveredMemory, type RegressionDetail, type RegressionGateResult$1 as RegressionGateResult, type RemnicAdapterOptions, type ReportCardProvenanceContext, type ResolveBenchRuntimeProfileOptions, type ResolvedBenchRuntimeProfile, type ResolvedLocalLabProfile, type ResolvedLocalLabRole, type ResolvedRunBenchmarkOptions, type RotatedChoices, type RunBenchmarkOptions, type RunJudgeCalibrationOptions, type RunProceduralAblationCliArgs, type RunProceduralAblationOptions, type RunSequentialPhasesOptions, SCHEMA_TIER_FIXTURE, SCHEMA_TIER_SMOKE_FIXTURE, SEALED_PROMPT_REGISTRY, SINGLE_FLAG_ABLATION_MATRIX, SYNTHETIC_MEMORIES, type SanitizedDiagnosticProvider, type SavedBaseline, type SchemaTierCorpus, type SchemaTierFixture, type SchemaTierName, type SchemaTierPage, type SchemaTierPageFrontmatter, type SealedArtifact, type SealedJudgeDecision, type SealedJudgeInput, type SealedQrelsArtifact, type SealedQrelsHandle, type SealedRubric, type SearchResult, type SeededMemory, type SeededRng, type SequentialPhaseHooks, type SingleFlagAblationCell, type SingleFlagAblationId, type SpotCheckLogger, type StatisticalReport, type StructuredJudge, StructuredJudgeError, type StructuredJudgeErrorCode, type StructuredJudgeProvider, type StructuredJudgeTelemetry, type StructuredJudgeVerdict, type StructuredJudgeVerdictResult, type StructuredVerdictRequest, type SyntheticEdge, type SyntheticEmailIngestionAdapterOptions, type SyntheticFileIR, type SyntheticRepoConfig, type SyntheticSymbol, type SyntheticTargetOptions, type TaskResult, type TaskTokenUsage, type TemporalRetrievalCase, type ThirdPartyAdapterConfig, type TierDetail, type TimelineEntry, type TokenUsage, type WallMetric, type WriteBenchmarkArtifactResult, type ZepAdapterConfig, ZepMemCorrectAdapter, addContaminationEntry, aggregateTaskScores, answerBenchmarkQuestion, assertCanaryUnderFloor, assertIntegrityMetaPresent, assertPublishableIntegrity, assertSha256Hex, assistantMeetingPrepDefinition, assistantMorningBriefDefinition, assistantNextBestActionDefinition, assistantSynthesisDefinition, backlinkF1, binarizeJudgeScore, bootstrapCohensKappaConfidenceInterval, bootstrapMeanConfidenceInterval, buildAmaBenchDiagnosticMatrixArtifact, buildAmaBenchDiagnosticVariantSummary, buildAmaBenchLeaderboardRows, buildBaselineFromReport, buildBenchmarkArtifact, buildBenchmarkArtifactFilename, buildBenchmarkPublishFeed, buildBenchmarkReproManifest, buildBenchmarkRunSeeds, buildJudgePayload, buildOracleTrajectoryRecall, buildSchemaTierFixture, buildSchemaTierSmokeFixture, calendarFixture, canonicalJsonStringify, captureMachineFingerprint, chatFixture, checkCodingGraphRegression, checkDatasetContamination, checkRegression, clampScore, cohensD, compareResults, computeCohensKappa, computeSealHash, containsAnswer, createSeededRng$1 as createAdamSeededRng, createAmaBenchDiagnosticAdapter, createAnthropicProvider, createCanaryAdapter, createClaudeCliProvider, createCodexCliProvider, createSeededRng as createCodingGraphSeededRng, createDeterministicSpotCheckLogger, createGatewayResponder, createLightweightAdapter, createLiteLlmProvider, createLocalLlmProvider, createMcpDemoMemCorrectAdapter, createMcpDemoMemoryAdapter, createMcpMemCorrectAdapter, createMcpMemoryAdapter, createMitigatedTarget, createOllamaProvider, createOpenAiCompatibleProvider, createOpenAiResponsesBenchJudge, createOpenAiResponsesProvider, createSeededRandom as createProceduralAblationSeededRandom, createProvider, createProviderBackedAmaBenchRecommendedJudge, createProviderBackedJudge, createProviderBackedResponder, createProviderBackedStructuredJudge, createRemnicAdapter, createResponderFromProvider, createSeededRng$2 as createSeededRng, createSpotCheckFileLogger, createStructuredBenchJudge, createStructuredJudgeFromProvider, createSyntheticEmailIngestionAdapter, createSyntheticTarget, createTimeoutGuardedAdapter, defaultBenchmarkBaselineDir, defaultBenchmarkPublishPath, deleteBenchmarkResults, diagnoseLoComoProfileDelta, discoverAllProviders, discoveryEndpointFor, emailFixture, entityRecall, exactMatch, extractMetrics as extractCodingGraphMetrics, extractMarkdownSectionsByTitle, f1Score, fixtureToAblationScenarios, formatHandoffNote, formatMissingDatasetError, generateReport, generateSyntheticRepo, getAblationCell, getBenchmark, getBenchmarkLowerIsBetter, getMemoryEvalDimension, getRemnicVersion, hashBenchmarkArtifact, hashBytes, hashCanonicalJson, hashString, integrityMetaIsComplete, interpretEffectSize, isAmaBenchUnknownLikeAnswer, isContaminationEntry, isContaminationManifest, isSealedQrelsArtifact, isSha256Hex, isStructuredJudgeProvider, judgeMemCorrectCorrectionAcceptance, judgeMemCorrectStaleMemoryHarm, linkMatches, listBenchmarkBaselines, listBenchmarkResults, listBenchmarks, listMemoryEvalBenchmarkIds, listMemoryEvalDimensions, llmJudgeScore, llmJudgeScoreDetailed, loadAblationFixture, loadBaseline, loadBeamDatasetPreview, loadBenchmarkArtifact, loadBenchmarkBaseline, loadBenchmarkReportCardProvenance, loadBenchmarkResult, loadCustomBenchmarkFile, loadJudgeCalibrationState, loadLoCoMo10, loadLocalLabManifest, loadLongMemEvalS, loadSealKeyFromEnv, loadSealedQrels, loadSealedRubric, matchEntity, mergeContaminationManifests, openSeal, orchestrateBenchmarkRuns, pairedDeltaConfidenceInterval, parseBenchmarkArtifact, parseCustomBenchmark, parseLocalLabManifest, parseRubricResponse, parseSealedQrels, pickStableQualifiedName, precisionAtK, preflightLocalLabRole, projectFolderFixture, recallAtK, redactBenchmarkResultSecrets, renderBaselineMarkdown, renderBenchmarkResultExport, renderLoComoProfileDeltaMarkdown, renderMemorySummaryForJudge, renderMemoryViewForAgent, resolveAssistantAgent, resolveAssistantRubricId, resolveAssistantSeeds, resolveAssistantSpotCheckDir, resolveBenchRuntimeProfile, resolveBenchmarkPhaseTimeoutMs, resolveBenchmarkProgressLogging, resolveBenchmarkResultReference, resolveBenchmarkRunCount, resolveLocalLabProfile, resolveLocalLabRole, resolveStructuredJudge, rotateDistractors, rougeL, runAssistantBenchmark, runAssistantMeetingPrepBenchmark, runAssistantMorningBriefBenchmark, runAssistantNextBestActionBenchmark, runAssistantSynthesisBenchmark, runBaseline, runBenchSuite, runBenchmark, runCodingGraphBenchmark, runCustomBenchmarkFile, runExplain, runExtractionAttack, runJudgeCalibration, runMitigatedBaseline, runProceduralAblation, runProceduralAblationCli, runSealedJudge, runSequentialPhases, safeHexEqual, saveBaseline, saveBenchmarkBaseline, schemaCompleteness, sealPayload, selectAmaBenchDiagnosticVariants, selectCalibrationSlice, selectFixtureVariant, serializeBenchmarkArtifact, serializeJsonl, serializeSealedQrels, shuffleTasks, timed, verifyRubricDigest, writeBenchmarkArtifact, writeBenchmarkPublishFeed, writeBenchmarkReproManifest, writeBenchmarkResult, writeJudgeCalibrationState, writeLeaderboardArtifactsForResult, zeroScores };
|
|
5254
|
+
export { AMA_BENCH_DIAGNOSTIC_VARIANTS, ASSISTANT_AGENT_CONFIG_KEY, ASSISTANT_JUDGE_CONFIG_KEY, ASSISTANT_MEETING_PREP_SCENARIOS, ASSISTANT_MEETING_PREP_SMOKE_SCENARIOS, ASSISTANT_MORNING_BRIEF_SCENARIOS, ASSISTANT_MORNING_BRIEF_SMOKE_SCENARIOS, ASSISTANT_NEXT_BEST_ACTION_SCENARIOS, ASSISTANT_NEXT_BEST_ACTION_SMOKE_SCENARIOS, ASSISTANT_RUBRIC_DIMENSIONS, ASSISTANT_RUBRIC_ID_KEY, ASSISTANT_SEEDS_CONFIG_KEY, ASSISTANT_SPOT_CHECK_DIR_KEY, ASSISTANT_SYNTHESIS_SCENARIOS, ASSISTANT_SYNTHESIS_SMOKE_SCENARIOS, type AblationConfigOverrides, type AbstentionRetrievalCase, type AggregateMetrics, type AmaBenchDiagnosticAdapterOptions, type AmaBenchDiagnosticAnswererMode, type AmaBenchDiagnosticBreakdown, type AmaBenchDiagnosticMatrixArtifact, type AmaBenchDiagnosticRecallMode, type AmaBenchDiagnosticRunContext, type AmaBenchDiagnosticTaskEvidence, type AmaBenchDiagnosticTaskRow, type AmaBenchDiagnosticVariant, type AmaBenchDiagnosticVariantSummary, type AnthropicProviderConfig, type AssistantAgent, type AssistantMemoryFact, type AssistantMemoryGraph, type AssistantRubricDimension, type AssistantRubricRequest, type AssistantRubricScores, type AssistantRunnerOptions, type AssistantScenario, type AssistantStance, type AttackRecallOptions, type AttackRetrievalHit, type AttackerMode, BENCHMARK_ARTIFACT_SCHEMA_VERSION, BENCHMARK_INTEGRITY_META_SCHEMA, BENCHMARK_REPRO_MANIFEST_FILENAME, BENCHMARK_REPRO_MANIFEST_SCHEMA_VERSION, BENCHMARK_RESULT_SCHEMA, BENCHMARK_SPLIT_TYPES, type BaselineRow, type BaselineScenario, type BeamDatasetPreview, type BenchConfig, type BenchJudge, type BenchJudgeResult, type BenchMemoryAdapter, type BenchModelSource, type BenchReasoningEffort, type BenchRecallOptions, type BenchRecallSupportAssessment, type BenchRecallSupportRequest, type BenchRecallSupportStatus, type BenchResponder, type BenchResponse, type BenchRuntimeProfile, type BenchTier, type BenchmarkArtifact, type BenchmarkArtifactEnvironment, type BenchmarkArtifactHardware, type BenchmarkArtifactJudgeCalibration, type BenchmarkArtifactPerTaskScore, type BenchmarkArtifactSystem, type BenchmarkArtifactTier, type BenchmarkCategory, type BenchmarkDefinition, type BenchmarkIntegrityMeta, type BenchmarkMeta, type BenchmarkMode, type BenchmarkReport, type BenchmarkReproManifest, type BenchmarkReproManifestDataset, type BenchmarkReproManifestFile, type BenchmarkReproManifestResult, type BenchmarkResult, type BenchmarkSplitType, type BenchmarkStatus, type BenchmarkSuiteResult, type BenchmarkTier, type BootstrapKappaOptions, type BootstrapKappaResult, type BuildBenchmarkArtifactInput, type BuildBenchmarkPublishFeedOptions, type BuildBenchmarkReproManifestOptions, type BuiltInProvider, CALIBRATION_SLICE_SIZE, CANARY_FIXED_RECALL, CANARY_SCORE_FLOOR, DEFAULT_10K_FIXTURE as CODING_GRAPH_10K_FIXTURE, CODING_GRAPH_BENCH_SCHEMA_VERSION, DEFAULT_TOLERANCE_PERCENT as CODING_GRAPH_DEFAULT_TOLERANCE, MIN_ITERATIONS as CODING_GRAPH_MIN_ITERATIONS, DEFAULT_SMOKE_FIXTURE as CODING_GRAPH_SMOKE_FIXTURE, type CalibrationAnswer, type CalibrationVerdictPair, type CanaryAdapterOptions, type CanaryFloorCheck, type ClaudeCliProviderConfig, type CodexCliProviderConfig, type CodexCreditReceipt, type CodexCreditReceiptScope, type CodexCreditReconciliationReceipt, type CodingGraphBaseline, type CodingGraphBenchConfig, type CodingGraphBenchReport, type MachineFingerprint as CodingGraphMachineFingerprint, type CodingGraphMetricKey, type RegressionMetricDetail as CodingGraphRegressionDetail, type RegressionMetricKey as CodingGraphRegressionKey, type RegressionGateResult as CodingGraphRegressionResult, type CohenKappaResult, type ComparisonMetricDelta, type ComparisonResult, type CompletionOpts, type CompletionResult, type ConfidenceInterval, type ContaminationCheckResult, type ContaminationEntry, type ContaminationManifest, type CustomBenchmarkScoring, type CustomBenchmarkSpec, type CustomBenchmarkTask, DEFAULT_ABLATION_BENCHMARK, DEFAULT_ABLATION_BOOTSTRAP_SEED, DEFAULT_ASSISTANT_RUBRIC_ID, DEFAULT_BASELINE_SCENARIOS, DEFAULT_JUDGE_BINARIZATION_THRESHOLD, DEFAULT_KAPPA_BOOTSTRAP_SAMPLES, DEFAULT_KAPPA_CONFIDENCE_LEVEL, DEFAULT_OPENAI_RESPONSES_JUDGE_MODEL, type DatasetSource, type DiagnoseLoComoProfileDeltaOptions, type DiagnoseLoComoRecallDeltaOptions, type DiscoveredModel, EMPTY_CONTAMINATION_MANIFEST, type EffectSizeInterpretation, type EffectSizeSummary, type ExplainResult, type ExtractedEntity, type ExtractedLink, type ExtractedPage, type ExtractionAttackOptions, type ExtractionAttackResult, type ExtractionAttackTarget, type FixtureGenerator, type FixtureOutput, type FixtureVariant, GENERAL_ANSWER_JUDGE_RUBRIC, type GeneratedFile, type GeneratedRepo, type GoldEntity, type GoldEntityType, type GoldGraph, type GoldLink, type GoldPage, type HarnessRng, INTEGRITY_CIPHER_ALGORITHM, INTEGRITY_HASH_ALGORITHM, INTEGRITY_META_FIELDS, type IngestionBenchAdapter, type IngestionLog, JUDGE_CALIBRATION_KAPPA_THRESHOLD, type JudgeCalibrationIdentities, type JudgeCalibrationResult, type JudgeCategory, type KappaConfidenceInterval, LOCAL_LAB_PROVIDER_KINDS, LOCOMO_DATASET_FILENAMES, LOCOMO_FULL_TASK_COUNT, LOCOMO_RECALL_DIFF_LINE_LIMIT, LOCOMO_RECALL_EXCERPT_CHARS, LONG_MEM_EVAL_DATASET_FILENAMES, type LeaderboardArtifactWrite, type LettaAdapterConfig, LettaMemCorrectAdapter, type LlmJudge, type LlmProvider, type LoComoCategoryDelta, type LoComoFinalContextRegression, type LoComoMetricDelta, type LoComoProfileArtifactEvidence, type LoComoProfileDeltaReport, type LoComoRawResultEvidence, type LoComoRecallCategoryDelta, type LoComoRecallContextSummary, type LoComoRecallDeltaReport, type LoComoRecallLineDelta, type LoComoRecallLineEvidence, type LoComoRecallMetricDelta, type LoComoRecallResultProvenance, type LoComoRecallTextDigest, type LoComoTaskRegression, type LoadDatasetOptions, type LoadSealedQrelsOptions, type LoadedDataset, type LoadedJudgeCalibrationState, type LocalLabManifest, type LocalLabManifestNotes, type LocalLabPhase, type LocalLabPhaseDescriptor, type LocalLabPhaseExecute, type LocalLabPhaseName, type LocalLabPhaseOutcome, LocalLabPreflightError, type LocalLabPreflightFailure, type LocalLabPreflightInput, type LocalLabPreflightOptions, type LocalLabPreflightResult, type LocalLabPreflightSuccess, type LocalLabProviderKind, type LocalLabRoleConfig, type LocalLlmProviderConfig, MEMCORRECT_CORRECTION_ACCEPTANCE_RUBRIC, MEMCORRECT_CORRECTION_ACCEPTANCE_RUBRIC_VERSION, MEMCORRECT_STALE_HARM_RUBRIC, MEMCORRECT_STALE_HARM_RUBRIC_VERSION, MEMORY_EVAL_DIMENSIONS, MEMORY_EVAL_PUBLIC_LINE, MIN_CALIBRATION_SOURCE_TASKS, MITIGATED_BASELINE_SCENARIOS, type McpArgumentSemantic, type McpBackendErrorCode, type McpBackendResult, type McpBenchMemoryAdapter, type McpConformanceResult, type McpHttpTransportConfig, type McpListedTool, type McpMemCorrectAdapter, type McpMemoryAdapterOptions, McpMemoryBackendError, type McpMemoryToolMapping, type McpMemoryTransportConfig, type McpStdioTransportConfig, type McpToolCallResult, type McpToolClient, type McpToolMappingEntry, type McpToolMappingValue, type McpToolOperation, type Mem0AdapterConfig, Mem0MemCorrectAdapter, type MemCorrectGeneratorOptions, type MemCorrectJudgeRequest, type MemCorrectJudgeResult, type MemCorrectSystemAdapter, type MemoryEvalCategory, type MemoryEvalDimension, type MemoryEvalDimensionId, type MemoryEvalMetric, type MemoryGraph, type MemoryStats, type MemorySystem, type Message, type MetricAggregate, type MicroMetric, MissingCredentialError, type MitigatedBaselineConfig, type MitigatedTargetConfig, type MultipleChoiceQuestion, OPENAI_RESPONSES_JUDGE_RUBRIC_VERSION, OTHER_NAMESPACE_MEMORIES, type OllamaProviderConfig, type OpenAiCompatibleProviderConfig, OpenAiResponsesJudgeError, type OpenAiResponsesJudgeErrorCode, type OpenAiResponsesJudgeTelemetry, OpenAiResponsesProvider, type OpenAiResponsesProviderConfig, type OpenAiResponsesVerdict, type OpenAiResponsesVerdictResult, PROCEDURAL_REAL_SCENARIOS, PROCEDURAL_REAL_SCENARIOS_SMOKE, PUBLISHED_BENCHMARK_ARTIFACT_IDS, type PersonalizationRetrievalCase, type PreflightDiscoveredModel, type ProceduralAblationArtifact, type ProceduralAblationPerCase, type ProceduralAblationScenario, type ProceduralRealScenario, type ProceduralRealScenarioCategory, type ProviderBaseConfig, type ProviderConfig, type ProviderDiscoveryResult, type ProviderFactoryConfig, type PublishSkipReason, type PublishSkipRecord, type PublishedBenchmarkFeed, type PublishedBenchmarkFeedEntry, type PublishedBenchmarkId, REQUIRED_FRONTMATTER_FIELDS, type RecallMetrics, type RecoveredMemory, type RegressionDetail, type RegressionGateResult$1 as RegressionGateResult, type RemnicAdapterOptions, type ReportCardProvenanceContext, type ResolveBenchRuntimeProfileOptions, type ResolvedBenchRuntimeProfile, type ResolvedLocalLabProfile, type ResolvedLocalLabRole, type ResolvedRunBenchmarkOptions, type RotatedChoices, type RunBenchmarkOptions, type RunJudgeCalibrationOptions, type RunProceduralAblationCliArgs, type RunProceduralAblationOptions, type RunSequentialPhasesOptions, SCHEMA_TIER_FIXTURE, SCHEMA_TIER_SMOKE_FIXTURE, SEALED_PROMPT_REGISTRY, SINGLE_FLAG_ABLATION_MATRIX, SYNTHETIC_MEMORIES, type SanitizedDiagnosticProvider, type SavedBaseline, type SchemaTierCorpus, type SchemaTierFixture, type SchemaTierName, type SchemaTierPage, type SchemaTierPageFrontmatter, type SealedArtifact, type SealedJudgeDecision, type SealedJudgeInput, type SealedQrelsArtifact, type SealedQrelsHandle, type SealedRubric, type SearchResult, type SeededMemory, type SeededRng, type SequentialPhaseHooks, type SingleFlagAblationCell, type SingleFlagAblationId, type SpotCheckLogger, type StatisticalReport, type StructuredJudge, StructuredJudgeError, type StructuredJudgeErrorCode, type StructuredJudgeProvider, type StructuredJudgeTelemetry, type StructuredJudgeVerdict, type StructuredJudgeVerdictResult, type StructuredVerdictRequest, type SyntheticEdge, type SyntheticEmailIngestionAdapterOptions, type SyntheticFileIR, type SyntheticRepoConfig, type SyntheticSymbol, type SyntheticTargetOptions, type TaskResult, type TaskTokenUsage, type TemporalRetrievalCase, type ThirdPartyAdapterConfig, type TierDetail, type TimelineEntry, type TokenUsage, type WallMetric, type WriteBenchmarkArtifactResult, type ZepAdapterConfig, ZepMemCorrectAdapter, addContaminationEntry, aggregateTaskScores, answerBenchmarkQuestion, assertCanaryUnderFloor, assertIntegrityMetaPresent, assertPublishableIntegrity, assertSha256Hex, assistantMeetingPrepDefinition, assistantMorningBriefDefinition, assistantNextBestActionDefinition, assistantSynthesisDefinition, backlinkF1, binarizeJudgeScore, bootstrapCohensKappaConfidenceInterval, bootstrapMeanConfidenceInterval, buildAmaBenchDiagnosticMatrixArtifact, buildAmaBenchDiagnosticVariantSummary, buildAmaBenchLeaderboardRows, buildBaselineFromReport, buildBenchmarkArtifact, buildBenchmarkArtifactFilename, buildBenchmarkPublishFeed, buildBenchmarkReproManifest, buildBenchmarkRunSeeds, buildCodexCreditReceipt, buildJudgePayload, buildOracleTrajectoryRecall, buildSchemaTierFixture, buildSchemaTierSmokeFixture, calendarFixture, canonicalJsonStringify, captureMachineFingerprint, chatFixture, checkCodingGraphRegression, checkDatasetContamination, checkRegression, clampScore, cohensD, compareResults, computeCohensKappa, computeSealHash, containsAnswer, createSeededRng$1 as createAdamSeededRng, createAmaBenchDiagnosticAdapter, createAnthropicProvider, createCanaryAdapter, createClaudeCliProvider, createCodexCliProvider, createSeededRng as createCodingGraphSeededRng, createDeterministicSpotCheckLogger, createGatewayResponder, createLightweightAdapter, createLiteLlmProvider, createLocalLlmProvider, createMcpDemoMemCorrectAdapter, createMcpDemoMemoryAdapter, createMcpMemCorrectAdapter, createMcpMemoryAdapter, createMitigatedTarget, createOllamaProvider, createOpenAiCompatibleProvider, createOpenAiResponsesBenchJudge, createOpenAiResponsesProvider, createSeededRandom as createProceduralAblationSeededRandom, createProvider, createProviderBackedAmaBenchRecommendedJudge, createProviderBackedJudge, createProviderBackedResponder, createProviderBackedStructuredJudge, createRemnicAdapter, createResponderFromProvider, createSeededRng$2 as createSeededRng, createSpotCheckFileLogger, createStructuredBenchJudge, createStructuredJudgeFromProvider, createSyntheticEmailIngestionAdapter, createSyntheticTarget, createTimeoutGuardedAdapter, defaultBenchmarkBaselineDir, defaultBenchmarkPublishPath, deleteBenchmarkResults, diagnoseLoComoProfileDelta, diagnoseLoComoRecallDelta, discoverAllProviders, discoveryEndpointFor, emailFixture, entityRecall, exactMatch, extractMetrics as extractCodingGraphMetrics, extractMarkdownSectionsByTitle, f1Score, fixtureToAblationScenarios, formatHandoffNote, formatMissingDatasetError, generateReport, generateSyntheticRepo, getAblationCell, getBenchmark, getBenchmarkLowerIsBetter, getMemoryEvalDimension, getRemnicVersion, hashBenchmarkArtifact, hashBytes, hashCanonicalJson, hashString, integrityMetaIsComplete, interpretEffectSize, isAmaBenchUnknownLikeAnswer, isContaminationEntry, isContaminationManifest, isSealedQrelsArtifact, isSha256Hex, isStructuredJudgeProvider, judgeMemCorrectCorrectionAcceptance, judgeMemCorrectStaleMemoryHarm, linkMatches, listBenchmarkBaselines, listBenchmarkResults, listBenchmarks, listMemoryEvalBenchmarkIds, listMemoryEvalDimensions, llmJudgeScore, llmJudgeScoreDetailed, loadAblationFixture, loadBaseline, loadBeamDatasetPreview, loadBenchmarkArtifact, loadBenchmarkBaseline, loadBenchmarkReportCardProvenance, loadBenchmarkResult, loadCustomBenchmarkFile, loadJudgeCalibrationState, loadLoCoMo10, loadLocalLabManifest, loadLongMemEvalS, loadSealKeyFromEnv, loadSealedQrels, loadSealedRubric, matchEntity, mergeContaminationManifests, openSeal, orchestrateBenchmarkRuns, pairedDeltaConfidenceInterval, parseBenchmarkArtifact, parseCustomBenchmark, parseLocalLabManifest, parseRubricResponse, parseSealedQrels, pickStableQualifiedName, precisionAtK, preflightLocalLabRole, projectFolderFixture, recallAtK, reconcileCodexCreditLedger, redactBenchmarkResultSecrets, renderBaselineMarkdown, renderBenchmarkResultExport, renderLoComoProfileDeltaMarkdown, renderLoComoRecallDeltaMarkdown, renderMemorySummaryForJudge, renderMemoryViewForAgent, resolveAssistantAgent, resolveAssistantRubricId, resolveAssistantSeeds, resolveAssistantSpotCheckDir, resolveBenchRuntimeProfile, resolveBenchmarkPhaseTimeoutMs, resolveBenchmarkProgressLogging, resolveBenchmarkResultReference, resolveBenchmarkRunCount, resolveLocalLabProfile, resolveLocalLabRole, resolveStructuredJudge, rotateDistractors, rougeL, runAssistantBenchmark, runAssistantMeetingPrepBenchmark, runAssistantMorningBriefBenchmark, runAssistantNextBestActionBenchmark, runAssistantSynthesisBenchmark, runBaseline, runBenchSuite, runBenchmark, runCodingGraphBenchmark, runCustomBenchmarkFile, runExplain, runExtractionAttack, runJudgeCalibration, runMitigatedBaseline, runProceduralAblation, runProceduralAblationCli, runSealedJudge, runSequentialPhases, safeHexEqual, sanitizeLoComoResultReference, saveBaseline, saveBenchmarkBaseline, schemaCompleteness, sealPayload, selectAmaBenchDiagnosticVariants, selectCalibrationSlice, selectFixtureVariant, serializeBenchmarkArtifact, serializeJsonl, serializeSealedQrels, shuffleTasks, timed, verifyRubricDigest, writeBenchmarkArtifact, writeBenchmarkPublishFeed, writeBenchmarkReproManifest, writeBenchmarkResult, writeJudgeCalibrationState, writeLeaderboardArtifactsForResult, zeroScores };
|
package/dist/index.js
CHANGED
|
@@ -5509,6 +5509,7 @@ import { mkdir as mkdir2, open, readFile as readFile3, rename as rename2, rmdir,
|
|
|
5509
5509
|
import os from "os";
|
|
5510
5510
|
import path3 from "path";
|
|
5511
5511
|
var ONE_MILLION = 1e6;
|
|
5512
|
+
var CREDIT_EPSILON = 1e-9;
|
|
5512
5513
|
var MAX_BOUNDED_CALL_CREDITS = 300;
|
|
5513
5514
|
var SOL_MODEL = /^gpt-5\.6-sol$/i;
|
|
5514
5515
|
var CREDIT_RATES = [
|
|
@@ -5534,6 +5535,123 @@ var CodexCreditDispatchError = class extends Error {
|
|
|
5534
5535
|
this.name = "CodexCreditDispatchError";
|
|
5535
5536
|
}
|
|
5536
5537
|
};
|
|
5538
|
+
async function reconcileCodexCreditLedger(args) {
|
|
5539
|
+
if (args.originalBudgetBalanceConfirmed !== true) {
|
|
5540
|
+
throw new Error(
|
|
5541
|
+
"Codex credit reconciliation requires confirmation that the observed balance belongs to the ledger's original budget"
|
|
5542
|
+
);
|
|
5543
|
+
}
|
|
5544
|
+
if (args.noCreditsAddedOrRefundedConfirmed !== true) {
|
|
5545
|
+
throw new Error(
|
|
5546
|
+
"Codex credit reconciliation requires confirmation that no credits were added or refunded after the original budget was established"
|
|
5547
|
+
);
|
|
5548
|
+
}
|
|
5549
|
+
if (args.accountWideUnattributedChargeAccepted !== true) {
|
|
5550
|
+
throw new Error(
|
|
5551
|
+
"Codex credit reconciliation requires acknowledgment that all unexplained account activity will be charged as account-wide unattributed spend"
|
|
5552
|
+
);
|
|
5553
|
+
}
|
|
5554
|
+
if (!isSha256(args.priorLedgerSha256)) {
|
|
5555
|
+
throw new Error("priorLedgerSha256 must be a lowercase SHA-256 digest");
|
|
5556
|
+
}
|
|
5557
|
+
if (!Number.isFinite(args.observedRemainingCredits) || args.observedRemainingCredits < 0) {
|
|
5558
|
+
throw new Error("observedRemainingCredits must be a finite non-negative number");
|
|
5559
|
+
}
|
|
5560
|
+
const affectedRunId = parseRequiredRunId(args.affectedRunId, "affectedRunId");
|
|
5561
|
+
const ledgerPath = path3.resolve(expandHomeRelativePath(args.ledgerPath));
|
|
5562
|
+
const previous = completionQueue;
|
|
5563
|
+
let release;
|
|
5564
|
+
completionQueue = new Promise((resolve) => {
|
|
5565
|
+
release = resolve;
|
|
5566
|
+
});
|
|
5567
|
+
await previous;
|
|
5568
|
+
const lockPath = `${ledgerPath}.lock`;
|
|
5569
|
+
let lock;
|
|
5570
|
+
try {
|
|
5571
|
+
await mkdir2(path3.dirname(lockPath), { recursive: true, mode: 448 });
|
|
5572
|
+
lock = await acquireLedgerLock(lockPath);
|
|
5573
|
+
const contents = await readFile3(ledgerPath);
|
|
5574
|
+
const currentSha256 = sha256(contents);
|
|
5575
|
+
if (currentSha256 !== args.priorLedgerSha256) {
|
|
5576
|
+
throw new Error(
|
|
5577
|
+
`Codex credit ledger changed since operator observation: expected ${args.priorLedgerSha256}, found ${currentSha256}; obtain a fresh ledger hash and remaining balance`
|
|
5578
|
+
);
|
|
5579
|
+
}
|
|
5580
|
+
const ledger = parseLedger(JSON.parse(contents.toString("utf8")));
|
|
5581
|
+
if (!ledger.blockedReason) {
|
|
5582
|
+
throw new Error("Codex credit ledger is not blocked; reconciliation is not permitted");
|
|
5583
|
+
}
|
|
5584
|
+
if (args.observedRemainingCredits > ledger.budgetCredits) {
|
|
5585
|
+
throw new Error("observedRemainingCredits cannot exceed the ledger budget");
|
|
5586
|
+
}
|
|
5587
|
+
const rawUnattributedCredits = ledger.budgetCredits - args.observedRemainingCredits - ledger.spentCredits;
|
|
5588
|
+
if (!Number.isFinite(rawUnattributedCredits) || rawUnattributedCredits < -CREDIT_EPSILON) {
|
|
5589
|
+
throw new Error(
|
|
5590
|
+
"observedRemainingCredits implies less spend than the ledger already records; reconciliation refused"
|
|
5591
|
+
);
|
|
5592
|
+
}
|
|
5593
|
+
const unattributedCredits = Math.abs(rawUnattributedCredits) <= CREDIT_EPSILON ? 0 : rawUnattributedCredits;
|
|
5594
|
+
const observedSpentCredits = ledger.spentCredits + unattributedCredits;
|
|
5595
|
+
const at = (/* @__PURE__ */ new Date()).toISOString();
|
|
5596
|
+
const reconciliation = {
|
|
5597
|
+
at,
|
|
5598
|
+
basis: "operator-observed-original-budget-balance",
|
|
5599
|
+
attribution: "account-wide-unattributed",
|
|
5600
|
+
priorLedgerSha256: currentSha256,
|
|
5601
|
+
originalBudgetCredits: ledger.budgetCredits,
|
|
5602
|
+
priorRecordedSpentCredits: ledger.spentCredits,
|
|
5603
|
+
observedRemainingCredits: args.observedRemainingCredits,
|
|
5604
|
+
credits: normalizeZero(unattributedCredits),
|
|
5605
|
+
confirmations: {
|
|
5606
|
+
observedBalanceBelongsToOriginalBudget: true,
|
|
5607
|
+
noCreditsAddedOrRefunded: true,
|
|
5608
|
+
accountWideUnattributedChargeAccepted: true
|
|
5609
|
+
},
|
|
5610
|
+
affectedBlockedEvent: {
|
|
5611
|
+
runId: affectedRunId,
|
|
5612
|
+
blockedReason: ledger.blockedReason
|
|
5613
|
+
}
|
|
5614
|
+
};
|
|
5615
|
+
const nextLedger = {
|
|
5616
|
+
...ledger,
|
|
5617
|
+
spentCredits: observedSpentCredits,
|
|
5618
|
+
reconciliations: [...ledger.reconciliations ?? [], reconciliation],
|
|
5619
|
+
blockedReason: void 0
|
|
5620
|
+
};
|
|
5621
|
+
await writeLedger(ledgerPath, nextLedger);
|
|
5622
|
+
await writeLockState(lock, "settled");
|
|
5623
|
+
const nextContents = await readFile3(ledgerPath);
|
|
5624
|
+
return {
|
|
5625
|
+
schemaVersion: 1,
|
|
5626
|
+
priorLedgerSha256: currentSha256,
|
|
5627
|
+
ledgerSha256: sha256(nextContents),
|
|
5628
|
+
at,
|
|
5629
|
+
attribution: "account-wide-unattributed",
|
|
5630
|
+
affectedRunId,
|
|
5631
|
+
originalBudgetCredits: ledger.budgetCredits,
|
|
5632
|
+
priorRecordedSpentCredits: ledger.spentCredits,
|
|
5633
|
+
observedRemainingCredits: args.observedRemainingCredits,
|
|
5634
|
+
unattributedCredits: reconciliation.credits,
|
|
5635
|
+
totalSpentCredits: observedSpentCredits,
|
|
5636
|
+
totalRemainingCredits: args.observedRemainingCredits,
|
|
5637
|
+
affectedBlockedEventSha256: sha256(
|
|
5638
|
+
JSON.stringify(reconciliation.affectedBlockedEvent)
|
|
5639
|
+
)
|
|
5640
|
+
};
|
|
5641
|
+
} finally {
|
|
5642
|
+
try {
|
|
5643
|
+
if (lock) {
|
|
5644
|
+
try {
|
|
5645
|
+
await lock.close();
|
|
5646
|
+
} finally {
|
|
5647
|
+
await removeOwnedLedgerLock(lockPath);
|
|
5648
|
+
}
|
|
5649
|
+
}
|
|
5650
|
+
} finally {
|
|
5651
|
+
release();
|
|
5652
|
+
}
|
|
5653
|
+
}
|
|
5654
|
+
}
|
|
5537
5655
|
function resolveCodexCreditBudgetConfig(env = process.env, fallbackRunId) {
|
|
5538
5656
|
const rawBudget = env.REMNIC_BENCH_CODEX_CREDIT_BUDGET?.trim();
|
|
5539
5657
|
if (!rawBudget) return void 0;
|
|
@@ -5793,11 +5911,12 @@ async function buildCodexCreditReceipt(ledgerPath, runId) {
|
|
|
5793
5911
|
const contents = await readFile3(resolvedPath);
|
|
5794
5912
|
const ledger = parseLedger(JSON.parse(contents.toString("utf8")));
|
|
5795
5913
|
const normalizedRunId = parseOptionalRunId(runId);
|
|
5796
|
-
const
|
|
5914
|
+
const reconciliations = ledger.reconciliations ?? [];
|
|
5915
|
+
const cumulative = summarizeLedgerEntries(ledger.entries, reconciliations);
|
|
5797
5916
|
const runEntries = normalizedRunId ? ledger.entries.filter((entry) => entry.runId === normalizedRunId) : [];
|
|
5798
5917
|
return {
|
|
5799
5918
|
schemaVersion: 1,
|
|
5800
|
-
ledgerSha256:
|
|
5919
|
+
ledgerSha256: sha256(contents),
|
|
5801
5920
|
budgetCredits: ledger.budgetCredits,
|
|
5802
5921
|
reserveCredits: ledger.reserveCredits,
|
|
5803
5922
|
plannedSpendCeilingCredits: ledger.budgetCredits - ledger.reserveCredits,
|
|
@@ -5805,7 +5924,12 @@ async function buildCodexCreditReceipt(ledgerPath, runId) {
|
|
|
5805
5924
|
totalRemainingCredits: ledger.budgetCredits - ledger.spentCredits,
|
|
5806
5925
|
blocked: ledger.blockedReason !== void 0,
|
|
5807
5926
|
cumulative,
|
|
5808
|
-
...normalizedRunId ? {
|
|
5927
|
+
...normalizedRunId ? {
|
|
5928
|
+
run: {
|
|
5929
|
+
id: normalizedRunId,
|
|
5930
|
+
...summarizeLedgerEntries(runEntries)
|
|
5931
|
+
}
|
|
5932
|
+
} : {}
|
|
5809
5933
|
};
|
|
5810
5934
|
}
|
|
5811
5935
|
function resolveRate(model) {
|
|
@@ -5852,11 +5976,36 @@ function parseLedger(parsed) {
|
|
|
5852
5976
|
(sum, entry) => sum + (typeof entry?.credits === "number" ? entry.credits ?? 0 : 0),
|
|
5853
5977
|
0
|
|
5854
5978
|
) : Number.NaN;
|
|
5855
|
-
|
|
5979
|
+
const reconciliationCredits = parsed.reconciliations === void 0 ? 0 : Array.isArray(parsed.reconciliations) ? parsed.reconciliations.reduce(
|
|
5980
|
+
(sum, reconciliation) => sum + (typeof reconciliation?.credits === "number" ? reconciliation.credits ?? 0 : 0),
|
|
5981
|
+
0
|
|
5982
|
+
) : Number.NaN;
|
|
5983
|
+
if (parsed.schemaVersion !== 1 || typeof parsed.budgetCredits !== "number" || !Number.isFinite(parsed.budgetCredits) || parsed.budgetCredits <= 0 || typeof parsed.reserveCredits !== "number" || !Number.isFinite(parsed.reserveCredits) || parsed.reserveCredits < 0 || parsed.reserveCredits >= parsed.budgetCredits || typeof parsed.spentCredits !== "number" || !Number.isFinite(parsed.spentCredits) || parsed.spentCredits < 0 || !Array.isArray(parsed.entries) || !parsed.entries.every(isLedgerEntry) || parsed.reconciliations !== void 0 && (!Array.isArray(parsed.reconciliations) || !parsed.reconciliations.every(
|
|
5984
|
+
(reconciliation) => isLedgerReconciliationWithinBudget(reconciliation, parsed.budgetCredits)
|
|
5985
|
+
)) || Math.abs(entryCredits + reconciliationCredits - parsed.spentCredits) > 1e-9 || parsed.blockedReason !== void 0 && typeof parsed.blockedReason !== "string") {
|
|
5856
5986
|
throw new Error("ledger schema is invalid");
|
|
5857
5987
|
}
|
|
5858
5988
|
return parsed;
|
|
5859
5989
|
}
|
|
5990
|
+
function isLedgerReconciliation(value) {
|
|
5991
|
+
if (!value || typeof value !== "object") return false;
|
|
5992
|
+
const candidate = value;
|
|
5993
|
+
const forbiddenUsageFields = [
|
|
5994
|
+
"runId",
|
|
5995
|
+
"unknownEvent",
|
|
5996
|
+
"model",
|
|
5997
|
+
"inputTokens",
|
|
5998
|
+
"cachedInputTokens",
|
|
5999
|
+
"outputTokens",
|
|
6000
|
+
"reasoningOutputTokens"
|
|
6001
|
+
];
|
|
6002
|
+
return forbiddenUsageFields.every((field) => !Object.prototype.hasOwnProperty.call(candidate, field)) && isIsoTimestamp(candidate.at) && candidate.basis === "operator-observed-original-budget-balance" && candidate.attribution === "account-wide-unattributed" && isSha256(candidate.priorLedgerSha256) && typeof candidate.originalBudgetCredits === "number" && Number.isFinite(candidate.originalBudgetCredits) && candidate.originalBudgetCredits > 0 && typeof candidate.priorRecordedSpentCredits === "number" && Number.isFinite(candidate.priorRecordedSpentCredits) && candidate.priorRecordedSpentCredits >= 0 && typeof candidate.observedRemainingCredits === "number" && Number.isFinite(candidate.observedRemainingCredits) && candidate.observedRemainingCredits >= 0 && typeof candidate.credits === "number" && Number.isFinite(candidate.credits) && candidate.credits >= 0 && candidate.confirmations?.observedBalanceBelongsToOriginalBudget === true && candidate.confirmations.noCreditsAddedOrRefunded === true && candidate.confirmations.accountWideUnattributedChargeAccepted === true && isValidStoredRunId(candidate.affectedBlockedEvent?.runId) && typeof candidate.affectedBlockedEvent?.blockedReason === "string" && candidate.affectedBlockedEvent.blockedReason.length > 0;
|
|
6003
|
+
}
|
|
6004
|
+
function isLedgerReconciliationWithinBudget(value, budget) {
|
|
6005
|
+
return typeof budget === "number" && isLedgerReconciliation(value) && value.originalBudgetCredits === budget && value.observedRemainingCredits <= budget && value.credits <= budget && Math.abs(
|
|
6006
|
+
value.priorRecordedSpentCredits + value.credits + value.observedRemainingCredits - budget
|
|
6007
|
+
) <= 1e-9;
|
|
6008
|
+
}
|
|
5860
6009
|
function isLedgerEntry(entry) {
|
|
5861
6010
|
if (!entry || typeof entry !== "object") return false;
|
|
5862
6011
|
const candidate = entry;
|
|
@@ -5869,7 +6018,7 @@ function isEntryCreditConsistent(entry) {
|
|
|
5869
6018
|
return false;
|
|
5870
6019
|
}
|
|
5871
6020
|
}
|
|
5872
|
-
function summarizeLedgerEntries(entries) {
|
|
6021
|
+
function summarizeLedgerEntries(entries, reconciliations = []) {
|
|
5873
6022
|
const byModel = /* @__PURE__ */ new Map();
|
|
5874
6023
|
for (const entry of entries) {
|
|
5875
6024
|
const modelEntries = byModel.get(entry.model) ?? [];
|
|
@@ -5879,7 +6028,12 @@ function summarizeLedgerEntries(entries) {
|
|
|
5879
6028
|
const totals = summarizeUsage(entries);
|
|
5880
6029
|
return {
|
|
5881
6030
|
calls: entries.length,
|
|
5882
|
-
credits: entries.reduce((sum, entry) => sum + entry.credits, 0),
|
|
6031
|
+
credits: entries.reduce((sum, entry) => sum + entry.credits, 0) + reconciliations.reduce((sum, reconciliation) => sum + reconciliation.credits, 0),
|
|
6032
|
+
unattributedReconciliationCount: reconciliations.length,
|
|
6033
|
+
unattributedReconciledCredits: reconciliations.reduce(
|
|
6034
|
+
(sum, reconciliation) => sum + reconciliation.credits,
|
|
6035
|
+
0
|
|
6036
|
+
),
|
|
5883
6037
|
...totals,
|
|
5884
6038
|
models: [...byModel.entries()].sort(([left], [right]) => left.localeCompare(right)).map(([model, modelEntries]) => ({
|
|
5885
6039
|
model,
|
|
@@ -5958,6 +6112,30 @@ function hasControlCharacters(value) {
|
|
|
5958
6112
|
}
|
|
5959
6113
|
return false;
|
|
5960
6114
|
}
|
|
6115
|
+
function parseRequiredRunId(value, name) {
|
|
6116
|
+
const runId = value?.trim();
|
|
6117
|
+
if (!runId || !isValidStoredRunId(runId)) {
|
|
6118
|
+
throw new Error(`${name} must be 1 to 128 trimmed characters without control characters`);
|
|
6119
|
+
}
|
|
6120
|
+
return runId;
|
|
6121
|
+
}
|
|
6122
|
+
function isSha256(value) {
|
|
6123
|
+
return typeof value === "string" && /^[a-f0-9]{64}$/.test(value);
|
|
6124
|
+
}
|
|
6125
|
+
function sha256(value) {
|
|
6126
|
+
return createHash3("sha256").update(value).digest("hex");
|
|
6127
|
+
}
|
|
6128
|
+
function normalizeZero(value) {
|
|
6129
|
+
return Object.is(value, -0) ? 0 : value;
|
|
6130
|
+
}
|
|
6131
|
+
function isIsoTimestamp(value) {
|
|
6132
|
+
if (typeof value !== "string") return false;
|
|
6133
|
+
try {
|
|
6134
|
+
return new Date(value).toISOString() === value;
|
|
6135
|
+
} catch {
|
|
6136
|
+
return false;
|
|
6137
|
+
}
|
|
6138
|
+
}
|
|
5961
6139
|
|
|
5962
6140
|
// src/results-store.ts
|
|
5963
6141
|
import { mkdir as mkdir3, readdir as readdir3, readFile as readFile4, unlink as unlink3, writeFile as writeFile3 } from "fs/promises";
|
|
@@ -14553,6 +14731,8 @@ function resolveOpenClawRemnicPluginEntry(raw) {
|
|
|
14553
14731
|
}
|
|
14554
14732
|
var REDACTED_CONFIG_VALUE = "[redacted]";
|
|
14555
14733
|
var INTERNAL_GATEWAY_AGENT_ID = "remnic-bench-internal";
|
|
14734
|
+
var DEFAULT_CODEX_CLI_REQUEST_TIMEOUT_MS = 18e4;
|
|
14735
|
+
var DEFAULT_CODEX_CLI_DRAIN_TIMEOUT_MS = 6e5;
|
|
14556
14736
|
var codexCliFallbackRegistered = false;
|
|
14557
14737
|
var codexCliFallbackChain = Promise.resolve();
|
|
14558
14738
|
async function resolveBenchRuntimeProfile(options) {
|
|
@@ -14606,8 +14786,11 @@ async function resolveBenchRuntimeProfile(options) {
|
|
|
14606
14786
|
{ disableThinking: options.internalDisableThinking === true }
|
|
14607
14787
|
);
|
|
14608
14788
|
const lcmObserveConcurrencyOverrides = buildLcmObserveConcurrencyOverrides(options.lcmObserveConcurrency);
|
|
14789
|
+
const usesImplicitCodexRequestTimeout = options.requestTimeout === void 0 && [systemProvider, judgeProvider, internalProvider].some(
|
|
14790
|
+
(config) => config?.provider === "codex-cli"
|
|
14791
|
+
);
|
|
14609
14792
|
const drainTimeoutMs = normalizeDrainTimeoutMs2(
|
|
14610
|
-
options.drainTimeout ?? options.requestTimeout
|
|
14793
|
+
options.drainTimeout ?? options.requestTimeout ?? (usesImplicitCodexRequestTimeout ? DEFAULT_CODEX_CLI_DRAIN_TIMEOUT_MS : void 0)
|
|
14611
14794
|
);
|
|
14612
14795
|
registerCodexCliFallbackRunnerIfNeeded(internalProvider);
|
|
14613
14796
|
const responderFactoryConfig = systemProvider ? asProviderFactoryConfig(systemProvider) : void 0;
|
|
@@ -14819,6 +15002,7 @@ function resolveProviderConfig(kind, provider, model, baseUrl, requestTimeout, d
|
|
|
14819
15002
|
`${kind} Codex reasoning effort requires provider "codex-cli"`
|
|
14820
15003
|
);
|
|
14821
15004
|
}
|
|
15005
|
+
const providerRequestTimeoutMs = requestTimeout === void 0 && provider === "codex-cli" ? DEFAULT_CODEX_CLI_REQUEST_TIMEOUT_MS : void 0;
|
|
14822
15006
|
return {
|
|
14823
15007
|
provider,
|
|
14824
15008
|
model: resolvedModel.trim(),
|
|
@@ -14829,6 +15013,7 @@ function resolveProviderConfig(kind, provider, model, baseUrl, requestTimeout, d
|
|
|
14829
15013
|
...requestTimeout != null ? { timeoutMs: requestTimeout } : {},
|
|
14830
15014
|
...max429WaitMs != null ? { max429WaitMs } : {}
|
|
14831
15015
|
} } : {},
|
|
15016
|
+
...providerRequestTimeoutMs !== void 0 ? { providerRequestTimeoutMs } : {},
|
|
14832
15017
|
...disableThinking ? { disableThinking: true } : {},
|
|
14833
15018
|
...provider === "codex-cli" ? { reasoningEffort: reasoningEffort ?? "xhigh" } : {},
|
|
14834
15019
|
...responderContextBudgetChars !== void 0 ? { responderContextBudgetChars } : {},
|
|
@@ -14884,13 +15069,14 @@ function buildInternalRemnicConfigOverrides(config, options) {
|
|
|
14884
15069
|
...config.retryOptions?.timeoutMs ? { localLlmTimeoutMs: config.retryOptions.timeoutMs } : {}
|
|
14885
15070
|
};
|
|
14886
15071
|
}
|
|
15072
|
+
const providerTimeoutMs = config.retryOptions?.timeoutMs ?? config.providerRequestTimeoutMs;
|
|
14887
15073
|
return {
|
|
14888
15074
|
...thinkingOverrides,
|
|
14889
15075
|
modelSource: "gateway",
|
|
14890
15076
|
localLlmEnabled: false,
|
|
14891
|
-
...
|
|
14892
|
-
localLlmTimeoutMs:
|
|
14893
|
-
localLlmFastTimeoutMs:
|
|
15077
|
+
...providerTimeoutMs ? {
|
|
15078
|
+
localLlmTimeoutMs: providerTimeoutMs,
|
|
15079
|
+
localLlmFastTimeoutMs: providerTimeoutMs
|
|
14894
15080
|
} : {},
|
|
14895
15081
|
gatewayConfig: buildInternalGatewayConfig(config, options),
|
|
14896
15082
|
gatewayAgentId: INTERNAL_GATEWAY_AGENT_ID,
|
|
@@ -14900,7 +15086,7 @@ function buildInternalRemnicConfigOverrides(config, options) {
|
|
|
14900
15086
|
function buildInternalGatewayConfig(config, options) {
|
|
14901
15087
|
const providerId = INTERNAL_GATEWAY_AGENT_ID;
|
|
14902
15088
|
const modelRef = `${providerId}/${config.model}`;
|
|
14903
|
-
const timeoutMs = config.retryOptions?.timeoutMs;
|
|
15089
|
+
const timeoutMs = config.retryOptions?.timeoutMs ?? config.providerRequestTimeoutMs;
|
|
14904
15090
|
return {
|
|
14905
15091
|
agents: {
|
|
14906
15092
|
defaults: {
|
|
@@ -15086,12 +15272,16 @@ function createAssistantAgentFromResponder2(responder) {
|
|
|
15086
15272
|
};
|
|
15087
15273
|
}
|
|
15088
15274
|
function asProviderFactoryConfig(config) {
|
|
15275
|
+
const retryOptions = config.retryOptions || config.providerRequestTimeoutMs !== void 0 ? {
|
|
15276
|
+
...config.retryOptions,
|
|
15277
|
+
...config.retryOptions?.timeoutMs === void 0 && config.providerRequestTimeoutMs !== void 0 ? { timeoutMs: config.providerRequestTimeoutMs } : {}
|
|
15278
|
+
} : void 0;
|
|
15089
15279
|
return {
|
|
15090
15280
|
provider: config.provider,
|
|
15091
15281
|
model: config.model,
|
|
15092
15282
|
...config.baseUrl ? { baseUrl: config.baseUrl } : {},
|
|
15093
15283
|
...config.apiKey ? { apiKey: config.apiKey } : {},
|
|
15094
|
-
...
|
|
15284
|
+
...retryOptions ? { retryOptions } : {},
|
|
15095
15285
|
...config.disableThinking ? { disableThinking: config.disableThinking } : {},
|
|
15096
15286
|
...config.reasoningEffort ? { reasoningEffort: config.reasoningEffort } : {},
|
|
15097
15287
|
...config.temperature !== void 0 ? { temperature: config.temperature } : {},
|
|
@@ -32094,9 +32284,9 @@ function loadSealedRubric(id = DEFAULT_ASSISTANT_RUBRIC_ID, options = {}) {
|
|
|
32094
32284
|
if (typeof prompt !== "string" || prompt.length === 0) {
|
|
32095
32285
|
throw new Error(`sealed rubric not found in registry: ${id}`);
|
|
32096
32286
|
}
|
|
32097
|
-
const
|
|
32287
|
+
const sha2563 = createHash9("sha256").update(prompt, "utf8").digest("hex");
|
|
32098
32288
|
const version = parseVersionFromId(id);
|
|
32099
|
-
return { id, version, prompt, sha256 };
|
|
32289
|
+
return { id, version, prompt, sha256: sha2563 };
|
|
32100
32290
|
}
|
|
32101
32291
|
function verifyRubricDigest(expectedSha256, options = {}) {
|
|
32102
32292
|
const rubric = loadSealedRubric(options.id, { registry: options.registry });
|
|
@@ -38030,6 +38220,523 @@ function formatSignedScore(value) {
|
|
|
38030
38220
|
return `${value >= 0 ? "+" : ""}${formatScore(value)}`;
|
|
38031
38221
|
}
|
|
38032
38222
|
|
|
38223
|
+
// src/stats/locomo-recall-delta.ts
|
|
38224
|
+
import { createHash as createHash13 } from "crypto";
|
|
38225
|
+
import { basename } from "path";
|
|
38226
|
+
var LOCOMO_FULL_TASK_COUNT = 1986;
|
|
38227
|
+
var LOCOMO_RECALL_EXCERPT_CHARS = 240;
|
|
38228
|
+
var LOCOMO_RECALL_DIFF_LINE_LIMIT = 20;
|
|
38229
|
+
var LOCOMO_CATEGORY_ORDER2 = ["single_hop", "multi_hop", "temporal", "open_domain", "adversarial"];
|
|
38230
|
+
var LOCOMO_TASK_CATEGORY_PATTERN2 = /-(single_hop|multi_hop|temporal|open_domain|adversarial)$/;
|
|
38231
|
+
var SOURCE_TURN_PATTERN = /^\[([^,\]\s]+),\s*turn\s+(\d+),\s*([^,\]]+?)(?:,\s*score\s+[^\]]+)?\]/i;
|
|
38232
|
+
var SHA256_PATTERN = /^[a-f0-9]{64}$/;
|
|
38233
|
+
function sanitizeLoComoResultReference(path40) {
|
|
38234
|
+
const reference = basename(path40).replace(/[\u0000-\u001f\u007f`]/g, "_");
|
|
38235
|
+
if (!reference) throw new Error("Result path must identify a file.");
|
|
38236
|
+
return reference;
|
|
38237
|
+
}
|
|
38238
|
+
function diagnoseLoComoRecallDelta(options) {
|
|
38239
|
+
const primaryMetric2 = options.primaryMetric ?? "llm_judge";
|
|
38240
|
+
const maxRegressions = parseNonNegativeInteger(options.maxRegressions ?? 20, "maxRegressions");
|
|
38241
|
+
assertEvidenceEnvelope(options.baseline, "baseline");
|
|
38242
|
+
assertEvidenceEnvelope(options.real, "real");
|
|
38243
|
+
assertCompleteResult(options.baseline.result, "baseline");
|
|
38244
|
+
assertCompleteResult(options.real.result, "real");
|
|
38245
|
+
assertComparableResults(options.baseline.result, options.real.result);
|
|
38246
|
+
const joined = joinTasks2(options.baseline.result, options.real.result);
|
|
38247
|
+
assertMetricSets(joined, primaryMetric2);
|
|
38248
|
+
verifyAggregateMeans(options.baseline.result, joined, "baseline");
|
|
38249
|
+
verifyAggregateMeans(options.real.result, joined, "real");
|
|
38250
|
+
const overall = summarizeMetric(joined, primaryMetric2);
|
|
38251
|
+
const categories = [...new Set(joined.map((task) => task.category))].sort(compareLoComoCategories2).map((category) => {
|
|
38252
|
+
const tasks = joined.filter((task) => task.category === category);
|
|
38253
|
+
return {
|
|
38254
|
+
category,
|
|
38255
|
+
taskCount: tasks.length,
|
|
38256
|
+
...summarizeMetric(tasks, primaryMetric2)
|
|
38257
|
+
};
|
|
38258
|
+
});
|
|
38259
|
+
const topRegressions = joined.map((task) => buildRegression(task, primaryMetric2, LOCOMO_RECALL_EXCERPT_CHARS, LOCOMO_RECALL_DIFF_LINE_LIMIT)).filter((task) => task.delta < 0).sort((left, right) => left.delta - right.delta || compareStrings(left.taskId, right.taskId)).slice(0, maxRegressions);
|
|
38260
|
+
return {
|
|
38261
|
+
schemaVersion: 1,
|
|
38262
|
+
benchmarkId: "locomo",
|
|
38263
|
+
comparison: {
|
|
38264
|
+
baseline: buildProvenance(options.baseline, "baseline", joined, "baseline"),
|
|
38265
|
+
real: buildProvenance(options.real, "real", joined, "real")
|
|
38266
|
+
},
|
|
38267
|
+
taskCount: joined.length,
|
|
38268
|
+
primaryMetric: primaryMetric2,
|
|
38269
|
+
overall,
|
|
38270
|
+
categories,
|
|
38271
|
+
topRegressions,
|
|
38272
|
+
evidenceBoundary: {
|
|
38273
|
+
finalContextComparison: "complete",
|
|
38274
|
+
retrievalTierAttribution: "unavailable-in-cached-results",
|
|
38275
|
+
hiddenEvidenceUsed: false,
|
|
38276
|
+
explanation: "Cached BenchmarkResult files preserve the final transformed recall context, but not pre-transform candidates, section provenance, filter traces, or served-by tiers."
|
|
38277
|
+
}
|
|
38278
|
+
};
|
|
38279
|
+
}
|
|
38280
|
+
function renderLoComoRecallDeltaMarkdown(report) {
|
|
38281
|
+
const lines = [
|
|
38282
|
+
"# LoCoMo paired final-context diagnosis",
|
|
38283
|
+
"",
|
|
38284
|
+
`Joined ${report.taskCount} complete paired tasks. The primary metric is \`${report.primaryMetric}\` (real minus baseline).`,
|
|
38285
|
+
"",
|
|
38286
|
+
"| Category | Tasks | Baseline | Real | Delta | Wins | Losses | Ties |",
|
|
38287
|
+
"|---|---:|---:|---:|---:|---:|---:|---:|"
|
|
38288
|
+
];
|
|
38289
|
+
for (const category of report.categories) {
|
|
38290
|
+
lines.push(
|
|
38291
|
+
`| ${escapeMarkdownCell(category.category)} | ${category.taskCount} | ${formatScore2(category.baselineMean)} | ${formatScore2(category.realMean)} | ${formatSignedScore2(category.delta)} | ${category.wins} | ${category.losses} | ${category.ties} |`
|
|
38292
|
+
);
|
|
38293
|
+
}
|
|
38294
|
+
lines.push(
|
|
38295
|
+
`| **Overall** | **${report.taskCount}** | **${formatScore2(report.overall.baselineMean)}** | **${formatScore2(report.overall.realMean)}** | **${formatSignedScore2(report.overall.delta)}** | **${report.overall.wins}** | **${report.overall.losses}** | **${report.overall.ties}** |`,
|
|
38296
|
+
"",
|
|
38297
|
+
"## Highest-priority final-context regressions",
|
|
38298
|
+
""
|
|
38299
|
+
);
|
|
38300
|
+
for (const task of report.topRegressions) {
|
|
38301
|
+
lines.push(
|
|
38302
|
+
`### ${escapeMarkdownCell(task.taskId)}`,
|
|
38303
|
+
"",
|
|
38304
|
+
`Category: \`${task.category}\`; baseline ${formatScore2(task.baselineScore)}, real ${formatScore2(task.realScore)}, delta ${formatSignedScore2(task.delta)}.`,
|
|
38305
|
+
"",
|
|
38306
|
+
`Recall: baseline ${task.baseline.recall.charCount} chars (expected-token coverage ${formatScore2(task.baseline.recall.expectedTokenCoverage)}), real ${task.real.recall.charCount} chars (coverage ${formatScore2(task.real.recall.expectedTokenCoverage)}).`,
|
|
38307
|
+
"",
|
|
38308
|
+
`Displaced lines: ${task.displacedLines.totalCount}; introduced lines: ${task.introducedLines.totalCount}.`,
|
|
38309
|
+
""
|
|
38310
|
+
);
|
|
38311
|
+
const displaced = task.displacedLines.lines[0];
|
|
38312
|
+
if (displaced) {
|
|
38313
|
+
lines.push(
|
|
38314
|
+
`- Baseline-only evidence: ${escapeMarkdownCell(displaced.excerpt)} (sha256 \`${displaced.sha256}\`)`
|
|
38315
|
+
);
|
|
38316
|
+
}
|
|
38317
|
+
const introduced = task.introducedLines.lines[0];
|
|
38318
|
+
if (introduced) {
|
|
38319
|
+
lines.push(
|
|
38320
|
+
`- Real-only evidence: ${escapeMarkdownCell(introduced.excerpt)} (sha256 \`${introduced.sha256}\`)`
|
|
38321
|
+
);
|
|
38322
|
+
}
|
|
38323
|
+
if (displaced || introduced) lines.push("");
|
|
38324
|
+
}
|
|
38325
|
+
lines.push(
|
|
38326
|
+
"## Evidence boundary",
|
|
38327
|
+
"",
|
|
38328
|
+
"The final responder contexts are compared completely by hash, length, headings, source references, and bounded line-difference receipts. Retrieval-tier attribution is unavailable because the cached results do not preserve served-by or candidate traces. Hidden `details.evidence` metadata is not read or emitted.",
|
|
38329
|
+
"",
|
|
38330
|
+
`Baseline: \`${report.comparison.baseline.reference}\` (sha256 \`${report.comparison.baseline.sha256}\`)`,
|
|
38331
|
+
"",
|
|
38332
|
+
`Real: \`${report.comparison.real.reference}\` (sha256 \`${report.comparison.real.sha256}\`)`,
|
|
38333
|
+
""
|
|
38334
|
+
);
|
|
38335
|
+
return `${lines.join("\n")}
|
|
38336
|
+
`;
|
|
38337
|
+
}
|
|
38338
|
+
function assertEvidenceEnvelope(evidence, label) {
|
|
38339
|
+
if (!evidence.reference.trim()) {
|
|
38340
|
+
throw new Error(`${label} result reference must not be empty.`);
|
|
38341
|
+
}
|
|
38342
|
+
if (!SHA256_PATTERN.test(evidence.sha256)) {
|
|
38343
|
+
throw new Error(`${label} result sha256 must be 64 lowercase hexadecimal characters.`);
|
|
38344
|
+
}
|
|
38345
|
+
}
|
|
38346
|
+
function assertCompleteResult(result, label) {
|
|
38347
|
+
if (result.meta.benchmark !== "locomo") {
|
|
38348
|
+
throw new Error(`${label} result must be a locomo benchmark result.`);
|
|
38349
|
+
}
|
|
38350
|
+
if (result.meta.mode !== "full" || result.meta.status === "partial") {
|
|
38351
|
+
throw new Error(`${label} result must be a complete full-mode run.`);
|
|
38352
|
+
}
|
|
38353
|
+
if (!result.config.systemProvider || !result.config.judgeProvider) {
|
|
38354
|
+
throw new Error(`${label} result must identify both system and judge providers.`);
|
|
38355
|
+
}
|
|
38356
|
+
const limit = result.config.benchmarkOptions?.limit;
|
|
38357
|
+
const trialLimit = result.config.benchmarkOptions?.trialLimit;
|
|
38358
|
+
if (limit !== void 0 || trialLimit !== void 0) {
|
|
38359
|
+
throw new Error(`${label} result is limited and cannot be used as complete evidence.`);
|
|
38360
|
+
}
|
|
38361
|
+
if (result.results.tasks.length !== LOCOMO_FULL_TASK_COUNT) {
|
|
38362
|
+
throw new Error(
|
|
38363
|
+
`${label} result must contain exactly ${LOCOMO_FULL_TASK_COUNT} tasks; got ${result.results.tasks.length}.`
|
|
38364
|
+
);
|
|
38365
|
+
}
|
|
38366
|
+
for (const task of result.results.tasks) {
|
|
38367
|
+
const details = asRecord(task.details);
|
|
38368
|
+
const failure = details?.benchmarkFailure;
|
|
38369
|
+
const legacyError = details?.error;
|
|
38370
|
+
if (failure !== void 0 && failure !== null || typeof legacyError === "string" && legacyError.length > 0) {
|
|
38371
|
+
throw new Error(`${label} result contains failed task ${JSON.stringify(task.taskId)}.`);
|
|
38372
|
+
}
|
|
38373
|
+
}
|
|
38374
|
+
}
|
|
38375
|
+
function assertComparableResults(baseline, real) {
|
|
38376
|
+
if (baseline.config.runtimeProfile !== "baseline") {
|
|
38377
|
+
throw new Error('baseline result runtimeProfile must be "baseline".');
|
|
38378
|
+
}
|
|
38379
|
+
if (real.config.runtimeProfile !== "real") {
|
|
38380
|
+
throw new Error('real result runtimeProfile must be "real".');
|
|
38381
|
+
}
|
|
38382
|
+
const checks = [
|
|
38383
|
+
["meta.version", baseline.meta.version, real.meta.version],
|
|
38384
|
+
["meta.remnicVersion", baseline.meta.remnicVersion, real.meta.remnicVersion],
|
|
38385
|
+
["meta.gitSha", baseline.meta.gitSha, real.meta.gitSha],
|
|
38386
|
+
["meta.runCount", baseline.meta.runCount, real.meta.runCount],
|
|
38387
|
+
["meta.seeds", baseline.meta.seeds, real.meta.seeds],
|
|
38388
|
+
["meta.datasetHash", baseline.meta.datasetHash ?? null, real.meta.datasetHash ?? null],
|
|
38389
|
+
["config.adapterMode", baseline.config.adapterMode, real.config.adapterMode],
|
|
38390
|
+
[
|
|
38391
|
+
"config.systemProvider",
|
|
38392
|
+
providerIdentity(baseline.config.systemProvider),
|
|
38393
|
+
providerIdentity(real.config.systemProvider)
|
|
38394
|
+
],
|
|
38395
|
+
[
|
|
38396
|
+
"config.judgeProvider",
|
|
38397
|
+
providerIdentity(baseline.config.judgeProvider),
|
|
38398
|
+
providerIdentity(real.config.judgeProvider)
|
|
38399
|
+
],
|
|
38400
|
+
[
|
|
38401
|
+
"config.internalProvider",
|
|
38402
|
+
providerIdentity(baseline.config.internalProvider),
|
|
38403
|
+
providerIdentity(real.config.internalProvider)
|
|
38404
|
+
]
|
|
38405
|
+
];
|
|
38406
|
+
for (const [field, baselineValue, realValue] of checks) {
|
|
38407
|
+
if (stableJson(baselineValue) !== stableJson(realValue)) {
|
|
38408
|
+
throw new Error(
|
|
38409
|
+
`Results are not comparable: ${field} differs (${stableJson(baselineValue)} vs ${stableJson(realValue)}).`
|
|
38410
|
+
);
|
|
38411
|
+
}
|
|
38412
|
+
}
|
|
38413
|
+
}
|
|
38414
|
+
function joinTasks2(baseline, real) {
|
|
38415
|
+
const baselineTasks = indexTasks2(baseline.results.tasks, "baseline");
|
|
38416
|
+
const realTasks = indexTasks2(real.results.tasks, "real");
|
|
38417
|
+
const missingFromReal = [...baselineTasks.keys()].filter((id) => !realTasks.has(id)).sort(compareStrings);
|
|
38418
|
+
const missingFromBaseline = [...realTasks.keys()].filter((id) => !baselineTasks.has(id)).sort(compareStrings);
|
|
38419
|
+
if (missingFromReal.length > 0 || missingFromBaseline.length > 0) {
|
|
38420
|
+
throw new Error(
|
|
38421
|
+
`Results do not contain identical task-id sets: ${missingFromReal.length} missing from real, ${missingFromBaseline.length} missing from baseline.`
|
|
38422
|
+
);
|
|
38423
|
+
}
|
|
38424
|
+
return [...baselineTasks.keys()].sort(compareStrings).map((taskId) => {
|
|
38425
|
+
const baselineTask = baselineTasks.get(taskId);
|
|
38426
|
+
const realTask = realTasks.get(taskId);
|
|
38427
|
+
if (!baselineTask || !realTask) {
|
|
38428
|
+
throw new Error(`Task ${JSON.stringify(taskId)} disappeared during the validated join.`);
|
|
38429
|
+
}
|
|
38430
|
+
for (const [field, baselineValue, realValue] of [
|
|
38431
|
+
["question", baselineTask.question, realTask.question],
|
|
38432
|
+
["expected", baselineTask.expected, realTask.expected]
|
|
38433
|
+
]) {
|
|
38434
|
+
if (baselineValue !== realValue) {
|
|
38435
|
+
throw new Error(`Task ${JSON.stringify(taskId)} has mismatched ${field} payloads.`);
|
|
38436
|
+
}
|
|
38437
|
+
}
|
|
38438
|
+
const baselineCategory = resolveCategory2(baselineTask);
|
|
38439
|
+
const realCategory = resolveCategory2(realTask);
|
|
38440
|
+
if (baselineCategory !== realCategory) {
|
|
38441
|
+
throw new Error(`Task ${JSON.stringify(taskId)} has mismatched categories.`);
|
|
38442
|
+
}
|
|
38443
|
+
return { taskId, category: baselineCategory, baseline: baselineTask, real: realTask };
|
|
38444
|
+
});
|
|
38445
|
+
}
|
|
38446
|
+
function indexTasks2(tasks, label) {
|
|
38447
|
+
const result = /* @__PURE__ */ new Map();
|
|
38448
|
+
for (const task of tasks) {
|
|
38449
|
+
if (!task.taskId || result.has(task.taskId)) {
|
|
38450
|
+
throw new Error(`${label} result contains duplicate or empty task id ${JSON.stringify(task.taskId)}.`);
|
|
38451
|
+
}
|
|
38452
|
+
if (!task.question || !task.expected) {
|
|
38453
|
+
throw new Error(`${label} task ${JSON.stringify(task.taskId)} has an empty question or expected answer.`);
|
|
38454
|
+
}
|
|
38455
|
+
const recalledText = asRecord(task.details)?.recalledText;
|
|
38456
|
+
if (typeof recalledText !== "string") {
|
|
38457
|
+
throw new Error(`${label} task ${JSON.stringify(task.taskId)} has no final recalledText.`);
|
|
38458
|
+
}
|
|
38459
|
+
result.set(task.taskId, task);
|
|
38460
|
+
}
|
|
38461
|
+
return result;
|
|
38462
|
+
}
|
|
38463
|
+
function assertMetricSets(joined, primaryMetric2) {
|
|
38464
|
+
const first = joined[0];
|
|
38465
|
+
if (!first) throw new Error("Cannot validate metric sets for an empty paired result.");
|
|
38466
|
+
const expectedMetrics = Object.keys(first.baseline.scores).sort(compareStrings);
|
|
38467
|
+
for (const task of joined) {
|
|
38468
|
+
const baselineMetrics = Object.keys(task.baseline.scores).sort(compareStrings);
|
|
38469
|
+
const realMetrics = Object.keys(task.real.scores).sort(compareStrings);
|
|
38470
|
+
if (stableJson(baselineMetrics) !== stableJson(realMetrics)) {
|
|
38471
|
+
throw new Error(`Task ${JSON.stringify(task.taskId)} has mismatched metric sets.`);
|
|
38472
|
+
}
|
|
38473
|
+
if (stableJson(baselineMetrics) !== stableJson(expectedMetrics)) {
|
|
38474
|
+
throw new Error(`Task ${JSON.stringify(task.taskId)} has an inconsistent metric set.`);
|
|
38475
|
+
}
|
|
38476
|
+
if (!baselineMetrics.includes(primaryMetric2)) {
|
|
38477
|
+
throw new Error(`Task ${JSON.stringify(task.taskId)} is missing metric ${JSON.stringify(primaryMetric2)}.`);
|
|
38478
|
+
}
|
|
38479
|
+
for (const [side, scores] of [
|
|
38480
|
+
["baseline", task.baseline.scores],
|
|
38481
|
+
["real", task.real.scores]
|
|
38482
|
+
]) {
|
|
38483
|
+
for (const [metric, score] of Object.entries(scores)) {
|
|
38484
|
+
if (!Number.isFinite(score)) {
|
|
38485
|
+
throw new Error(`${side} task ${JSON.stringify(task.taskId)} metric ${metric} is not finite.`);
|
|
38486
|
+
}
|
|
38487
|
+
}
|
|
38488
|
+
}
|
|
38489
|
+
}
|
|
38490
|
+
}
|
|
38491
|
+
function buildRegression(task, metric, excerptChars, maxDiffLines) {
|
|
38492
|
+
const baselineRecall = finalRecallText(task.baseline);
|
|
38493
|
+
const realRecall = finalRecallText(task.real);
|
|
38494
|
+
const baselineLines = contentLines(baselineRecall);
|
|
38495
|
+
const realLines = contentLines(realRecall);
|
|
38496
|
+
const displaced = subtractLineMultiset(baselineLines, realLines);
|
|
38497
|
+
const introduced = subtractLineMultiset(realLines, baselineLines);
|
|
38498
|
+
const baselineScore = requireMetricScore(task.baseline, metric, "baseline");
|
|
38499
|
+
const realScore = requireMetricScore(task.real, metric, "real");
|
|
38500
|
+
return {
|
|
38501
|
+
taskId: task.taskId,
|
|
38502
|
+
category: task.category,
|
|
38503
|
+
baselineScore,
|
|
38504
|
+
realScore,
|
|
38505
|
+
delta: realScore - baselineScore,
|
|
38506
|
+
questionSha256: sha2562(normalizeText3(task.baseline.question)),
|
|
38507
|
+
expectedAnswerSha256: sha2562(normalizeText3(task.baseline.expected)),
|
|
38508
|
+
baseline: {
|
|
38509
|
+
answer: textDigest(task.baseline.actual, excerptChars),
|
|
38510
|
+
recall: recallSummary(baselineRecall, task.baseline.expected)
|
|
38511
|
+
},
|
|
38512
|
+
real: {
|
|
38513
|
+
answer: textDigest(task.real.actual, excerptChars),
|
|
38514
|
+
recall: recallSummary(realRecall, task.real.expected)
|
|
38515
|
+
},
|
|
38516
|
+
displacedLines: lineDelta(displaced, maxDiffLines, excerptChars),
|
|
38517
|
+
introducedLines: lineDelta(introduced, maxDiffLines, excerptChars)
|
|
38518
|
+
};
|
|
38519
|
+
}
|
|
38520
|
+
function buildProvenance(evidence, profile, joined, side) {
|
|
38521
|
+
const system = requireProvider(evidence.result.config.systemProvider, profile, "system");
|
|
38522
|
+
const judge = requireProvider(evidence.result.config.judgeProvider, profile, "judge");
|
|
38523
|
+
const payload = joined.map((task) => ({
|
|
38524
|
+
taskId: task.taskId,
|
|
38525
|
+
category: task.category,
|
|
38526
|
+
question: task[side].question,
|
|
38527
|
+
expected: task[side].expected
|
|
38528
|
+
}));
|
|
38529
|
+
return {
|
|
38530
|
+
reference: evidence.reference,
|
|
38531
|
+
sha256: evidence.sha256,
|
|
38532
|
+
resultId: evidence.result.meta.id,
|
|
38533
|
+
gitSha: evidence.result.meta.gitSha,
|
|
38534
|
+
remnicVersion: evidence.result.meta.remnicVersion,
|
|
38535
|
+
runtimeProfile: profile,
|
|
38536
|
+
systemProvider: system.provider,
|
|
38537
|
+
systemModel: system.model,
|
|
38538
|
+
judgeProvider: judge.provider,
|
|
38539
|
+
judgeModel: judge.model,
|
|
38540
|
+
seeds: [...evidence.result.meta.seeds],
|
|
38541
|
+
taskPayloadSha256: sha2562(stableJson(payload))
|
|
38542
|
+
};
|
|
38543
|
+
}
|
|
38544
|
+
function summarizeMetric(tasks, metric) {
|
|
38545
|
+
let baselineSum = 0;
|
|
38546
|
+
let realSum = 0;
|
|
38547
|
+
let wins = 0;
|
|
38548
|
+
let losses = 0;
|
|
38549
|
+
let ties = 0;
|
|
38550
|
+
for (const task of tasks) {
|
|
38551
|
+
const baseline = requireMetricScore(task.baseline, metric, "baseline");
|
|
38552
|
+
const real = requireMetricScore(task.real, metric, "real");
|
|
38553
|
+
baselineSum += baseline;
|
|
38554
|
+
realSum += real;
|
|
38555
|
+
if (real > baseline) wins += 1;
|
|
38556
|
+
else if (real < baseline) losses += 1;
|
|
38557
|
+
else ties += 1;
|
|
38558
|
+
}
|
|
38559
|
+
const baselineMean = baselineSum / tasks.length;
|
|
38560
|
+
const realMean = realSum / tasks.length;
|
|
38561
|
+
return { baselineMean, realMean, delta: realMean - baselineMean, wins, losses, ties };
|
|
38562
|
+
}
|
|
38563
|
+
function lineDelta(lines, maxDiffLines, excerptChars) {
|
|
38564
|
+
return {
|
|
38565
|
+
totalCount: lines.length,
|
|
38566
|
+
shownCount: Math.min(lines.length, maxDiffLines),
|
|
38567
|
+
lines: lines.slice(0, maxDiffLines).map((line) => {
|
|
38568
|
+
const parsedSourceRef = sourceRef(line.text);
|
|
38569
|
+
return {
|
|
38570
|
+
ordinal: line.ordinal,
|
|
38571
|
+
...textDigest(line.text, excerptChars),
|
|
38572
|
+
...parsedSourceRef ? { sourceRef: parsedSourceRef } : {}
|
|
38573
|
+
};
|
|
38574
|
+
})
|
|
38575
|
+
};
|
|
38576
|
+
}
|
|
38577
|
+
function recallSummary(text, expected) {
|
|
38578
|
+
const normalized = normalizeText3(text);
|
|
38579
|
+
const lines = normalized.split("\n").map((line) => line.trim()).filter(Boolean);
|
|
38580
|
+
return {
|
|
38581
|
+
sha256: sha2562(normalized),
|
|
38582
|
+
charCount: normalized.length,
|
|
38583
|
+
lineCount: lines.length,
|
|
38584
|
+
headings: [...new Set(lines.filter(isHeading))],
|
|
38585
|
+
sourceRefs: [...new Set(lines.map(sourceRef).filter((value) => !!value))].sort(compareStrings),
|
|
38586
|
+
expectedTokenCoverage: tokenCoverage(expected, normalized)
|
|
38587
|
+
};
|
|
38588
|
+
}
|
|
38589
|
+
function textDigest(text, excerptChars) {
|
|
38590
|
+
const normalized = normalizeText3(text);
|
|
38591
|
+
return {
|
|
38592
|
+
sha256: sha2562(normalized),
|
|
38593
|
+
charCount: normalized.length,
|
|
38594
|
+
excerpt: normalized.slice(0, excerptChars)
|
|
38595
|
+
};
|
|
38596
|
+
}
|
|
38597
|
+
function contentLines(text) {
|
|
38598
|
+
return normalizeText3(text).split("\n").map((line, ordinal) => ({ text: line.trim(), ordinal })).filter((line) => line.text.length > 0 && !isHeading(line.text));
|
|
38599
|
+
}
|
|
38600
|
+
function subtractLineMultiset(source, comparison) {
|
|
38601
|
+
const remaining = /* @__PURE__ */ new Map();
|
|
38602
|
+
for (const line of comparison) {
|
|
38603
|
+
remaining.set(line.text, (remaining.get(line.text) ?? 0) + 1);
|
|
38604
|
+
}
|
|
38605
|
+
return source.filter((line) => {
|
|
38606
|
+
const count = remaining.get(line.text) ?? 0;
|
|
38607
|
+
if (count === 0) return true;
|
|
38608
|
+
remaining.set(line.text, count - 1);
|
|
38609
|
+
return false;
|
|
38610
|
+
});
|
|
38611
|
+
}
|
|
38612
|
+
function verifyAggregateMeans(result, joined, side) {
|
|
38613
|
+
const first = joined[0];
|
|
38614
|
+
if (!first) throw new Error("Cannot verify aggregates for an empty paired result.");
|
|
38615
|
+
const metrics = Object.keys(first[side].scores).sort(compareStrings);
|
|
38616
|
+
for (const metric of metrics) {
|
|
38617
|
+
const aggregate = result.results.aggregates[metric];
|
|
38618
|
+
if (!aggregate || !Number.isFinite(aggregate.mean)) {
|
|
38619
|
+
throw new Error(`${side} result has no finite aggregate mean for ${JSON.stringify(metric)}.`);
|
|
38620
|
+
}
|
|
38621
|
+
const computed = joined.reduce((sum, task) => sum + requireMetricScore(task[side], metric, side), 0) / joined.length;
|
|
38622
|
+
if (Math.abs(aggregate.mean - computed) > 1e-12) {
|
|
38623
|
+
throw new Error(`${side} aggregate ${metric}=${aggregate.mean} does not match task mean ${computed}.`);
|
|
38624
|
+
}
|
|
38625
|
+
}
|
|
38626
|
+
}
|
|
38627
|
+
function tokenCoverage(expected, recalled) {
|
|
38628
|
+
const expectedTokens = new Set(tokenize6(expected));
|
|
38629
|
+
if (expectedTokens.size === 0) return 0;
|
|
38630
|
+
const recalledTokens = new Set(tokenize6(recalled));
|
|
38631
|
+
let matched = 0;
|
|
38632
|
+
for (const token of expectedTokens) {
|
|
38633
|
+
if (recalledTokens.has(token)) matched += 1;
|
|
38634
|
+
}
|
|
38635
|
+
return matched / expectedTokens.size;
|
|
38636
|
+
}
|
|
38637
|
+
function tokenize6(value) {
|
|
38638
|
+
return normalizeText3(value).toLocaleLowerCase("en-US").match(/[\p{L}\p{N}]+/gu) ?? [];
|
|
38639
|
+
}
|
|
38640
|
+
function resolveCategory2(task) {
|
|
38641
|
+
const categoryName = asRecord(task.details)?.categoryName;
|
|
38642
|
+
if (typeof categoryName === "string" && categoryName.trim()) return categoryName;
|
|
38643
|
+
const match = task.taskId.match(LOCOMO_TASK_CATEGORY_PATTERN2);
|
|
38644
|
+
if (!match?.[1]) {
|
|
38645
|
+
throw new Error(`Cannot derive LoCoMo category from task id ${JSON.stringify(task.taskId)}.`);
|
|
38646
|
+
}
|
|
38647
|
+
return match[1];
|
|
38648
|
+
}
|
|
38649
|
+
function finalRecallText(task) {
|
|
38650
|
+
const recalledText = asRecord(task.details)?.recalledText;
|
|
38651
|
+
if (typeof recalledText !== "string") {
|
|
38652
|
+
throw new Error(`Task ${JSON.stringify(task.taskId)} has no final recalledText.`);
|
|
38653
|
+
}
|
|
38654
|
+
return recalledText;
|
|
38655
|
+
}
|
|
38656
|
+
function providerIdentity(provider) {
|
|
38657
|
+
if (!provider) return null;
|
|
38658
|
+
return {
|
|
38659
|
+
provider: provider.provider,
|
|
38660
|
+
model: provider.model,
|
|
38661
|
+
rubricVersion: provider.rubricVersion ?? null,
|
|
38662
|
+
baseUrl: provider.baseUrl ?? null,
|
|
38663
|
+
providerRequestTimeoutMs: provider.providerRequestTimeoutMs ?? null,
|
|
38664
|
+
retryOptions: provider.retryOptions ? {
|
|
38665
|
+
maxAttempts: provider.retryOptions.maxAttempts ?? null,
|
|
38666
|
+
baseBackoffMs: provider.retryOptions.baseBackoffMs ?? null,
|
|
38667
|
+
timeoutMs: provider.retryOptions.timeoutMs ?? null,
|
|
38668
|
+
retryOnTimeout: provider.retryOptions.retryOnTimeout ?? null,
|
|
38669
|
+
max429WaitMs: provider.retryOptions.max429WaitMs ?? null
|
|
38670
|
+
} : null,
|
|
38671
|
+
disableThinking: provider.disableThinking ?? null,
|
|
38672
|
+
reasoningEffort: provider.reasoningEffort ?? null,
|
|
38673
|
+
responderContextBudgetChars: provider.responderContextBudgetChars ?? null,
|
|
38674
|
+
responderPromptBudgetChars: provider.responderPromptBudgetChars ?? null,
|
|
38675
|
+
temperature: provider.temperature ?? null,
|
|
38676
|
+
seed: provider.seed ?? null
|
|
38677
|
+
};
|
|
38678
|
+
}
|
|
38679
|
+
function sourceRef(line) {
|
|
38680
|
+
const match = line.match(SOURCE_TURN_PATTERN);
|
|
38681
|
+
const sessionId = match?.[1];
|
|
38682
|
+
const turn = match?.[2];
|
|
38683
|
+
const role = match?.[3];
|
|
38684
|
+
if (!sessionId || !turn || !role) return void 0;
|
|
38685
|
+
return `${sessionId}:turn-${turn}:${role.trim().toLowerCase()}`;
|
|
38686
|
+
}
|
|
38687
|
+
function requireMetricScore(task, metric, side) {
|
|
38688
|
+
const score = task.scores[metric];
|
|
38689
|
+
if (typeof score !== "number" || !Number.isFinite(score)) {
|
|
38690
|
+
throw new Error(`${side} task ${JSON.stringify(task.taskId)} metric ${metric} is not finite.`);
|
|
38691
|
+
}
|
|
38692
|
+
return score;
|
|
38693
|
+
}
|
|
38694
|
+
function requireProvider(provider, profile, role) {
|
|
38695
|
+
if (!provider) throw new Error(`${profile} result has no ${role} provider identity.`);
|
|
38696
|
+
return provider;
|
|
38697
|
+
}
|
|
38698
|
+
function isHeading(line) {
|
|
38699
|
+
return /^##\s+/.test(line);
|
|
38700
|
+
}
|
|
38701
|
+
function normalizeText3(value) {
|
|
38702
|
+
return value.replaceAll("\r\n", "\n").replaceAll("\r", "\n");
|
|
38703
|
+
}
|
|
38704
|
+
function sha2562(value) {
|
|
38705
|
+
return createHash13("sha256").update(value).digest("hex");
|
|
38706
|
+
}
|
|
38707
|
+
function stableJson(value) {
|
|
38708
|
+
return JSON.stringify(value);
|
|
38709
|
+
}
|
|
38710
|
+
function asRecord(value) {
|
|
38711
|
+
return typeof value === "object" && value !== null ? value : void 0;
|
|
38712
|
+
}
|
|
38713
|
+
function parseNonNegativeInteger(value, label) {
|
|
38714
|
+
if (!Number.isInteger(value) || value < 0) {
|
|
38715
|
+
throw new Error(`${label} must be a non-negative integer.`);
|
|
38716
|
+
}
|
|
38717
|
+
return value;
|
|
38718
|
+
}
|
|
38719
|
+
function compareLoComoCategories2(left, right) {
|
|
38720
|
+
const leftIndex = LOCOMO_CATEGORY_ORDER2.indexOf(left);
|
|
38721
|
+
const rightIndex = LOCOMO_CATEGORY_ORDER2.indexOf(right);
|
|
38722
|
+
if (leftIndex >= 0 && rightIndex >= 0) return leftIndex - rightIndex;
|
|
38723
|
+
if (leftIndex >= 0) return -1;
|
|
38724
|
+
if (rightIndex >= 0) return 1;
|
|
38725
|
+
return compareStrings(left, right);
|
|
38726
|
+
}
|
|
38727
|
+
function compareStrings(left, right) {
|
|
38728
|
+
return left < right ? -1 : left > right ? 1 : 0;
|
|
38729
|
+
}
|
|
38730
|
+
function escapeMarkdownCell(value) {
|
|
38731
|
+
return value.replaceAll("|", "\\|").replaceAll("\n", " ");
|
|
38732
|
+
}
|
|
38733
|
+
function formatScore2(value) {
|
|
38734
|
+
return value.toFixed(4);
|
|
38735
|
+
}
|
|
38736
|
+
function formatSignedScore2(value) {
|
|
38737
|
+
return `${value >= 0 ? "+" : ""}${formatScore2(value)}`;
|
|
38738
|
+
}
|
|
38739
|
+
|
|
38033
38740
|
// src/integrity/sealed-qrels.ts
|
|
38034
38741
|
import { readFile as readFile20 } from "fs/promises";
|
|
38035
38742
|
function isSealedQrelsArtifact(value) {
|
|
@@ -39433,7 +40140,7 @@ var chatFixture = {
|
|
|
39433
40140
|
};
|
|
39434
40141
|
|
|
39435
40142
|
// src/judges/calibration-slice.ts
|
|
39436
|
-
import { createHash as
|
|
40143
|
+
import { createHash as createHash14, randomBytes as randomBytes3 } from "crypto";
|
|
39437
40144
|
import { mkdir as mkdir18, readFile as readFile22, rename as rename4, unlink as unlink4, writeFile as writeFile17 } from "fs/promises";
|
|
39438
40145
|
import path37 from "path";
|
|
39439
40146
|
|
|
@@ -39580,7 +40287,7 @@ function selectCalibrationSlice(questionIds, size = CALIBRATION_SLICE_SIZE) {
|
|
|
39580
40287
|
unique.push(id);
|
|
39581
40288
|
}
|
|
39582
40289
|
}
|
|
39583
|
-
return unique.map((id) => ({ id, digest:
|
|
40290
|
+
return unique.map((id) => ({ id, digest: createHash14("sha256").update(id, "utf8").digest("hex") })).sort((a, b) => a.digest < b.digest ? -1 : a.digest > b.digest ? 1 : 0).slice(0, Math.min(size, unique.length)).map((entry) => entry.id);
|
|
39584
40291
|
}
|
|
39585
40292
|
async function runJudgeCalibration(options) {
|
|
39586
40293
|
const binScore = options.binScore ?? ((score) => binarizeJudgeScore(score));
|
|
@@ -39655,7 +40362,7 @@ function validatePinnedQuestionIds(ids, availableIds) {
|
|
|
39655
40362
|
return [...ids];
|
|
39656
40363
|
}
|
|
39657
40364
|
function hashCalibrationAnswerSet(answers) {
|
|
39658
|
-
return
|
|
40365
|
+
return createHash14("sha256").update(JSON.stringify(answers.map((answer) => [
|
|
39659
40366
|
answer.questionId,
|
|
39660
40367
|
answer.question,
|
|
39661
40368
|
answer.predicted,
|
|
@@ -40342,7 +41049,7 @@ var PROCEDURAL_REAL_SCENARIOS_SMOKE = [
|
|
|
40342
41049
|
];
|
|
40343
41050
|
|
|
40344
41051
|
// src/security/extraction-attack/tokenize.ts
|
|
40345
|
-
function
|
|
41052
|
+
function tokenize7(text) {
|
|
40346
41053
|
return text.toLowerCase().split(/[^a-z0-9]+/u).filter((t) => t.length > 2);
|
|
40347
41054
|
}
|
|
40348
41055
|
|
|
@@ -40384,7 +41091,7 @@ function createSeededRng2(seed) {
|
|
|
40384
41091
|
}
|
|
40385
41092
|
};
|
|
40386
41093
|
}
|
|
40387
|
-
var tokenizeContent =
|
|
41094
|
+
var tokenizeContent = tokenize7;
|
|
40388
41095
|
function recoveryTokensFor(memory) {
|
|
40389
41096
|
if (memory.tokens && memory.tokens.length > 0) {
|
|
40390
41097
|
const seen = /* @__PURE__ */ new Set();
|
|
@@ -40863,11 +41570,11 @@ function createSyntheticTarget(options) {
|
|
|
40863
41570
|
}
|
|
40864
41571
|
const normalized = memories.map((m) => ({
|
|
40865
41572
|
memory: m,
|
|
40866
|
-
tokens: new Set((m.tokens ??
|
|
41573
|
+
tokens: new Set((m.tokens ?? tokenize7(m.content)).map((t) => t.toLowerCase()))
|
|
40867
41574
|
}));
|
|
40868
41575
|
return {
|
|
40869
41576
|
async recall(query, recallOptions) {
|
|
40870
|
-
const qTokens =
|
|
41577
|
+
const qTokens = tokenize7(query);
|
|
40871
41578
|
if (qTokens.length === 0) return [];
|
|
40872
41579
|
const requestedNs = recallOptions?.namespace;
|
|
40873
41580
|
if (enforceNamespaceAcl && requestedNs !== void 0 && requestedNs !== allowedNamespace) {
|
|
@@ -41111,7 +41818,7 @@ function createMitigatedTarget(config) {
|
|
|
41111
41818
|
}
|
|
41112
41819
|
|
|
41113
41820
|
// src/coding-graph/generator.ts
|
|
41114
|
-
import { createHash as
|
|
41821
|
+
import { createHash as createHash15 } from "crypto";
|
|
41115
41822
|
function createSeededRng3(seed) {
|
|
41116
41823
|
let state = seed >>> 0;
|
|
41117
41824
|
return function rng() {
|
|
@@ -41140,7 +41847,7 @@ var EDGE_TYPE_WEIGHTS = [
|
|
|
41140
41847
|
var PROVENANCE_VALUES = ["heuristic", "heuristic", "heuristic", "trace"];
|
|
41141
41848
|
var AVG_BYTES_PER_LINE = 40;
|
|
41142
41849
|
function hashContent(input) {
|
|
41143
|
-
return
|
|
41850
|
+
return createHash15("sha256").update(input).digest("hex").slice(0, 16);
|
|
41144
41851
|
}
|
|
41145
41852
|
function generateSyntheticRepo(config) {
|
|
41146
41853
|
const rng = createSeededRng3(config.seed);
|
|
@@ -41708,6 +42415,9 @@ export {
|
|
|
41708
42415
|
JUDGE_CALIBRATION_KAPPA_THRESHOLD,
|
|
41709
42416
|
LOCAL_LAB_PROVIDER_KINDS,
|
|
41710
42417
|
LOCOMO_DATASET_FILENAMES,
|
|
42418
|
+
LOCOMO_FULL_TASK_COUNT,
|
|
42419
|
+
LOCOMO_RECALL_DIFF_LINE_LIMIT,
|
|
42420
|
+
LOCOMO_RECALL_EXCERPT_CHARS,
|
|
41711
42421
|
LONG_MEM_EVAL_DATASET_FILENAMES,
|
|
41712
42422
|
LettaMemCorrectAdapter,
|
|
41713
42423
|
LocalLabPreflightError,
|
|
@@ -41761,6 +42471,7 @@ export {
|
|
|
41761
42471
|
buildBenchmarkPublishFeed,
|
|
41762
42472
|
buildBenchmarkReproManifest,
|
|
41763
42473
|
buildBenchmarkRunSeeds,
|
|
42474
|
+
buildCodexCreditReceipt,
|
|
41764
42475
|
buildJudgePayload,
|
|
41765
42476
|
buildOracleTrajectoryRecall,
|
|
41766
42477
|
buildSchemaTierFixture,
|
|
@@ -41818,6 +42529,7 @@ export {
|
|
|
41818
42529
|
defaultBenchmarkPublishPath,
|
|
41819
42530
|
deleteBenchmarkResults,
|
|
41820
42531
|
diagnoseLoComoProfileDelta,
|
|
42532
|
+
diagnoseLoComoRecallDelta,
|
|
41821
42533
|
discoverAllProviders,
|
|
41822
42534
|
discoveryEndpointFor,
|
|
41823
42535
|
emailFixture,
|
|
@@ -41888,10 +42600,12 @@ export {
|
|
|
41888
42600
|
preflightLocalLabRole,
|
|
41889
42601
|
projectFolderFixture,
|
|
41890
42602
|
recallAtK,
|
|
42603
|
+
reconcileCodexCreditLedger,
|
|
41891
42604
|
redactBenchmarkResultSecrets,
|
|
41892
42605
|
renderBaselineMarkdown,
|
|
41893
42606
|
renderBenchmarkResultExport,
|
|
41894
42607
|
renderLoComoProfileDeltaMarkdown,
|
|
42608
|
+
renderLoComoRecallDeltaMarkdown,
|
|
41895
42609
|
renderMemorySummaryForJudge,
|
|
41896
42610
|
renderMemoryViewForAgent,
|
|
41897
42611
|
resolveAssistantAgent,
|
|
@@ -41927,6 +42641,7 @@ export {
|
|
|
41927
42641
|
runSealedJudge,
|
|
41928
42642
|
runSequentialPhases,
|
|
41929
42643
|
safeHexEqual,
|
|
42644
|
+
sanitizeLoComoResultReference,
|
|
41930
42645
|
saveBaseline,
|
|
41931
42646
|
saveBenchmarkBaseline,
|
|
41932
42647
|
schemaCompleteness,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remnic/bench",
|
|
3
|
-
"version": "9.6.
|
|
3
|
+
"version": "9.6.23",
|
|
4
4
|
"description": "Retrieval latency ladder benchmarks + CI regression gates for @remnic/core",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
"hyparquet": "^1.25.7",
|
|
40
40
|
"yaml": "^2.4.2",
|
|
41
41
|
"zod": "^3.24.0",
|
|
42
|
-
"@remnic/coding-graph": "^9.6.
|
|
43
|
-
"@remnic/core": "^9.6.
|
|
42
|
+
"@remnic/coding-graph": "^9.6.23",
|
|
43
|
+
"@remnic/core": "^9.6.23"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"tsup": "^8.5.1",
|