@tangle-network/agent-eval 0.220.2 → 0.221.1
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/CHANGELOG.md +64 -0
- package/dist/adapters/http.d.ts +2 -2
- package/dist/{agent-profile-D01Io2Xw.d.ts → agent-profile-Bc7ADJY4.d.ts} +2 -2
- package/dist/{agent-profile-D01Io2Xw.d.ts.map → agent-profile-Bc7ADJY4.d.ts.map} +1 -1
- package/dist/analyst/index.d.ts +77 -78
- package/dist/analyst/index.d.ts.map +1 -1
- package/dist/analyst/index.js +204 -25
- package/dist/analyst/index.js.map +1 -1
- package/dist/{analyze-runs-DqPJaJ4X.js → analyze-runs-CHmsykNJ.js} +4 -4
- package/dist/{analyze-runs-DqPJaJ4X.js.map → analyze-runs-CHmsykNJ.js.map} +1 -1
- package/dist/{analyze-runs-BWAHBDAw.d.ts → analyze-runs-D7In4c3z.d.ts} +2 -2
- package/dist/{analyze-runs-BWAHBDAw.d.ts.map → analyze-runs-D7In4c3z.d.ts.map} +1 -1
- package/dist/{benchmark-command-Dx0E4a6z.js → benchmark-command-DiGqnGUt.js} +13 -11
- package/dist/benchmark-command-DiGqnGUt.js.map +1 -0
- package/dist/benchmarks/index.d.ts +4 -4
- package/dist/benchmarks/index.js +3 -3
- package/dist/calibration-CTwxpJ-t.js +197 -0
- package/dist/calibration-CTwxpJ-t.js.map +1 -0
- package/dist/campaign/index.d.ts +6 -6
- package/dist/campaign/index.js +5 -5
- package/dist/{campaign-BVPC6ODQ.js → campaign-Bt6rbWIU.js} +9 -8
- package/dist/{campaign-BVPC6ODQ.js.map → campaign-Bt6rbWIU.js.map} +1 -1
- package/dist/cli.js +1 -1
- package/dist/{completion-verifier-Cigap8CG.js → completion-verifier-YwoeujPl.js} +2 -2
- package/dist/completion-verifier-YwoeujPl.js.map +1 -0
- package/dist/contract/index.d.ts +10 -10
- package/dist/contract/index.js +7 -7
- package/dist/decision-point-Co3u3W8k.js +831 -0
- package/dist/decision-point-Co3u3W8k.js.map +1 -0
- package/dist/default-registry-BMHqNR6_.d.ts +257 -0
- package/dist/default-registry-BMHqNR6_.d.ts.map +1 -0
- package/dist/{default-registry-ovrIBGmH.js → default-registry-BbFCkqvB.js} +607 -14
- package/dist/default-registry-BbFCkqvB.js.map +1 -0
- package/dist/{define-agent-eval-C2nFhHPu.d.ts → define-agent-eval-Bsoi2GUV.d.ts} +7 -7
- package/dist/{define-agent-eval-C2nFhHPu.d.ts.map → define-agent-eval-Bsoi2GUV.d.ts.map} +1 -1
- package/dist/{define-agent-eval-UQY3VbJ2.js → define-agent-eval-CJhECJNL.js} +4 -4
- package/dist/{define-agent-eval-UQY3VbJ2.js.map → define-agent-eval-CJhECJNL.js.map} +1 -1
- package/dist/diagnosis/index.d.ts +2 -2
- package/dist/diagnosis/index.js +1 -1
- package/dist/{dspy-rlm-engine-Bn_Mt_LW.js → dspy-rlm-engine-BTy7u0jQ.js} +3 -3
- package/dist/{dspy-rlm-engine-Bn_Mt_LW.js.map → dspy-rlm-engine-BTy7u0jQ.js.map} +1 -1
- package/dist/{engine-BpGGw6cd.d.ts → engine-BF95CWzH.d.ts} +2 -2
- package/dist/{engine-BpGGw6cd.d.ts.map → engine-BF95CWzH.d.ts.map} +1 -1
- package/dist/{eval-campaign-BUMIxKTE.js → eval-campaign-DoX5vz3E.js} +2 -2
- package/dist/{eval-campaign-BUMIxKTE.js.map → eval-campaign-DoX5vz3E.js.map} +1 -1
- package/dist/{evaluation-CBdQt_kr.d.ts → evaluation-D1PGzkPR.d.ts} +3 -3
- package/dist/{evaluation-CBdQt_kr.d.ts.map → evaluation-D1PGzkPR.d.ts.map} +1 -1
- package/dist/evaluation-wdGyZ7jV.js +147 -0
- package/dist/evaluation-wdGyZ7jV.js.map +1 -0
- package/dist/evaluation.d.ts +1 -1
- package/dist/evaluation.js +1 -136
- package/dist/{exact-types-BYFmYq44.d.ts → exact-types-CVn1QxFO.d.ts} +2 -2
- package/dist/{exact-types-BYFmYq44.d.ts.map → exact-types-CVn1QxFO.d.ts.map} +1 -1
- package/dist/experiment/index.d.ts +3 -3
- package/dist/experiment/index.js +2 -2
- package/dist/{external-optimizer-process-wOLfzsCC.js → external-optimizer-process-E5yY2SYS.js} +2 -2
- package/dist/{external-optimizer-process-wOLfzsCC.js.map → external-optimizer-process-E5yY2SYS.js.map} +1 -1
- package/dist/{external-optimizer-subprocess-D670Oxf2.js → external-optimizer-subprocess-DA02c_L6.js} +12 -19
- package/dist/{external-optimizer-subprocess-D670Oxf2.js.map → external-optimizer-subprocess-DA02c_L6.js.map} +1 -1
- package/dist/{feedback-trajectory-DhB9WzYg.d.ts → feedback-trajectory-BZhVCWuz.d.ts} +3 -3
- package/dist/{feedback-trajectory-DhB9WzYg.d.ts.map → feedback-trajectory-BZhVCWuz.d.ts.map} +1 -1
- package/dist/finding-composition-8n0fFgVI.js +131 -0
- package/dist/finding-composition-8n0fFgVI.js.map +1 -0
- package/dist/{findings-store-CvNo712L.js → findings-store-DRiFdoid.js} +4 -4
- package/dist/{findings-store-CvNo712L.js.map → findings-store-DRiFdoid.js.map} +1 -1
- package/dist/{index-CVFStrQD.d.ts → index-BJZ7s-sv.d.ts} +7 -58
- package/dist/index-BJZ7s-sv.d.ts.map +1 -0
- package/dist/{index-Q6DvdcwI.d.ts → index-BvX3CFNS.d.ts} +6 -6
- package/dist/{index-Q6DvdcwI.d.ts.map → index-BvX3CFNS.d.ts.map} +1 -1
- package/dist/index-DWd1gUwR.d.ts +1086 -0
- package/dist/index-DWd1gUwR.d.ts.map +1 -0
- package/dist/{index-DAXfpVf7.d.ts → index-y7i8l6Y_.d.ts} +8 -8
- package/dist/{index-DAXfpVf7.d.ts.map → index-y7i8l6Y_.d.ts.map} +1 -1
- package/dist/index.d.ts +18 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -15
- package/dist/{kind-factory-BhxbtUsQ.js → kind-factory-Dl0PmNQL.js} +2 -2
- package/dist/{kind-factory-BhxbtUsQ.js.map → kind-factory-Dl0PmNQL.js.map} +1 -1
- package/dist/{llm-judge-Cc8vDJh_.js → llm-judge-3uAeRawE.js} +4 -4
- package/dist/{llm-judge-Cc8vDJh_.js.map → llm-judge-3uAeRawE.js.map} +1 -1
- package/dist/{matrix-Cf-AGxGh.d.ts → matrix-BXo3PSqM.d.ts} +2 -2
- package/dist/{matrix-Cf-AGxGh.d.ts.map → matrix-BXo3PSqM.d.ts.map} +1 -1
- package/dist/meta-eval/index.d.ts +3 -638
- package/dist/meta-eval/index.js +3 -193
- package/dist/meta-eval/index.js.map +1 -1
- package/dist/multishot/golden/index.d.ts +1 -1
- package/dist/multishot/index.d.ts +2 -2
- package/dist/openapi.json +1 -1
- package/dist/outcome-observations-FLmRpgYa.js +78 -0
- package/dist/outcome-observations-FLmRpgYa.js.map +1 -0
- package/dist/{paired-arms-Ct4LTKc1.js → paired-arms-B2ttLc0_.js} +108 -31
- package/dist/paired-arms-B2ttLc0_.js.map +1 -0
- package/dist/{power-and-mde-N5nU4_Ly.js → power-and-mde-CQX-0weG.js} +2 -2
- package/dist/{power-and-mde-N5nU4_Ly.js.map → power-and-mde-CQX-0weG.js.map} +1 -1
- package/dist/{prime-protocol-CckHBxGu.d.ts → prime-protocol-BEaqBoQE.d.ts} +2 -2
- package/dist/{prime-protocol-CckHBxGu.d.ts.map → prime-protocol-BEaqBoQE.d.ts.map} +1 -1
- package/dist/{proposal-findings-E1aSC_cU.js → proposal-findings-D0_zkQ2l.js} +2 -2
- package/dist/{proposal-findings-E1aSC_cU.js.map → proposal-findings-D0_zkQ2l.js.map} +1 -1
- package/dist/{registry-B_yG-1jh.d.ts → registry-DDKaUrmM.d.ts} +3 -3
- package/dist/{registry-B_yG-1jh.d.ts.map → registry-DDKaUrmM.d.ts.map} +1 -1
- package/dist/reporting.d.ts +1 -1
- package/dist/reporting.js +3 -3
- package/dist/rl.d.ts +4 -5
- package/dist/rl.d.ts.map +1 -1
- package/dist/rl.js +5 -4
- package/dist/rl.js.map +1 -1
- package/dist/{rubric-predictive-validity-noY7uE03.d.ts → rubric-predictive-validity-Cd5SCtAf.d.ts} +58 -3
- package/dist/rubric-predictive-validity-Cd5SCtAf.d.ts.map +1 -0
- package/dist/{rubric-predictive-validity-D3_oI72N.js → rubric-predictive-validity-CeKW2GQN.js} +3 -77
- package/dist/rubric-predictive-validity-CeKW2GQN.js.map +1 -0
- package/dist/search/index.d.ts +2 -2
- package/dist/{search-kernel-Dloxd6gs.d.ts → search-kernel-C6__V0IS.d.ts} +2 -2
- package/dist/{search-kernel-Dloxd6gs.d.ts.map → search-kernel-C6__V0IS.d.ts.map} +1 -1
- package/dist/{skillopt-optimization-method-DLKqdhcR.js → skillopt-optimization-method-D21dH_Bh.js} +4 -4
- package/dist/{skillopt-optimization-method-DLKqdhcR.js.map → skillopt-optimization-method-D21dH_Bh.js.map} +1 -1
- package/dist/{statistical-heldout-3z3I-kJN.d.ts → statistical-heldout-pD1Yah-0.d.ts} +58 -8
- package/dist/statistical-heldout-pD1Yah-0.d.ts.map +1 -0
- package/dist/{store-otlp-dyWE3wAG.js → store-otlp-BVZfR168.js} +2 -2
- package/dist/{store-otlp-dyWE3wAG.js.map → store-otlp-BVZfR168.js.map} +1 -1
- package/dist/{store-tool-spans-DIUgZbzu.js → store-tool-spans-CjYiF4fF.js} +3 -3
- package/dist/{store-tool-spans-DIUgZbzu.js.map → store-tool-spans-CjYiF4fF.js.map} +1 -1
- package/dist/{store-tool-spans-DPwXHQkH.d.ts → store-tool-spans-DfnwWMFR.d.ts} +4 -4
- package/dist/{store-tool-spans-DPwXHQkH.d.ts.map → store-tool-spans-DfnwWMFR.d.ts.map} +1 -1
- package/dist/{summary-report-BsXJoYX5.js → summary-report-DHDWxe6p.js} +3 -3
- package/dist/{summary-report-BsXJoYX5.js.map → summary-report-DHDWxe6p.js.map} +1 -1
- package/dist/systemone-D3MrW63C.d.ts +400 -0
- package/dist/systemone-D3MrW63C.d.ts.map +1 -0
- package/dist/{systemone-protocol-DKoi1NdK.d.ts → systemone-protocol-Bl2EI2KQ.d.ts} +4 -2
- package/dist/{systemone-protocol-DKoi1NdK.d.ts.map → systemone-protocol-Bl2EI2KQ.d.ts.map} +1 -1
- package/dist/systemone-protocol.d.ts +2 -2
- package/dist/systemone-protocol.js +7 -7
- package/dist/systemone-protocol.js.map +1 -1
- package/dist/{systemone-review-CUBMuTLi.d.ts → systemone-review-C8DRiT_-.d.ts} +3 -3
- package/dist/{systemone-review-CUBMuTLi.d.ts.map → systemone-review-C8DRiT_-.d.ts.map} +1 -1
- package/dist/{systemone-review-DzdOJ8I6.js → systemone-review-DFGtIUcf.js} +2 -2
- package/dist/{systemone-review-DzdOJ8I6.js.map → systemone-review-DFGtIUcf.js.map} +1 -1
- package/dist/systemone.d.ts +5 -5
- package/dist/systemone.js +5 -343
- package/dist/{tool-groups-LISbBWCg.d.ts → tool-groups-DK1bu5TD.d.ts} +3 -3
- package/dist/tool-groups-DK1bu5TD.d.ts.map +1 -0
- package/dist/{trace-questions-C42fYEE4.d.ts → trace-questions-D_OKYZ6u.d.ts} +3 -3
- package/dist/{trace-questions-C42fYEE4.d.ts.map → trace-questions-D_OKYZ6u.d.ts.map} +1 -1
- package/dist/trace-repair/index.d.ts +1 -1
- package/dist/traces.d.ts +3 -3
- package/dist/traces.js +3 -3
- package/dist/{types-DqFMNTgK.js → types-CnWmj8NW.js} +19 -6
- package/dist/types-CnWmj8NW.js.map +1 -0
- package/dist/{types-CHfn1zg5.d.ts → types-DDKfH-N6.d.ts} +2 -2
- package/dist/{types-CHfn1zg5.d.ts.map → types-DDKfH-N6.d.ts.map} +1 -1
- package/dist/{types-8yQzNm8u.d.ts → types-DGImvHIr.d.ts} +150 -4
- package/dist/types-DGImvHIr.d.ts.map +1 -0
- package/dist/{types-D8GXK9Z5.d.ts → types-IERw_HxR.d.ts} +2 -2
- package/dist/{types-D8GXK9Z5.d.ts.map → types-IERw_HxR.d.ts.map} +1 -1
- package/dist/wire/index.d.ts +1 -1
- package/docs/behavioral-trace-questions.md +99 -0
- package/docs/experiment.md +27 -0
- package/docs/finding-layers.md +54 -1
- package/docs/systemone.md +107 -0
- package/package.json +4 -4
- package/dist/benchmark-command-Dx0E4a6z.js.map +0 -1
- package/dist/completion-verifier-Cigap8CG.js.map +0 -1
- package/dist/default-registry-Cwg_QN3d.d.ts +0 -70
- package/dist/default-registry-Cwg_QN3d.d.ts.map +0 -1
- package/dist/default-registry-ovrIBGmH.js.map +0 -1
- package/dist/evaluation.js.map +0 -1
- package/dist/index-CVFStrQD.d.ts.map +0 -1
- package/dist/judge-gate-Dc_mXQsL.d.ts +0 -453
- package/dist/judge-gate-Dc_mXQsL.d.ts.map +0 -1
- package/dist/meta-eval/index.d.ts.map +0 -1
- package/dist/outcome-store-CNt4iZ67.d.ts +0 -58
- package/dist/outcome-store-CNt4iZ67.d.ts.map +0 -1
- package/dist/paired-arms-Ct4LTKc1.js.map +0 -1
- package/dist/rubric-predictive-validity-D3_oI72N.js.map +0 -1
- package/dist/rubric-predictive-validity-noY7uE03.d.ts.map +0 -1
- package/dist/statistical-heldout-3z3I-kJN.d.ts.map +0 -1
- package/dist/systemone-DVA7t76V.d.ts +0 -135
- package/dist/systemone-DVA7t76V.d.ts.map +0 -1
- package/dist/systemone.js.map +0 -1
- package/dist/tool-groups-LISbBWCg.d.ts.map +0 -1
- package/dist/types-8yQzNm8u.d.ts.map +0 -1
- package/dist/types-DqFMNTgK.js.map +0 -1
package/docs/systemone.md
CHANGED
|
@@ -96,6 +96,26 @@ probabilities are not calibrated domain confidence, and a result never authorize
|
|
|
96
96
|
sending, deletion, or another effect. Re-assessing the same prepared input and retained answer is
|
|
97
97
|
an offline replay, not new inference.
|
|
98
98
|
|
|
99
|
+
## Rationale and evidence limits
|
|
100
|
+
|
|
101
|
+
The native request and answer types in [`systemone-protocol.ts`](../src/systemone-protocol.ts)
|
|
102
|
+
declare no free-form rationale, generated evidence URI, or extracted text-span field.
|
|
103
|
+
Instructions asking for an explanation do not establish a supported output contract.
|
|
104
|
+
Do not issue a second explanation call to fill this gap.
|
|
105
|
+
|
|
106
|
+
The same request can include another named `choice` question whose criteria keys are
|
|
107
|
+
caller-supplied evidence IDs, including an explicit unresolved option. DomainMatch already
|
|
108
|
+
uses this pattern for source selection. The answer selects from that finite set; it does
|
|
109
|
+
not establish that the selected source caused or justifies another answer. Persist the
|
|
110
|
+
immutable ID-to-source mapping with the decision (as behavioral trace definitions do), or in
|
|
111
|
+
retained evidence referenced by the invocation's `evidenceRefs`.
|
|
112
|
+
The journal stores state/input digests, so a mapping held only in `state` cannot support
|
|
113
|
+
later inspection. Grounding and calibration require independent checks.
|
|
114
|
+
|
|
115
|
+
Native response extensions may survive parsing into the evaluator's returned raw value.
|
|
116
|
+
That does not promise the provider generates them or that downstream records retain them.
|
|
117
|
+
The declared protocol and each consumer's persistence schema determine what survives.
|
|
118
|
+
|
|
99
119
|
## Providers, rounding and confidence
|
|
100
120
|
|
|
101
121
|
The wire format is the same for every provider; how each reports its numbers is not. A
|
|
@@ -236,3 +256,90 @@ rubric lives in `examples/`, not the generic implementation, and is not a defaul
|
|
|
236
256
|
Protocol: https://docs.typesafe.ai/api
|
|
237
257
|
Clef: https://developers.cloudflare.com/workers-ai/models/clef/
|
|
238
258
|
SDK (optional builders): https://github.com/typesafe-ai/typesafe-sdk-js
|
|
259
|
+
|
|
260
|
+
## Decision points
|
|
261
|
+
|
|
262
|
+
`decisionPoint` from `/systemone` adds durable routing to the evaluator. A point
|
|
263
|
+
serves many `layers`; each invocation names its current layer and consumer.
|
|
264
|
+
The same layer can use many points. Questions use typed choices; policies map
|
|
265
|
+
every option to `act` (with a route), `escalate`, or `record`, with probability
|
|
266
|
+
and margin thresholds per question. These are recommendations; the consumer
|
|
267
|
+
performs and records the actual action. An escalation in any question takes
|
|
268
|
+
precedence over `act`, which takes precedence over `record`.
|
|
269
|
+
|
|
270
|
+
Use this for judgment over unstructured state only when a wrong recommendation
|
|
271
|
+
is cheap and reversible and uncertainty can reach an agent or a human. It never
|
|
272
|
+
grants authority to delete, deploy, merge, retire, lift a stand-down, or override
|
|
273
|
+
an acceptance check. Code continues to read objective facts directly. Sample or
|
|
274
|
+
trigger these calls instead of evaluating every event. Existing DomainMatch
|
|
275
|
+
continues to supply its domain-specific request and assessment; this primitive
|
|
276
|
+
uses the same native evaluator and answer validation, not another model adapter.
|
|
277
|
+
|
|
278
|
+
A policy may drive a route only with independent labeled evidence: positive
|
|
279
|
+
`gold_n`, finite Cohen κ meeting `DECISION_POINT_MIN_KAPPA` (owned in
|
|
280
|
+
[`decision-point.ts`](../src/decision-point.ts)) and `evidenceRefs`.
|
|
281
|
+
`decisionQuestionDigest({ id, version, model, servedModel, name, question })` binds that
|
|
282
|
+
evidence to the authored question, option order and model. Changed served model
|
|
283
|
+
identity, absent/stale calibration, ties and below-threshold answers escalate.
|
|
284
|
+
κ measures label agreement; the joined outcome curve measures probability
|
|
285
|
+
reliability. Do not describe one as proof of the other.
|
|
286
|
+
|
|
287
|
+
Supply `ledger: openFindingsLedger({ path })` from `/analyst` and the existing
|
|
288
|
+
`SystemOneEvaluatorOptions` as `evaluator`. `decide` accepts `runId`,
|
|
289
|
+
`invocationId`, `layer`, `consumer`, `state`, `scope`, `at`, and `evidenceRefs`,
|
|
290
|
+
plus the existing evaluation context for cancellation, spending and receipts.
|
|
291
|
+
Inspect the typed `succeeded` result before reading its `value`.
|
|
292
|
+
|
|
293
|
+
The findings ledger is the sole persistence owner. Every invocation first
|
|
294
|
+
appends a 1.1.0 intent with a unique owner token. Competing callers cannot both
|
|
295
|
+
infer. Completed calls record state/input/definition digests, the policy and
|
|
296
|
+
calibration identity, requested/served model, probabilities, recommendation and
|
|
297
|
+
receipt. Failed or cancelled evaluations record escalation with accounting when
|
|
298
|
+
available. A persistence failure returns a typed error and withholds action.
|
|
299
|
+
Exact `(point id, runId, invocationId)` replay reuses the original result, across
|
|
300
|
+
restart; changed inputs or definitions conflict. The input includes its original
|
|
301
|
+
`at`, so callers retain it. An intent without a result remains explicit and
|
|
302
|
+
escalates; deliberate recovery uses a new invocation id instead of silently
|
|
303
|
+
repeating a possibly paid call. The journal's normal lock/dead-owner rules apply.
|
|
304
|
+
|
|
305
|
+
Decision records persist each named choice and its probabilities, so an explicit
|
|
306
|
+
evidence-ID question uses the same ledger and replay path. They do not automatically
|
|
307
|
+
retain arbitrary native response extensions or convert a selected ID into an `EvidenceRef`.
|
|
308
|
+
The record's `reason` (for example, `uncalibrated`) is a computed policy reason, not a
|
|
309
|
+
model-authored rationale; the receipt records accounting. Each additional routing question
|
|
310
|
+
needs its own policy and calibration, and an uncalibrated routing question escalates the invocation.
|
|
311
|
+
An explicitly `recordOnly: true` policy captures an ancillary choice without routing authority:
|
|
312
|
+
all its options must use `action: 'record'`, and it cannot carry a calibration certificate.
|
|
313
|
+
Its answer has `reason: 'record-only'`; provider failures still escalate. This policy does
|
|
314
|
+
not bypass the calibration or thresholds of another question. Reliability lists these questions
|
|
315
|
+
in `recordOnlyQuestions` and excludes them from outcome completeness and calibration curves;
|
|
316
|
+
a fully labeled decision needs at least one answered routing question.
|
|
317
|
+
|
|
318
|
+
`reliability()` groups the exact `definitionDigest`, including option sets and any retained
|
|
319
|
+
source map. Distinct window maps therefore do not form a cross-window probability curve.
|
|
320
|
+
For behavioral trace questions, use `calibrateBehavioralTraceQuestions` for semantic nominal
|
|
321
|
+
agreement across maps; it binds the stable semantic question digest and reports each disagreement's
|
|
322
|
+
selected event and map. A one-map result does not justify probability threshold tuning.
|
|
323
|
+
|
|
324
|
+
Call `observe({ runId, invocationId, labels, at, evidenceRefs })` later to join
|
|
325
|
+
independently observed option labels to a decision. This is the answer's truth,
|
|
326
|
+
not whether a downstream workflow happened to succeed. Retain the original
|
|
327
|
+
observation timestamp for exact replay. Conflicting labels refuse append.
|
|
328
|
+
`reliability()` reads the same ledger and returns total decisions, labeled and
|
|
329
|
+
missing outcomes, and per-question sample counts, empirical curves and threshold
|
|
330
|
+
accuracy. A curve needs two labels; otherwise it is `null`. Threshold tables are
|
|
331
|
+
development evidence for an explicit policy revision and fresh confirmation,
|
|
332
|
+
not automatic tuning or activation. Failed calls remain in the denominator.
|
|
333
|
+
|
|
334
|
+
Decision findings retain their measured layer and scope. The existing `/analyst`
|
|
335
|
+
`promote` is the only owner for generalizing claims; it does not authorize
|
|
336
|
+
routing and does not lift event/turn findings directly into run-level claims.
|
|
337
|
+
|
|
338
|
+
The data model permits many-to-many associations. The only intentional
|
|
339
|
+
one-to-one rules are one primary measure per hypothesis (to prevent choosing
|
|
340
|
+
a winner after seeing outcomes), with any number of secondary measures, and
|
|
341
|
+
one implementation per code concept (to prevent divergent owners).
|
|
342
|
+
|
|
343
|
+
Decision-point construction validates the complete calibration object, including nonempty structured evidence references, before any inference. Malformed configuration throws; well-formed evidence below the calibration bar still escalates. `observe()` returns a typed `invalid` result for uncloneable, noncanonical or malformed observation data without appending an outcome. A provider identity with surrounding whitespace is rejected as a failed evaluation; its durable escalation replays and remains readable by reliability reporting.
|
|
344
|
+
|
|
345
|
+
The existing behavioral analyst optionally applies bounded [trace questions](behavioral-trace-questions.md) through decision points; exact repeated tool calls stay computed.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tangle-network/agent-eval",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.221.1",
|
|
4
4
|
"description": "Evaluate and improve AI agents from runs, traces, judges, and feedback. Compare candidates, cluster failures, measure lift, and gate releases.",
|
|
5
5
|
"homepage": "https://github.com/tangle-network/agent-eval#readme",
|
|
6
6
|
"repository": {
|
|
@@ -229,15 +229,15 @@
|
|
|
229
229
|
"dependencies": {
|
|
230
230
|
"@asteasolutions/zod-to-openapi": "^9.1.0",
|
|
231
231
|
"@hono/node-server": "^2.1.1",
|
|
232
|
-
"@tangle-network/agent-core": "^0.13.
|
|
233
|
-
"@tangle-network/agent-interface": "^5.
|
|
232
|
+
"@tangle-network/agent-core": "^0.13.2",
|
|
233
|
+
"@tangle-network/agent-interface": "^5.7.1",
|
|
234
234
|
"@tangle-network/agent-trace-contract": "^2.0.0",
|
|
235
235
|
"@tangle-network/harness-sessions": ">=0.1.0 <0.2.0",
|
|
236
236
|
"hono": "^4.13.9",
|
|
237
237
|
"linear-sum-assignment": "1.0.9",
|
|
238
238
|
"re2js": "2.8.6",
|
|
239
239
|
"smol-toml": "1.9.0",
|
|
240
|
-
"zod": "4.6.
|
|
240
|
+
"zod": "4.6.6"
|
|
241
241
|
},
|
|
242
242
|
"devDependencies": {
|
|
243
243
|
"@arethetypeswrong/cli": "^0.18.5",
|